Skip to main content
Glama
andrewjpyle

Google Search Console MCP

by andrewjpyle

Google Search Console MCP

A Model Context Protocol server that gives AI assistants (Claude Desktop, Claude Code, and any other MCP client) direct access to Google Search Console — search analytics, URL inspection, and sitemap management.

Every tool in this server makes a real Google Search Console / Web Search Indexing API call. There are no simulated, mocked, or "coming soon" tools.


Why this exists

Most SEO work starts with the same question — what is this site actually doing in search? — and then a few concrete actions: inspect a URL, submit a sitemap, nudge a page for indexing. This server puts that loop directly in front of an LLM, so you can ask an assistant "what are my top losing queries this month?" or "submit the new sitemap and inspect the three pages I just published" and have it happen against the live API.

It's a focused, dependency-light server with real engineering underneath: a namespaced TTL cache, retry with backoff, zod-validated inputs, and structured logging.

Related MCP server: Google Search Console MCP Server

Tools

Tool

Type

What it does

test_connection

read

Verify auth and connectivity to the API

list_sites

read

List all verified properties on the account

get_site_info

read

Permission level / details for one property

search_analytics

read

Clicks, impressions, CTR, position by dimension (query/page/country/device/date)

get_top_queries

read

Top queries over a lookback window

get_top_pages

read

Top pages over a lookback window

list_sitemaps

read

List submitted sitemaps for a property

submit_sitemap

write

Submit or resubmit a sitemap

get_indexing_status

read

URL Inspection API — index status, coverage, canonical, richness

request_indexing

write

Notify Google of a new/updated URL via the Web Search Indexing API

Scope note (read this). Google's public API only exposes a subset of what you can do in the Search Console UI. Operations like disavow-file uploads, hreflang configuration, crawl-rate, URL parameters, adding/removing properties, and URL removal have no public API and are therefore not included here — rather than ship fake versions of them. The crawl-errors API was retired by Google in 2019 and is likewise omitted. What's here is what the API genuinely supports.

Requirements

  • Node.js 18+

  • A Google Cloud project with the Search Console API enabled

  • Credentials for a Google account (or service account) that has access to the Search Console properties you want to use

Setup

git clone https://github.com/andrewjpyle/google_search_console_mcp.git
cd google_search_console_mcp
npm install
npm run build

Copy .env.example to .env and fill in one auth method:

  • OAuth2GOOGLE_SEARCH_CONSOLE_CLIENT_ID, GOOGLE_SEARCH_CONSOLE_CLIENT_SECRET, GOOGLE_SEARCH_CONSOLE_REFRESH_TOKEN

  • Service accountGOOGLE_SEARCH_CONSOLE_CREDENTIALS (the full JSON on one line). Add the service-account email as a user on each property.

Set GOOGLE_SEARCH_CONSOLE_SITE_URLS to a comma-separated list of the properties this server may act on. The first entry is the default when a tool omits site_url.

Use with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "google-search-console": {
      "command": "node",
      "args": ["/absolute/path/to/google_search_console_mcp/dist/index.js"],
      "env": {
        "GOOGLE_SEARCH_CONSOLE_CREDENTIALS": "{...service account json...}",
        "GOOGLE_SEARCH_CONSOLE_SITE_URLS": "https://example.com/"
      }
    }
  }
}

Use with Claude Code

claude mcp add google-search-console -- node /absolute/path/to/google_search_console_mcp/dist/index.js

(Provide the same environment variables via your shell or an .env file.)

Development

npm run dev      # run from source with tsx
npm test         # jest
npm run build    # tsc → dist/

Security

  • Credentials are read only from environment variables; nothing is hardcoded.

  • .env and any *credentials*.json are gitignored — keep them out of version control.

  • The two write tools (submit_sitemap, request_indexing) act on whatever properties your credentials can access. Scope GOOGLE_SEARCH_CONSOLE_SITE_URLS and your credentials to exactly the properties you intend to manage.

License

MIT © Andrew J. Pyle

Available Tools

10 tools
get_indexing_statusA

