---
title: "Connect a Search Console MCP server"
description: "Connect to gscdump MCP, verify registered sites and stored data, and separate client authorization from your Google connection."
canonical_url: "https://gscdump.com/learn-google-search-console/ai-agents/mcp-server"
last_updated: "2026-09-11"
---

A Search Console MCP server gives an agent tools for reading search data. Your client sends a tool request; the server returns data the agent can use in its answer.

For gscdump's hosted server, use:

```text
https://gscdump.com/mcp
```

Before connecting, sign in to gscdump and connect the Google account that has access to your Search Console property. Open [Add a site](/app/sites/add) and register the site you want to analyze. The setup below describes the hosted server. Other Search Console MCP servers can have different tools and authorization requirements.

## Choose the authorization method

Use MCP OAuth when your client supports it. The client opens a browser authorization flow for your gscdump account.

A user API key is available as a fallback for clients that can send a custom header. Get your own key from [gscdump settings](/app/settings), then use the client's supported secret configuration. The header takes this form:

```text
X-API-Key: YOUR_GSCDUMP_USER_API_KEY
```

The placeholder is a gscdump user API key. It is not a Google access token or a team API token. Keep the real value out of prompts and committed configuration.

For a documented command-line path, follow [Claude Code setup](/learn-google-search-console/ai-agents/claude-code-seo). Client menus and OAuth support differ, so don't copy another client's configuration without checking its instructions.

## Verify the first tool call

Ask the client to call `list-sites`. It lists registered sites accessible through gscdump, rather than every property your Google account can access. Then choose the returned public `siteId` for the site you intend to analyze.

The result includes the registered site URL, permission level, sync status, and recorded oldest and newest synced dates. A registered site can cover fewer URLs than its source Search Console property. The list does not identify that source property, so do not infer it from the site URL.

```text
Call list-sites and show the accessible registered sites.
For the site I choose, show its siteId, sync status,
and recorded oldest and newest synced dates.
If the tool fails, show the error instead of guessing.
```

If the list is empty, check that you added the site in gscdump and authorized the client with the right gscdump account. An authorization error and an unavailable analytics result need different fixes. A successful connection does not guarantee that stored analytics is ready.

## Make one bounded request

After selecting a site, try `get-pages` for a period within its recorded range. This illustrative argument object uses a placeholder ID and example dates:

```json
{
  "siteUrl": "SITE_ID_FROM_LIST_SITES",
  "startDate": "2026-09-01",
  "endDate": "2026-09-07",
  "limit": 20
}
```

Despite the argument name `siteUrl`, the tool accepts the public `siteId` returned by `list-sites`.

`get-pages` reads stored analytics and sorts pages by clicks. Its limit is capped at 1,000, and this tool has no pagination argument. A top-page list should not be described as every page on the site.

The recorded date range also doesn't certify every day within it. Row `firstDate` and `lastDate` fields can reflect requested endpoints. They are not proof that every date supplied observations.

If analytics cannot be read, the server returns an error. Follow an explicit retry hint when one is provided. Do not replace a failed tool result with an invented traffic summary.

## Inspect a URL for a different question

Use `inspect-url` when you need Google's indexed status for a particular URL. It uses the property's [URL Inspection quota](/learn-google-search-console/api/rate-limits#url-inspection-has-a-different-allowance) and may need a working Google authorization even when a stored-data query succeeded.

Google's [URL Inspection API reference](https://developers.google.com/webmaster-tools/v1/urlInspection.index/inspect) limits the result to the indexed version. It cannot test the current live page. One inspected URL also cannot establish the indexing state of every page on the property.

Once these checks work, use a [repeatable SEO workflow](/learn-google-search-console/ai-agents/seo-workflows). Keep the returned evidence alongside the agent's interpretation so you can tell which conclusions came from the data.

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
