Skip to main content
Glama
apexradius

mcp-search-console

by apexradius

mcp-search-console

Multi-account Google Search Console MCP server for operators who need one MCP surface across multiple sites or clients without restarting the server.

Release posture: beta package, version 0.1.3 from pyproject.toml.

Choose your path

You are...

Start here

Then

Connecting the server to Claude/Codex/Cursor

docs/start-here.md

Quick start below

Auditing account routing or destructive guards

docs/architecture.md

gsc/server.py

Reviewing packaging or registry metadata

pyproject.toml

server.json

Related MCP server: searchconsole-mcp

Architecture

flowchart TD
  U[AI operator] --> C[MCP client]
  C --> S[FastMCP server]
  S --> M[Account manager]
  M --> F[Accounts config]
  M --> A[OAuth or service-account auth]
  S --> R[Retry wrapper]
  R --> G[Google Search Console API]
  G --> R --> S

Request flow

flowchart TD
  P[Operator asks for analytics or indexing data] --> T[Selected MCP tool]
  T --> A[Resolve named or default account]
  A --> B[Build authenticated GSC client]
  B --> C[Call Search Console endpoint]
  C --> D{API call succeeds?}
  D -- yes --> E[Return normalized JSON]
  D -- retryable --> F[Backoff and retry]
  F --> D
  D -- no --> G[Return error payload]

Quick start

  1. Install the package.

python -m pip install mcp-search-console-multi
  1. Create the accounts config.

mkdir -p ~/.config/mcp-search-console
cp accounts.example.json ~/.config/mcp-search-console/accounts.json
  1. Register it in your MCP client.

{
  "mcpServers": {
    "search-console": {
      "command": "uvx",
      "args": ["mcp-search-console-multi"],
      "env": {
        "GSC_ACCOUNTS_CONFIG": "/Users/you/.config/mcp-search-console/accounts.json"
      }
    }
  }
}

Available tools

Tool group

Tools

Purpose

Account routing

list_accounts, set_default_account, reauthenticate

Inspect accounts, switch defaults, refresh auth

Property inventory

list_properties, get_site_details

Discover accessible properties and permissions

Search analytics

get_search_analytics, get_performance_overview, compare_periods, get_advanced_search_analytics, get_search_by_page

Query search-performance data

Inspection and sitemaps

inspect_url, batch_inspect_urls, check_indexing_issues, list_sitemaps, get_sitemap, submit_sitemap, delete_sitemap

Inspect indexing and manage sitemap submissions

submit_sitemap and delete_sitemap stay behind the destructive flag documented in docs/start-here.md.

Runtime proof

Claim

Proof

Package entry point is stable

mcp-search-console-multi = "gsc.server:main" in pyproject.toml

Multi-account routing is first-class

AccountManager() and _get_manager() in gsc/server.py

Search Console calls are retried

with_retry() in gsc/server.py and gsc/retry.py

Auth is file-driven per account

accounts.example.json and gsc/accounts.py

Repo map

Path

Purpose

gsc/server.py

FastMCP tool surface and response normalization

gsc/accounts.py

Account config, auth loading, client construction

gsc/auth/

OAuth and service-account auth implementations

gsc/retry.py

Retry behavior for transient API failures

docs/start-here.md

Setup, env, validation, common failures

docs/architecture.md

Component map and runtime lifecycle

Validation

Check

Command

Import compiles

python -m compileall gsc

Package builds

python -m build

README/docs links stay local

rg '\\]\\(([^)]+\\.md)\\)' README.md docs/

License

MIT

Available Tools

17 tools
batch_inspect_urlsA

Inspect multiple URLs at once. Returns one result per URL. Maximum 10 URLs per call (GSC API limit).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
site_urlYes
page_urlsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

Discloses the API limit of 10 URLs per call, which is useful. However, with no annotations provided, the description does not state whether the operation is read-only or has side effects, nor does it mention authentication requirements or other behavioral traits beyond the limit.

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?

Two sentences with no wasted words. The key information (batch action, result per URL, limit) is front-loaded efficiently.

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 description is complete for a batch inspection tool given that a separate output schema exists (not described here). However, it lacks differentiation from the sibling tool 'inspect_url' and does not mention required parameters or common usage patterns, which would improve completeness.

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