Inspect a URL with the URL Inspection API (index status, coverage, canonical, richness)

ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlNoThe site URL
inspection_urlYesThe URL to inspect

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It implies a read-only operation ('inspect') and lists the data categories returned, but it does not disclose any prerequisites (e.g., need for site_url), error conditions, or whether the operation has side effects. It provides some behavioral context but is not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the core action and then provides specific detail in parentheses. There is zero wasted words, and the structure is efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters and no output schema, the description covers the basic purpose and output categories, but it lacks important context: how to interpret the returned fields, the role of site_url, and when to use this over 'request_indexing'. The absence of annotations and output schema increases the need for descriptive context, which is only partially met.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters described. The description adds no additional meaning beyond the schema—it does not explain the relationship between site_url and inspection_url, such as site_url being the Search Console property. With full schema coverage, baseline is 3, and the description does not exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (inspect a URL) and the resource (URL), and lists specific data returned (index status, coverage, canonical, richness). This distinguishes it from siblings like 'request_indexing' (submission) and 'search_analytics' (aggregate metrics).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. It does not mention that this is for checking individual URL indexing status or that 'request_indexing' is for submitting URLs for indexing. The intended use case is implied but not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_site_infoA

Get details and permission level for a specific verified site

ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlNoThe site URL (e.g., https://example.com/ or sc-domain:example.com)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the burden of behavioral disclosure. It communicates that this is a read-style lookup and mentions a prerequisite ('verified site') but does not describe what details are returned, failure conditions, or authentication implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the purpose and key qualifier ('specific verified site') without wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although the tool is simple and the parameter is documented, there is no output schema and the description does not enumerate the 'details' or how permission level is expressed. An agent can call it correctly but may not know what response to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of the parameter with a reasonable description of the site_url format, so the description adds no needed meaning to the single parameter. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Get') and resource ('details and permission level for a specific verified site'), making it clear this is a targeted lookup rather than a list operation. It differentiates from siblings like list_sites by emphasizing 'specific' and 'permission level'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: use it when you have a specific verified site URL and want details about that site. It does not explicitly name alternatives or state when not to use it, leaving some routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_top_pagesA

Get the top performing pages for a site over a lookback window

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to look back
limitNoNumber of top pages to return
site_urlNoThe site URL

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description alone must carry the behavioral burden. It indicates a read-only 'Get' action, but it does not define what 'top performing' means (metric, ordering), pagination, date boundaries, or return format. This is a significant gap for an un-annotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. Every word earns its place and the core action is communicated immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with 3 optional params and no output schema. The description covers the basic purpose, but leaves ambiguity around the ranking metric and expected response shape, so it is adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The schema already documents days, limit, and site_url clearly; the description adds no additional parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Get'), resource ('top performing pages'), scope ('for a site'), and time window ('lookback window'). It clearly distinguishes this from siblings like get_top_queries (queries vs pages) and search_analytics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the resource: an agent seeking top pages would choose this over get_top_queries. However, the description gives no explicit when/when-not guidance or alternatives, leaving the agent to infer from the name and sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_top_queriesC

Get the top search queries for a site over a lookback window

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to look back
limitNoNumber of top queries to return
site_urlNoThe site URL

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates a read-only 'Get' action and a site/lookback scope, but it does not explain sorting logic, default behavior for missing parameters, what 'top' means, or any caveats about data freshness or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words and front-loads the action and object. It is concise and readable, but the brevity sacrifices useful sibling differentiation and usage context, so it is efficient rather than fully informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no annotations, no output schema, only optional parameters, and close siblings. The description does not specify return shape, how defaults like days and limit behave, what 'top' means, or when to prefer search_analytics or get_top_pages. This is a thin description for a tool that needs more contextual grounding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description only loosely echoes the 'lookback window' concept and adds no meaning beyond the schema for days, limit, or site_url. It does not clarify what metric determines 'top' or how site_url is used.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and resource ('top search queries') with a clear scoping clause ('for a site over a lookback window'). It is not a tautology, but it does not explicitly distinguish itself from the closely related sibling tools get_top_pages and search_analytics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. Sibling tools search_analytics and get_top_pages overlap conceptually with 'top queries', but the description never mentions them, nor does it state any preconditions or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_sitemapsB

List all sitemaps submitted for a site

ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlNoThe site URL

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the burden of behavioral disclosure, but it only restates the core operation. It does not state read-only intent, side effects, site_url format expectations, or return behavior, adding no information beyond the action itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence states the action and scope with no extraneous words. It is front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations, no output schema, and an ambiguous optional parameter, this description is incomplete. It fails to describe what the response contains, how to supply the site, or when to use the tool, leaving an agent to guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents site_url with 'The site URL', providing 100% parameter coverage. The tool description adds the context that sitemaps are listed for the site, but it does not clarify whether site_url is required or how it should be formatted given that 0 parameters are required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'List' with a clear resource—'sitemaps submitted for a site'—which distinguishes it from sibling tools like list_sites and submit_sitemap. It unambiguously names the object and scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as list_sites or submit_sitemap. There is no mention of prerequisites, when a sitemap list would be needed, or how site_url should be selected.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_sitesA

List all verified sites in the authenticated Search Console account

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations include readOnlyHint=true and destructiveHint=false, which already tell the agent this is a safe read operation. The description adds that it returns 'sitemap metadata and processing status,' which is useful behavioral context beyond the annotations. However, it does not disclose details like whether the list is paginated, whether it includes only submitted sitemaps or also discovered ones, or whether it requires specific permissions. Since the annotations cover the safety profile, a 3 is appropriate – the description adds some value but not rich behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the action ('Retrieves the list of all sitemaps') and then adds relevant detail ('including sitemap metadata and processing status'). There is no wasted wording, and every part of the sentence adds value. It is appropriately sized for a simple read tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the annotations (readOnlyHint=true, destructiveHint=false), and the presence of an output schema (which likely describes the return structure), the description is nearly complete. It tells the agent what the tool returns (sitemap list with metadata and status) and the scope (for a site). The only minor gap is that it doesn't explicitly state that this is for checking existing sitemaps rather than submitting new ones, but the sibling list and the verb 'Retrieves' make that clear. A 4 is appropriate because it is complete for a simple read tool, but not perfect due to the lack of explicit usage guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 2 parameters with 100% schema_description_coverage, meaning the schema already documents both parameters. The description does not add any parameter-specific meaning beyond what the schema provides. It mentions 'for a site' which likely maps to a site identifier parameter, but this is not explicit. Baseline 3 is correct when the schema does the heavy lifting, and the description does not compensate further.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Retrieves the list of all sitemaps submitted for a site, including sitemap metadata and processing status.' It uses a specific verb ('Retrieves') and resource ('list of all sitemaps'), and it distinguishes itself from siblings like 'submit_sitemap' and 'request_indexing' by focusing on retrieval of sitemap data. The mention of 'submitted for a site' adds context that it is site-scoped, which helps an agent understand its role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating it retrieves sitemaps for a site, which is a clear context for when to use it (when you need to see submitted sitemaps or their status). It does not explicitly name alternatives or exclusions, but the sibling list includes 'submit_sitemap' and 'request_indexing', which are clearly different actions. The description could be improved by explicitly saying 'Use this to check sitemap status, not to submit or request indexing,' but the current wording is sufficient for an agent to infer the correct usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_indexingB

Notify Google of a new or updated URL via the Web Search Indexing API — a real write operation

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to submit for indexing
site_urlNoThe site URL

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the full burden of behavioral disclosure. It does flag the operation as a write, but it omits consequences, idempotency, authentication requirements, rate limits, and failure behavior. This is a significant gap for a mutating tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that delivers the core purpose with no wasted words. It is front-loaded with the action and resource, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a write operation with no annotations or output schema, so the description needs to explain return values, side effects, and usage context. It only covers the action, leaving the agent without enough information to confidently decide when and how to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both url and site_url are fully documented in the schema. The description adds no parameter-specific details, but it is not required to compensate since the schema is complete. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Notify Google), the resource (a new or updated URL), and the method (Web Search Indexing API). It explicitly calls out that this is a 'real write operation', which distinguishes it from read-oriented siblings like get_indexing_status and search_analytics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as submit_sitemap or test_connection. It does not mention scenarios, prerequisites, or when to avoid it, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_analyticsB

