Google Search Console MCP Intel Engine
Transforms raw Google Search Console signals into actionable marketing insights, providing tools for search appearance audit, intent segmentation, citation opportunities, technical citation audit, brand visibility, and intent efficiency.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Search Console MCP Intel Engineanalyze my search appearance for cannibalization signals"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Search Console (GSC) MCP Server π
Model Context Protocol (MCP) server for Google Search Console: search performance analytics, keyword rankings, sitemap inspection, and indexing health for AI agents.
π Live Documentation & Web Portal: https://gsc.builditwithai.xyz
β‘ Quickstart
# 1-Line Universal Installer (Auto-configures Claude Desktop, Cursor, Claude Code, Antigravity, VS Code, Zed, Windsurf)
curl -fsSL "https://gsc.builditwithai.xyz/install" | bash
# Or run directly via your preferred runtime:
uvx google-search-console-mcp
npx -y @surendranb/google-search-console-mcpRelated MCP server: GSC SEO MCP
π€ Client Setup
A. Claude Code (CLI)
claude mcp add google-search-console -- uvx google-search-console-mcpB. Cursor & Google Antigravity (mcp.json)
{
"mcpServers": {
"google-search-console": {
"command": "uvx",
"args": ["google-search-console-mcp"]
}
}
}C. Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"google-search-console": {
"command": "uvx",
"args": ["google-search-console-mcp"],
"env": {
"GSC_SITE_URL": "https://example.com/",
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/service_account.json"
}
}
}
}D. VS Code (Cline / Roo Code / Continue)
{
"mcpServers": {
"google-search-console": {
"command": "npx",
"args": ["-y", "@surendranb/google-search-console-mcp"]
}
}
}π οΈ Tools & Capabilities
Tool Name | Parameters | Description | Return Type |
|
| Queries organic search clicks, impressions, CTR, and average position grouped by query, page, country, device, and date. |
|
| (none) | Lists all verified web properties in Google Search Console with permission levels. |
|
|
| Real-time URL inspection for index status, crawl issues, canonicalization, and mobile usability. |
|
|
| Retrieves all submitted XML sitemaps, last download date, and indexed URL counts. |
|
|
| Submits a new XML sitemap directly to Google Search Console. |
|
|
| Removes an obsolete or incorrect sitemap from Search Console. |
|
|
| Loads expert SEO diagnostic playbooks dynamically from GitHub. |
|
| (none) | Lists all available live GSC analytical skills. |
|
π Telemetry & Privacy
This package collects anonymous, non-PII diagnostic telemetry (command executions, latency, error codes) to improve tool reliability. No queries, user credentials, personal data, source code, or environment variables are ever collected or stored.
You can opt out anytime by setting either of the following environment variables:
export DO_NOT_TRACK=1
# or
export MCP_TELEMETRY_OPT_OUT=1π License
MIT License. See LICENSE for details.
Available Tools
10 toolsdelete_sitemapADestructiveIdempotent
Delete a sitemap from Google Search Console.
Args: sitemap_url: Full URL of the sitemap to delete
Returns: Success message or error details.
| Name | Required | Description | Default |
|---|---|---|---|
| sitemap_url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false, so the agent knows this is a destructive operation. The description adds that it returns a success message or error details, but does not disclose irreversibility, side effects, or idempotency nuances beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured: a clear one-line purpose, an Args section explaining the parameter, and a Returns section. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with destructive annotations and no output schema, the description covers the action, argument, and return format. It does not mention prerequisites (e.g., GSC access setup) or side effects, but the annotations and sibling tools provide enough context for this low-complexity tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only specifies sitemap_url as a required string with 0% description coverage. The description compensates by explaining it as 'Full URL of the sitemap to delete', which adds meaningful semantics the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Delete a sitemap from Google Search Console' with a specific verb and resource, clearly distinguishing it from sibling tools like get_sitemaps and submit_sitemap. The action is unambiguous and directly reflects the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided about when to use this tool versus alternatives. The sibling list (e.g., get_sitemaps, submit_sitemap) implies its role in the sitemap lifecycle, but the description does not name when to prefer this tool or exclude other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_search_analyticsARead-onlyIdempotent
Retrieve Google Search Console search analytics data.
Args: dimensions: List of dimensions from: country, device, page, query, searchAppearance, date start_date: Start date in YYYY-MM-DD format (defaults to 30 days ago) end_date: End date in YYYY-MM-DD format (defaults to 3 days ago) filters: List of filter objects (e.g., [{"dimension": "country", "operator": "equals", "expression": "usa"}]) search_type: Type of search ('web', 'image', 'video', 'news', 'discover', 'googleNews') row_limit: Maximum number of rows to return (max 25000) start_row: Starting row for pagination (0-based) summary_only: If True, returns only aggregated totals (Token Efficient) intent: Short plain-English description of what the user is trying to learn/accomplish. E.g. "which queries drive clicks to the pricing page", "mobile vs desktop performance last month".
Returns: Dictionary containing search analytics data with clicks, impressions, ctr, and position metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| filters | No | ||
| end_date | No | ||
| row_limit | No | ||
| start_row | No | ||
| dimensions | No | ||
| start_date | No | ||
| search_type | No | web | |
| summary_only | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, open-world, and idempotent hints. The description adds useful context: summary_only token efficiency, start_row pagination, and return metric names. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is well-organized with a one-sentence purpose, an Args list, and a Returns line. All sentences provide unique value; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 9 optional parameters, the description covers all key behaviors: pagination, token-efficient summary, date formats, and return metrics. With an output schema present, return details need not be exhaustive. Could mention filter operators or dimension combinations, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description carries full burden. It thoroughly explains all 9 parameters with types, examples, defaults, and max rows, going beyond the schema. The intent parameter is clarified with a plain-English example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Retrieve') and resource ('Google Search Console search analytics data'), clearly differentiating from siblings like list_gsc_sites and list_available_dimensions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives like list_gsc_sites or list_available_dimensions. It implies analytics retrieval but doesn't state exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sitemapsARead-onlyIdempotent
Get all sitemaps for the configured site.
Returns: List of sitemaps with their status and details.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, covering safety. The description adds that it returns a list with status and details, which is useful context. However, it does not disclose any rate limits, pagination, or specifics about the configured site, so transparency is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single purpose sentence followed by a brief return statement. Every word earns its place, and the structure is front-loaded with the action and resource. No unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema) and strong annotations, the description is complete. It states what it returns ('List of sitemaps with their status and details') and clarifies the scope ('configured site'). This is sufficient for an agent to invoke and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description adds meaning by stating 'for the configured site,' which implies no parameters are needed because the scope is predefined. This helps agents understand why the tool requires no arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource: 'Get all sitemaps for the configured site.' This clearly states what the tool does and distinguishes it from siblings like submit_sitemap and delete_sitemap, which perform different actions. The 'Returns' line adds clarity about the output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (you use this when you need to retrieve sitemaps) but does not explicitly state when to use it versus alternatives. It does not mention related tools or conditional guidance, so it relies on the inherent clarity of the name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_available_dimensionsARead-onlyIdempotent
List all available GSC dimensions with their descriptions.
Returns: List of dimension objects with api_name and description.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, and idempotentHint=true, which cover the safety profile. The description adds the return format (list of objects with api_name and description), which is useful. It does not contradict annotations, but it does not disclose additional behavioral traits such as ordering, data source, or pagination. Given the simple nature and strong annotations, this is adequate but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that state the purpose and the return format. There is no filler or redundant content. Every word adds value, making it highly efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is simple with no parameters, has robust annotations, and the description explains the return format, it is nearly complete for its purpose. It could optionally mention that 'GSC' means 'Google Search Console' or provide an example, but these are minor gaps. Overall, the description provides sufficient context for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty with 100% coverage. Since there are no parameters to clarify, the description does not need to add parameter semantics. The baseline for 0 parameters is 4, and the description provides no misinformation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'List all available GSC dimensions with their descriptions.' The verb 'List' is specific, the resource 'GSC dimensions' is precise, and it inherently distinguishes from sibling tools like 'list_available_metrics' (metrics versus dimensions) and 'list_gsc_sites' (sites versus dimensions).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by clearly stating the tool lists dimensions, which is distinct from the sibling tools focused on metrics or sites. However, it does not explicitly provide guidance on when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. The usage context is implied rather than explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_available_metricsARead-onlyIdempotent
List all available GSC metrics with their descriptions.
Returns: List of metric objects with api_name and description.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is established. The description adds transparent return-structure information ('List of metric objects with api_name and description'), which is useful beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally conciseβtwo short sentences. It front-loads the core purpose and then provides a brief return structure, with no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only listing tool, the description is complete. It states what the tool does, the return format, and with annotations covering safety, no other context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the baseline is 4. The description correctly notes no inputs are needed, and there is no parameter ambiguity to resolve.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all available GSC metrics with descriptions, using a specific verb ('List') and resource ('GSC metrics'). It distinguishes itself from the sibling tool list_available_dimensions by explicitly focusing on metrics rather than dimensions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the usage context clear: use this tool when you need to enumerate all available metrics and their descriptions. It doesn't explicitly mention alternatives or exclusion cases, but the scope is well-defined enough for an agent to discern when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_gsc_sitesARead-onlyIdempotent
List all sites verified in Google Search Console.
Returns: List of verified sites with their permission levels.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the description adds only the return format ('List of verified sites with their permission levels'). This is minimal additional context, not covering auth needs or side effects, but sufficient given annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, with two short sentences providing purpose and return value. No waste or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list operation, the description is fully complete. It states what it does and what it returns, and the annotations cover safety and idempotency. No output schema is needed for such a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description correctly focuses on the operation and return value, needing no parameter explanations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all sites verified in Google Search Console' with a specific verb and resource. It distinguishes from sibling tools like get_sitemaps or get_search_analytics which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the tool's name and description, but there is no explicit guidance on when to use it versus alternatives. For a simple list operation with no prerequisites, the absence of exclusions is acceptable, but it falls short of clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_gsc_accessAIdempotent
Interactively fix a broken Google Search Console MCP setup (missing or wrong credentials path, missing GSC_SITE_URL, invalid key, or missing property access) by asking the user for the needed value through the client, then re-initializing without a restart. Call this whenever a configuration or authentication error is reported.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the safety profile (not read-only, idempotent, non-destructive). The description adds valuable behavioral context: it is interactive (asks the user for needed value through the client) and re-initializes without a restart. This goes beyond annotations and sets clear expectations for side effects and process.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose ('Interactively fix a broken Google Search Console MCP setup') and immediately followed by concrete examples. Every sentence earns its place with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, interactive setup tool with no output schema, the description covers what it does, how it operates (asking the user), and when to call it. While it does not describe expected return values or post-fix confirmation, the simplicity and interactive nature make the description sufficient for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema shows an empty object. The baseline for zero-parameter tools is 4, as there is no parameter information to explain. The description does not need to compensate for missing parameter docs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's verb ('fix') and resource ('Google Search Console MCP setup') and enumerates specific failure modes (missing credentials path, wrong GSC_SITE_URL, invalid key, missing property access). This distinguishes it from sibling tools like list_gsc_sites or get_sitemaps, which are read-only data tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: 'Call this whenever a configuration or authentication error is reported.' While it does not explicitly mention when not to use or name alternatives, the context is clear and no sibling tool serves a similar purpose, providing sufficient guidance for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skill_readARead-onlyIdempotent
Fetch the full content of one analytical skill (playbook) for Google Search Console.
Args: skill_id: The skill id from skills_list (e.g., "brand_visibility.md")
Returns: The full skill content with title, description, and playbook steps.
| Name | Required | Description | Default |
|---|---|---|---|
| skill_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnlyHint and idempotentHint, the safety profile is covered. The description adds value by explicitly stating the return structure ('title, description, and playbook steps'), which is not present in the annotations. It also clarifies the dependency on skills_list for ID sourcing, adding behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise and well-structured, with a brief introductory sentence followed by clear Args and Returns sections. Every sentence earns its place, including the example. There is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and no output schema, the description is complete. It covers the purpose, parameter semantics, and return value structure. The reference to skills_list provides necessary context for the expected workflow. Given the low complexity, nothing further is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description for skill_id, but the description's Args section compensates well by explaining it as 'The skill id from skills_list' and providing an example ('brand_visibility.md'). This gives the agent concrete guidance on where to obtain the value and its expected format, significantly exceeding the schema's bare type definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Fetch the full content of one analytical skill (playbook)' with a specific verb and resource. It distinguishes itself from sibling tools like skills_list (which presumably lists skills) by focusing on fetching a single skill's full content. The phrase 'one analytical skill' also clarifies the singular scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by instructing the agent to get the skill_id from skills_list and gives an example ID. It also implies the appropriate workflow (list first, then read). However, it does not explicitly mention when not to use this tool or name alternatives, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skills_listARead-onlyIdempotent
List available analytical skills (playbooks) for Google Search Console. Use this to learn proven field combinations and how to interpret GSC data for specific SEO tasks. Fetch the full playbook with skill_read.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint and idempotentHint, and the description does not contradict them. However, the description adds minimal behavioral context beyond the fact that it lists items; no additional details such as return format, rate limits, or scope limitations are provided. For a simple list operation, this is acceptable but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of three short, front-loaded sentences that first state the primary action, then explain the use case, and finally suggest the next step with skill_read. Every sentence earns its place; no unnecessary details or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no output schema, and a simple purpose, the description sufficiently explains what the tool does and how to proceed after listing. It covers the essential context for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description is not expected to explain any parameter syntax or semantics. Baseline of 4 for 0 params applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and a specific resource ('available analytical skills (playbooks) for Google Search Console'). It is clearly distinct from sibling tools like list_available_dimensions or list_available_metrics, and from skill_read which fetches a full playbook.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states when to use the tool ('Use this to learn proven field combinations and how to interpret GSC data for specific SEO tasks') and points to an alternative for the next step ('Fetch the full playbook with skill_read'). It does not explicitly state when not to use it, but the guidance is clear enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_sitemapBIdempotent
Submit a sitemap to Google Search Console.
Args: sitemap_url: Full URL of the sitemap to submit
Returns: Success message or error details.
| Name | Required | Description | Default |
|---|---|---|---|
| sitemap_url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and destructiveHint=false, which the description does not contradict. However, the description adds little beyond a trivial 'Success message or error details' return statement, and it does not disclose any additional behavioral context such as asynchronous processing or submission limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with clear labels for Args and Returns. Every sentence serves a purpose, and there is no redundant fluff or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description covers the basics: action, parameter, and return type. However, it lacks important contextual information such as the need for Google Search Console access setup, potential side effects, or relationship to sibling tools, making it incomplete for a fully-informed invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description states 'sitemap_url: Full URL of the sitemap to submit', which adds the meaning that the URL must be a full (absolute) URL, partially clarifying the schema's generic 'string' type. However, the signal indicates zero schema description coverage, and the description does not mention constraints like valid formats or allowed protocols, so it does not fully compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Submit a sitemap to Google Search Console'. This clearly distinguishes it from sibling tools like get_sitemaps and delete_sitemap, which have different actions on the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor does it mention any prerequisites such as needing setup_gsc_access or verifying site ownership. It is a bare description with no contextual usage suggestions.
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. Dates show when Glama detected each change.
7 tool updates
v0.10.1- Changed
delete_sitemap1 field changed- changed
Input schema / properties / sitemap_url / titlePrevious value: -"sitemap_url"New value: +"Sitemap Url"
- Changed
get_search_analytics21 fields changed- added
Input schema / properties / dimensions / itemsAdded value: +{ + "type": "string" +} - changed
Input schema / properties / dimensions / titlePrevious value: -"dimensions"New value: +"Dimensions" - changed
Input schema / properties / dimensions / typePrevious value: -"string"New value: +"array" - added
Input schema / properties / end_date / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - changed
Input schema / properties / end_date / titlePrevious value: -"end_date"New value: +"End Date" - removed
Input schema / properties / end_date / typeRemoved value: -"string" - added
Input schema / properties / filters / anyOfAdded value: +[ + { + "items": { + "additionalProperties": true, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } +] - changed
Input schema / properties / filters / titlePrevious value: -"filters"New value: +"Filters" - removed
Input schema / properties / filters / typeRemoved value: -"string" - added
Input schema / properties / intentAdded value: +{ + "default": null, + "title": "Intent", + "type": "string" +} - changed
Input schema / properties / row_limit / titlePrevious value: -"row_limit"New value: +"Row Limit" - changed
Input schema / properties / row_limit / typePrevious value: -"string"New value: +"integer" - changed
Input schema / properties / search_type / titlePrevious value: -"search_type"New value: +"Search Type" - added
Input schema / properties / start_date / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - changed
Input schema / properties / start_date / titlePrevious value: -"start_date"New value: +"Start Date" - removed
Input schema / properties / start_date / typeRemoved value: -"string" - changed
Input schema / properties / start_row / titlePrevious value: -"start_row"New value: +"Start Row" - changed
Input schema / properties / start_row / typePrevious value: -"string"New value: +"integer" - changed
Input schema / properties / summary_only / titlePrevious value: -"summary_only"New value: +"Summary Only" - changed
Input schema / properties / summary_only / typePrevious value: -"string"New value: +"boolean" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$defs": { + "SearchAnalyticsResult": { + "properties": { + "data": { + "items": { + "additionalProperties": true, + "type": "object" + }, + "title": "Data", + "type": "array" + }, + "error": { + "title": "Error", + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "title": "Metadata", + "type": "object" + }, + "summary": { + "additionalProperties": true, + "title": "Summary", + "type": "object" + } + }, + "title": "SearchAnalyticsResult", + "type": "object" + } + }, + "properties": { + "result": { + "anyOf": [ + { + "$ref": "#/$defs/SearchAnalyticsResult" + }, + { + "type": "string" + } + ], + "title": "Result" + } + }, + "required": [ + "result" + ], + "title": "get_search_analyticsOutput", + "type": "object" +}
- Removed
search_skills - Added
setup_gsc_access - Added
skill_read - Added
skills_list - Changed
submit_sitemap1 field changed- changed
Input schema / properties / sitemap_url / titlePrevious value: -"sitemap_url"New value: +"Sitemap Url"
8 tool updates
v0.6.0- First observed
delete_sitemap - First observed
get_search_analytics - First observed
get_sitemaps - First observed
list_available_dimensions - First observed
list_available_metrics - First observed
list_gsc_sites - First observed
search_skills - First observed
submit_sitemap
TDQS
Each tool targets a distinct resource or action: sites, dimensions, metrics, skills, sitemaps, analytics, and setup. The only similar pair is skills_list/skill_read but they are clearly list vs. fetch-content, matching the standard pattern. No meaningful overlap.
Most tools follow a clear verb_noun snake_case pattern (list_, get_, submit_, delete_, setup_). However, skills_list and skill_read invert the convention to noun_verb, which is a minor but noticeable deviation from the dominant pattern.
Ten tools is well-scoped for a GSC integration, covering metadata discovery, sitemap management, analytics retrieval, skills/playbooks, and setup. Each tool has a clear role without redundancy or bloat.
The surface covers core GSC workflows: listing sites, querying analytics, managing sitemaps, and enumerating dimensions/metrics. Minor gaps exist, such as no direct URL inspection tool or ability to fetch a single site's details, but these can be worked around with existing tools.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Turn Search Console data into SEO actions, content, publishing, indexing, and AI insights.
SEO & marketing toolkit for AI agents: GA4, Search Console, AdSense, GTM, PageSpeed, Trends.
SEO answers for AI agents: Search Console reads free, plus competitor, keyword, backlink, SERP data.
- VibeSEOOAuthdev.vibeseo
SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for querying Google Search Console data β search analytics, URL inspection, sitemap monitoring, and more β read-only tools for any MCP-compatible AI client.7Apache 2.0
- AlicenseBqualityBmaintenanceProfessional Google Search Console MCP server providing 40+ SEO tools for performance analysis, content decay, CTR opportunities, and more, enabling real search data in clients like Cursor and Claude.40196MIT

Cituna MCP Serverofficial
AlicenseAqualityCmaintenanceBrings Cituna's AI visibility tracking, audits, and Google Search Console data into Claude via MCP.162391MIT- AlicenseNot gradedqualityAmaintenanceEnables natural-language, read-only analysis of your own Google Search Console and Google Analytics 4 data, including search performance, engagement, sitemap health, ranking opportunities, and deterministic SEO audits through MCP clients like ChatGPT.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/surendranb/google-search-console-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server