Parameters2/5

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

Has 3 parameters with 0% schema description coverage. The description adds the constraint 'Maximum 10 URLs per call' related to page_urls, but does not explain account or site_url parameters. Most parameters remain undocumented.

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?

Clearly states the action 'Inspect multiple URLs at once' and the result 'Returns one result per URL'. It distinguishes from the sibling tool 'inspect_url' by indicating batch capability.

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?

Implies usage for multiple URLs but does not explicitly state when to use batch_inspect_urls versus inspect_url. Mentions a limit (max 10) but no when-not-to-use or alternative guidance.

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

check_indexing_issuesB

Check a list of URLs for indexing problems. Returns a prioritised summary of issues — more actionable than raw inspect_url output.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
site_urlYes
page_urlsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 must fully disclose behavior. It notes the output is a 'prioritised summary' but omits whether it is read-only, requires specific permissions, or has rate limits. This is a significant gap for a tool that likely reads data.

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

Conciseness3/5

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

The description is concise at 18 words, but it sacrifices necessary detail about parameters and behavior. It is front-loaded with the core action but could add value without becoming verbose.

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?

Given the lack of schema descriptions and annotations, the description should cover what each parameter means, whether the tool is read-only, and what the output schema provides. It fails to do so, leaving the agent with an incomplete understanding.

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

Parameters1/5

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

The input schema has 0% description coverage, yet the description provides no explanation of any parameter. 'site_url' and 'page_urls' are not defined, and the optional 'account' is not mentioned. This leaves the agent completely reliant on parameter names, which may be ambiguous.

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 checks URLs for indexing problems and provides a prioritised summary. It distinguishes itself from the sibling 'inspect_url' by claiming it is 'more actionable', which helps the agent differentiate.

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 use when a summarised, actionable view of indexing issues for multiple URLs is needed, contrasting with raw inspect_url output. However, it does not provide explicit when-not-to-use criteria or prerequisites.

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

compare_periodsB

Compare search performance between two date ranges. Returns rows for both periods side-by-side with delta calculations.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
site_urlYes
row_limitNo
dimensionsNo
period1_endYes
period2_endYes
period1_startYes
period2_startYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that rows are returned side-by-side with delta calculations, but does not mention data format, authentication, or limitations. Output schema may fill some gaps but is not referenced.

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?

Two sentences, front-loaded with purpose, no wasted words. Very efficient and scannable.

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?

Despite having an output schema, the description fails to cover input parameters (8 params, 5 required, 0% schema coverage). The agent lacks crucial information on how to properly invoke the tool, making it incomplete.

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

Parameters1/5

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

Schema description coverage is 0%, meaning no parameter descriptions in the schema. The description does not explain any of the 8 parameters (e.g., date format, dimensions), providing no semantic value for parameter selection.

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 verb 'compare' and the resource 'search performance between two date ranges', which is specific and distinguishes it from siblings like get_search_analytics (single period).

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 (compare periods) but offers no explicit guidance on when not to use or alternatives. It is adequate but lacks exclusion criteria.

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

delete_sitemapB

Delete a sitemap from Google Search Console. Requires GSC_ALLOW_DESTRUCTIVE=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
site_urlYes
sitemap_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 full burden. It states the tool is destructive and requires a flag, but does not disclose consequences, permissions, or irreversibility.

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?

Two sentences, no unnecessary words. The purpose and a key requirement are front-loaded.

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?

Despite having an output schema, the description leaves significant gaps: no parameter explanations, no usage dependencies (e.g., whether a sitemap must exist), and no mention of error scenarios. For a tool with 3 params and 0% schema coverage, this is insufficient.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any of the three parameters (account, site_url, sitemap_url). The agent gets no guidance on parameter meaning beyond their names.

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 verb 'Delete' and the resource 'sitemap from Google Search Console', which distinguishes it from sibling tools like submit_sitemap or list_sitemaps.

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 mentions a requirement ('Requires GSC_ALLOW_DESTRUCTIVE=true'), which provides usage context. However, it does not specify when to use this tool versus alternatives or provide when-not scenarios.

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

get_advanced_search_analyticsC