Query Search Analytics data (clicks, impressions, CTR, position) by dimension

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNoEnd date (YYYY-MM-DD)today
site_urlNoThe site URL
row_limitNoMaximum number of rows
dimensionsNoDimensions (query, page, country, device, searchAppearance, date)
start_dateNoStart date (YYYY-MM-DD)7daysAgo
search_typeNoType of search (web, image, video, news, discover, googleNews)web

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It indicates a read-only aggregate query and lists result metrics, but it does not mention the practical site_url requirement, date-range defaults, dimension compatibility, row limits, or output shape. These are material behavioral details absent from the description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler, and the main operation is front-loaded. It is concise while still conveying the core purpose and key output metrics.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a fairly simple query tool with complete schema coverage, the description is minimally adequate for basic invocation, especially because defaults and parameter options are already in the schema. However, there is no output schema, no usage context versus siblings, and the logically required site_url is not highlighted. This is a thin definition for a tool with six parameters and competing sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 even with no parameter details in the description. The description adds little beyond the schema: 'by dimension' rehashes the dimensions parameter, and the metrics list describes output rather than parameter mechanics. No additional parameter semantics are supplied.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the operation ('Query Search Analytics data') and names the principal resource and metrics returned (clicks, impressions, CTR, position). However, it does not explicitly differentiate this from sibling tools like get_top_queries or get_top_pages, which are obvious alternatives for the same data at different granularities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to prefer search_analytics over get_top_queries or get_top_pages, and no exclusions or prerequisites are mentioned. The phrase 'by dimension' only implies a general grouping use case. This leaves tool selection to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_sitemapA