Advanced search analytics with dimension filters.

filters format: [{"dimension": "country", "operator": "equals", "expression": "usa"}] operators: equals, notEquals, contains, notContains, includingRegex, excludingRegex

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
filtersNo
end_dateYes
site_urlYes
row_limitNo
dimensionsNo
start_dateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It explains the filter format but omits side effects, authentication requirements, rate limits, or error handling. The required parameters are not highlighted, leaving the agent uninformed about essential inputs.

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 concise with only two sentences and an example, no redundant text. The filter format is front-loaded, making it easy to parse. However, it could be slightly expanded to cover key parameters without becoming verbose.

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?

Given the tool has 7 parameters, an output schema, and multiple sibling tools, the description is insufficient. It lacks context on when to use this versus similar tools (e.g., get_search_analytics), required parameter rationale, and return value expectations (though output schema may cover the latter). The description feels incomplete for effective agent usage.

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

Parameters2/5

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

Schema coverage is 0% (no parameter descriptions), so the description must compensate. It adds meaning only to the filters parameter with format and operator examples, but fails to describe the other six parameters (account, end_date, site_url, row_limit, dimensions, start_date). This leaves most parameters ambiguous.

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 tool provides advanced search analytics with dimension filters, using a specific verb ('get') and resource ('advanced search analytics'). It distinguishes from siblings like 'get_search_analytics' by implying enhanced functionality, but lacks explicit differentiation.

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 includes a filters format and list of operators, offering usage guidance for the filters parameter. However, it does not specify when to use this tool over alternatives like get_search_analytics or get_performance_overview, nor does it mention prerequisites or context.

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

get_performance_overviewA

Get a high-level performance summary: total clicks, impressions, CTR, average position. No dimension breakdown — use get_search_analytics for that.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
end_dateYes
site_urlYes
start_dateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It describes output metrics but does not disclose any behavioral traits like required permissions, date range behavior, or data freshness. Adequate for a read-only summary 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?

Two sentences, no fluff. First sentence states purpose and output, second provides alternative guidance. Every sentence earns its place.

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?

Output schema exists, so return values need not be explained. However, parameter semantics are missing and there is no mention of date range interpretation or site_url constraints. Minimal but workable for a simple summary tool.

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

Parameters2/5

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

Schema has 4 parameters with 0% description coverage. Description does not mention any parameters or their roles, leaving the agent to rely solely on schema types. No additional meaning provided beyond the schema.

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?

Description clearly specifies verb 'Get' and resource 'high-level performance summary' with explicit metrics (clicks, impressions, CTR, avg position). It distinguishes from sibling tool 'get_search_analytics' by noting no dimension breakdown.

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?

Directly tells when to use alternative ('use get_search_analytics for that'). Missing context on when not to use this tool beyond the dimension limitation, but the explicit alternative is strong guidance.

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

get_search_analyticsB

Fetch search analytics data (clicks, impressions, CTR, position).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount name from config (uses default if omitted)
end_dateYesEnd date in YYYY-MM-DD format
site_urlYesGSC property URL (e.g. 'https://example.com' or 'sc-domain:example.com')
row_limitNoNumber of rows to return (default 25, max 1000)
dimensionsNoList of dimensions — any of ['query', 'page', 'country', 'device', 'date']
start_dateYesStart date in YYYY-MM-DD format

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It does not disclose behavioral traits like aggregation behavior, data freshness, authentication requirements, or limits beyond what parameters imply.

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?

Single sentence is concise and front-loaded with the action. Could be slightly expanded for context without losing conciseness, but currently efficient.

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?

Despite having output schema and 6 parameters, the description is too brief. It does not clarify scope, common use cases, or how it differs from similar siblings, leaving the agent underinformed.

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 descriptions for all 6 parameters. The description adds no additional meaning beyond the schema, achieving the baseline.

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 'Fetch' and the resource 'search analytics data', listing specific metrics ('clicks, impressions, CTR, position'), which distinguishes it from sibling tools like get_performance_overview or get_advanced_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 on when to use this tool versus alternatives such as get_advanced_search_analytics or get_search_by_page. The description lacks context about scope or filtering.

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

get_search_by_pageC