Submit (or resubmit) a sitemap to Search Console — a real write operation

ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlNoThe site URL
sitemap_urlYesThe full sitemap URL (e.g., https://example.com/sitemap.xml)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does explicitly warn that this is 'a real write operation,' which is a useful safety signal. However, it does not mention permissions, side effects, idempotence, or expected response behavior, leaving a notiecable gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It states the action and resource immediately, and the phrase 'a real write operation' earns its place as a clear behavioral safety cue.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simple 2-param schema and full schema coverage, the description covers the core action and mutation risk. But it lacks explicit guidance on how to choose this tool over siblings and says nothing about post-submission expectations or verification requirements, so it is adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents both parameters at 100% coverage, so the baseline is 3. The description adds no additional parameter-level detail, but it also doesn't need to because the schema already defines the sitemap_url format and site_url nuance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Submit') with an explicit alternative ('resubmit'), names the concrete resource ('a sitemap to Search Console'), and flags the write nature of the operation. This clearly differentiates it from read-oriented sibling tools like list_sitemaps and get_indexing_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (whenever you need to submit or resubmit a sitemap), but it does not explicitly route the agent to alternatives such as list_sitemaps for inspecting existing sitemaps or request_indexing for URL-level requests. There is no when-not or exclusions guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

test_connectionB

Test connection and authentication to the Google Search Console API

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'test connection and authentication', which is vague. It does not state whether the operation is read-only, what happens on success or failure, whether it makes a network call, or what the response looks like. The agent cannot anticipate side effects or return values.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no wasted words. It is appropriately sized for a tool with no parameters and clearly states its purpose upfront.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and no annotations, the description should explain what the agent can expect when calling it. It does not mention return values, error behavior, or any side effects. An agent using this tool would be left guessing about how to interpret the result, making the definition incomplete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the schema coverage is trivially 100%. Per the rubric, a 0-parameter tool gets a baseline of 4. The description has nothing to add about parameters, and no gaps exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Test' and the resource 'connection and authentication to the Google Search Console API'. It is distinct from siblings like list_sites or search_analytics, which focus on specific operations. However, it does not explicitly contrast itself with the siblings, only implies a distinct purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. It does not mention that it is typically called first to verify authentication before other API calls, nor does it specify any exclusions or prerequisites. An agent has to infer its role from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv1.0.0
    • First observedget_indexing_status
    • First observedget_site_info
    • First observedget_top_pages
    • First observedget_top_queries
    • First observedlist_sitemaps
    • First observedlist_sites
    • First observedrequest_indexing
    • First observedsearch_analytics
    • First observedsubmit_sitemap
    • First observedtest_connection

TDQS

A3.5/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have clearly distinct purposes, but get_top_queries and get_top_pages overlap heavily with search_analytics since they are likely convenience wrappers around the same Analytics API. Agents could misselect between these, though descriptions help clarify the intent.

Naming Consistency4/5

Tool names mostly follow a consistent verb_noun pattern like list_sites, get_site_info, submit_sitemap. The main deviation is search_analytics, which is a noun phrase rather than get_ or list_ style, creating a minor inconsistency.

Tool Count5/5

10 tools is well-scoped for a Google Search Console MCP server. Each tool covers a meaningful area of the API—sites, search analytics, indexing, sitemaps, and connection testing—without unnecessary bloat or redundancy.

Completeness4/5

The tool set covers the primary Search Console workflows: site verification inspection, analytics queries, sitemap management, and indexing requests. Minor gaps exist such as no delete/remove sitemap or explicit URL removal tool, but these are not core workflows for most users.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Connects AI assistants to Google Search Console data for SEO analysis, including search analytics, URL inspection, sitemaps, indexing, and opportunity detection.
    17
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Connects Google Search Console to AI assistants, enabling natural language analysis of SEO data. Provides read-only tools for properties, search analytics, URL inspection, and sitemaps.
    15
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to query and manage Google Search Console data, including search analytics, URL indexing status, and sitemap management, for SEO and LLMO analysis directly from a conversation.
    15
    2,390 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to access Google Search Console search performance and index health data, including clicks, impressions, rankings, URL inspection, and sitemap management.
    10 npm
    MIT