Get search queries driving traffic to a specific page URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
end_dateYes
page_urlYes
site_urlYes
row_limitNo
start_dateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only states the function, but does not mention that it is read-only, any authentication requirements, rate limits, pagination, or other behaviors. The output schema exists but is not referenced.

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 (10 words total). It is front-loaded with the verb and resource. Could be expanded slightly without harming conciseness.

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?

Given the complexity of 6 parameters, an output schema, and many siblings, the description is too minimal. It does not mention return values, provide examples, or explain parameter relationships. The output schema's existence does not compensate for the missing description.

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

Parameters1/5

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

The input schema has 0% coverage of parameter descriptions. The overall description does not explain any of the 6 parameters (site_url, page_url, etc.) beyond implying that page_url refers to a specific page. For a tool with required parameters, this is severely lacking.

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 ('Get') and resource ('search queries') with a clear scope ('driving traffic to a specific page URL'). This clearly distinguishes it from broader sibling tools like get_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 provided on when to use this tool versus alternatives, such as get_search_analytics or get_advanced_search_analytics. The description does not include any when-to-use, prerequisites, or exclusions.

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

get_site_detailsB

Get verification and permission details for a specific GSC property.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
site_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavioral traits. It states 'Get' (read operation) but provides no details on authentication requirements, rate limits, or potential side effects. The minimal description offers little beyond the basic operation.

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 directly conveys the tool's purpose without extraneous words. It is front-loaded and efficient, ideal for quick comprehension.

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?

Given the lack of parameter descriptions and behavioral context, the description is incomplete for an agent to use effectively. The output schema exists, so return values are covered, but missing parameter semantics and usage cues limit completeness.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It only implies that 'site_url' is the property, but the 'account' parameter is entirely unexplained. Half of the parameters lack clarification, leaving ambiguity about its purpose or default behavior.

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 verb 'Get' and the specific resource 'verification and permission details for a specific GSC property'. This differentiates it from sibling tools like list_properties or inspect_url, as it focuses on a single property's verification/permission status.

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?

The description provides no guidance on when to use this tool versus alternatives such as list_properties or get_performance_overview. No when-not-to-use or prerequisite information is given, leaving the agent without context for selection.

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

get_sitemapC

Get details and status of a specific sitemap.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
site_urlYes
sitemap_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/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. It only says 'get' implying read-only, but does not disclose permissions, side effects, or status semantics. Minimal 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.

Conciseness4/5

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

Single sentence, no wasted words. However, it is too terse given the lack of parameter documentation, but conciseness itself is good.

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?

Given no annotations, missing parameter explanations, and an output schema that is not described, the description is incomplete for an agent to use correctly. Complexity is moderate but unaddressed.

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

Parameters2/5

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

Schema description coverage is 0% and the description does not explain any parameters. The account parameter's purpose and optionality are unclear. No added value beyond schema structure.

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 'Get' and resource 'specific sitemap', distinguishing it from sibling tools like list_sitemaps (list all) and delete_sitemap. However, it lacks additional specificity about what 'details and status' include.

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 on when to use this tool versus alternatives, nor prerequisites or exclusions. The context is implied but not explicit.

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

inspect_urlB

Inspect a URL's indexing status, last crawl date, mobile usability, and rich result eligibility.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
page_urlYes
site_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It names the outputs (indexing status, crawl date, etc.) implying read-only behavior, but does not explicitly state side-effect absence, rate limits, or auth requirements. It is minimally adequate.

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, well-structured sentence front-loads the purpose and lists key aspects concisely. No superfluous 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?

Given the presence of an output schema, return values need not be described. However, the description lacks parameter explanations and usage context, making it adequate but not comprehensive for a tool with 3 params and 0% schema descriptions.

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

Parameters2/5

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

Schema parameters (account, page_url, site_url) are not explained in the description. With 0% schema coverage, the description should compensate but adds no parameter meaning, leaving the agent to guess formats and relationships.

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 inspects a URL's indexing status, last crawl date, mobile usability, and rich result eligibility. It uses a specific verb ('Inspect') and resource ('URL'), and distinguishes from siblings like batch_inspect_urls (multiple URLs) and get_search_analytics (analytics data).

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 provided on when to use this tool vs alternatives, prerequisites (e.g., property access), or when not to use it. The description only states what it does, leaving the agent to infer usage context.

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

list_accountsA

List all configured GSC accounts and which is the current default.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

Despite no annotations, the description clearly states it lists accounts and the current default, implying a read-only operation with no side effects. This is sufficient for a simple list 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, well-structured sentence with no unnecessary words. It efficiently conveys the tool's core functionality.

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

Completeness5/5

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

For a zero-parameter tool with an output schema, the description adequately covers what the tool does. The return format is presumably detailed in the output schema, so no further context is needed.

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?

No parameters exist in the input schema, and schema coverage is 100%. The description does not need to add parameter information; baseline of 4 is appropriate.

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 'List' and resource 'configured GSC accounts', and explicitly mentions identifying the current default, which clearly states the tool's purpose and distinguishes it from siblings like set_default_account.

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 on when to use this tool versus alternatives. For example, it could mention that this is useful before calling set_default_account to see available accounts and the current default.

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

list_propertiesB

List all Google Search Console properties for the specified account.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden. While 'list' implies a read-only operation, the description does not explicitly state that it is safe or disclose any other behavioral traits (e.g., authentication, pagination, effect on state).

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, clear sentence with no wasted words. It is front-loaded with the action and resource.

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 simplicity of the tool (1 optional parameter, output schema exists), the description is adequate but lacks workflow context among siblings (e.g., it does not indicate that list_accounts should be called first to get account identifiers).

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

Parameters2/5

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

The schema has 0% description coverage, so the description must compensate. It mentions 'specified account', linking to the 'account' parameter, but does not explain what values are valid (e.g., format, source) or that default is null.

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 verb (list), resource (Google Search Console properties), and scope (all for specified account), distinguishing it from siblings like list_accounts (lists accounts) and get_site_details (details of a specific property).

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 context by mentioning 'for the specified account', but does not explicitly state when to use this tool versus alternatives (e.g., after list_accounts, before get_site_details). No exclusions or prerequisites are provided.

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 to GSC for this property.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
site_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/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 full burden. It only states a read operation ('List') but does not disclose any behavioral traits such as rate limits, authentication needs, or handling of empty results.

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?

Single sentence, 10 words, front-loaded with the action and resource. No redundant information.

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 existence of an output schema, the description does not need to detail return values. However, it lacks context about pagination or ordering, which would be helpful for a list operation. It is minimally adequate for a simple tool.

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

Parameters2/5

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

Schema description coverage is 0%. The description links site_url to 'this property' but does not explain the optional 'account' parameter or their formats, leaving ambiguity for the AI.

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 'List' and resource 'sitemaps', clearly scoped to a property via site_url. It distinguishes from sibling tools like submit_sitemap, delete_sitemap, and get_sitemap.

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?

The description implies usage when you need to list sitemaps for a property, but gives no guidance on when to choose this over siblings like list_accounts or list_properties, nor any exclusions or prerequisites.

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

reauthenticateA

Force re-authentication for an account. Clears the cached token and re-runs the OAuth flow (or reloads service account credentials). Useful when a token has been revoked or you need to switch Google accounts.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

No annotations provided; description fully discloses behavior: clears token, re-runs OAuth flow, works for service accounts. Good transparency, though could mention side effects like user interaction.

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?

Two sentences, front-loaded with action and mechanism, then use cases. No filler or repetition.

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?

Covers core behavior and use cases well. Simple tool with one optional param and output schema present, so return values need no explanation. Missing prerequisite info but not critical.

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

Parameters2/5

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

Schema has one optional 'account' parameter with 0% description coverage. Description does not clarify the parameter's purpose, leaving the agent guessing. Must compensate for low coverage but fails.

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?

Description clearly states the action (force re-authentication) and resource (account), with detailed mechanism (clears cached token, re-runs OAuth flow). Distinct from siblings focusing on data operations.

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?

Explicitly states when to use: token revoked or need to switch Google accounts. Implies specialized authentication tool among siblings, but lacks explicit when-not-to-use guidance.

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

set_default_accountA

Set the default account used when no account is specified in other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/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 states the immediate effect (setting the default account) but omits critical details such as persistence, scope (session vs global), validation of the account, and whether prior defaults are overwritten. This is a meaningful 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, focused sentence with no superfluous words. It front-loads the verb and resource, making it immediately understandable. Perfect conciseness.

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 description covers the basic purpose but lacks workflow context, such as referencing list_accounts to select a valid account, or clarifying whether the default persists across sessions. Given the tool's simplicity and the presence of an output schema, it is minimally adequate but leaves operational questions unanswered.

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

Parameters2/5

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

Schema description coverage is 0%, and the description provides no additional meaning for the 'account' parameter. It does not specify whether the account is an ID, name, or email, nor how to discover valid values (e.g., via list_accounts). The parameter remains ambiguous.

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 function: 'Set the default account used when no account is specified in other tools.' It uses a specific verb ('Set') and resource ('default account'), and explicitly distinguishes it from sibling tools by explaining its role as a global setting affecting other tools.

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 provides clear context on when to use the tool—when a default account is needed for other tools. It does not explicitly mention alternatives or exclusions, but the purpose is unambiguous and sufficient for a simple setter, earning a 4.

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

submit_sitemapB

Submit a sitemap to Google Search Console. Requires GSC_ALLOW_DESTRUCTIVE=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo
site_urlYes
sitemap_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Discloses destructive nature via the requirement flag, but lacks detail on post-submission behavior (e.g., validation, override). Without annotations, more context would be beneficial.

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?

Two sentences, no wasted words, front-loaded with the core action.

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?

Adequate for a simple tool with output schema, but lacks parameter descriptions and usage context, leaving gaps for an agent.

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

Parameters1/5

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

Schema description coverage is 0% and description adds no explanations for the parameters, especially 'account' which has ambiguous type and purpose.

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?

Description clearly states verb (submit) and resource (sitemap to Google Search Console), and distinguishes it from siblings like delete_sitemap and get_sitemap.

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?

Mentions requirement for GSC_ALLOW_DESTRUCTIVE=true, providing a usage prerequisite. However, no guidance on when to submit versus alternatives or when not to use.

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. 17 tool updatesv0.1.3
    • First observedbatch_inspect_urls
    • First observedcheck_indexing_issues
    • First observedcompare_periods
    • First observeddelete_sitemap
    • First observedget_advanced_search_analytics
    • First observedget_performance_overview
    • First observedget_search_analytics
    • First observedget_search_by_page
    • First observedget_site_details
    • First observedget_sitemap
    • First observedinspect_url
    • First observedlist_accounts
    • First observedlist_properties
    • First observedlist_sitemaps
    • First observedreauthenticate
    • First observedset_default_account
    • First observedsubmit_sitemap

TDQS

A3.6/5.0

Scored across 17 tools

Disambiguation5/5

Each tool targets a specific operation with clear boundaries. Search analytics tools are differentiated by scope and features (overview, compare, advanced, per-page). URL inspection tools distinguish single, batch, and actionable issue-checking.

Naming Consistency5/5

All tool names use lowercase with underscores following a consistent verb_noun pattern (e.g., list_accounts, submit_sitemap, inspect_url). No mixing of styles.

Tool Count4/5

17 tools is slightly above the typical 3-15 range, but each tool serves a distinct purpose within the Google Search Console domain. The count is justified by the breadth of functionality covered.

Completeness5/5

The tool set covers the full lifecycle: account management, property details, sitemap operations, multiple search analytics views, and URL inspection (single, batch, issue analysis). No obvious gaps for common GSC workflows.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Self-hosted MCP server that exposes Google Search Console tools (list sites, query analytics, inspect URL, list sitemaps) via natural language to AI assistants like ChatGPT and Claude.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A lightweight, fast MCP server for Google Search Console. Query search analytics, manage sitemaps, and inspect URLs directly from your AI assistant.
    7
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A unified MCP server that gives AI assistants direct access to Google Analytics 4, Google Search Console, Google Ads and Google Merchant Center data using OAuth2 user credentials.
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    MCP server integrating Google Search Console, Google Analytics 4, and GitHub, enabling AI clients to query search analytics, traffic data, and repository information.
    1
    -