GSC MCP Server
Provides tools to query search analytics, inspect URLs, manage sitemaps, and compare performance across time periods using the Google Search Console API.
Click on "Deploy 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., "@GSC MCP ServerWhat are the top queries for my site this month?"
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.
GSC MCP Server
A Model Context Protocol (MCP) server that connects Claude Desktop (and other MCP clients) to the Google Search Console API — query search analytics, inspect URLs, manage sitemaps, and compare performance across time periods.
Based on MCP-GSC by Amin Foroutan, with enhancements for lazy imports, data state control, multi-filter support, and additional tools.
Features
20 Search Console Tools
Search Analytics:
Tool | Description |
| List all GSC properties accessible by the authenticated account |
| Search analytics with dimensions (query, page, device, country, date) |
| Advanced analytics with sorting, filtering, pagination (up to 25K rows) |
| Performance summary with daily trend data |
| Queries driving traffic to a specific page |
| Compare two time periods side-by-side with percentage changes |
URL Inspection:
Tool | Description |
| Full URL inspection — indexing status, rich results, canonical info |
| Inspect up to 10 URLs in one call |
| Categorized indexing issue report across multiple URLs |
Sitemap Management:
Tool | Description |
| List sitemaps with status and URL counts |
| Detailed sitemap listing with submission dates and warnings |
| Full details for a specific sitemap |
| Submit or resubmit a sitemap |
| Remove a sitemap from GSC |
| All-in-one sitemap management (list, details, submit, delete) |
Property Management:
Tool | Description |
| Add a site to Search Console |
| Remove a site from Search Console |
| Property details including verification and ownership info |
| Switch Google accounts via OAuth re-login |
Built-in Reliability
Dual auth — OAuth (interactive) and service account (headless) with automatic fallback
Lazy imports — defers heavy Google client libraries for fast MCP handshake
Data state control — choose between fresh data (
all, matches GSC dashboard) or confirmed data (final)Multi-filter support — AND logic across dimensions via JSON filter arrays
Related MCP server: google-search-console-mcp-python
Quick Start
Prerequisites
Python 3.11+
A Google Cloud project with the Search Console API enabled
Claude Desktop (or any MCP-compatible client)
Authentication Options
Option A: Service Account (Headless — recommended for servers)
Create a Google Cloud service account
Enable the Search Console API in your project
Download the service account JSON key file
In GSC: go to Settings > Users and permissions and add the service account email as a user
Option B: OAuth (Interactive — recommended for local use)
Create OAuth credentials in Google Cloud Console
Download the client secrets JSON as
client_secrets.jsonPlace it in the
gsc-mcp/directoryOn first run, a browser window opens for Google login
Installation
Published package: luminarylane-gsc-mcp on PyPI
# Run without a global install
uvx --from luminarylane-gsc-mcp luminarylane-gsc-mcpOr install the package with pip install luminarylane-gsc-mcp.
Configuration
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"gsc": {
"command": "uvx",
"args": ["--from", "luminarylane-gsc-mcp", "luminarylane-gsc-mcp"],
"env": {
"GSC_CREDENTIALS_PATH": "/path/to/service_account_credentials.json"
}
}
}
}Environment variables:
Variable | Required | Description |
| No* | Path to service account JSON key file |
| No* | Path to OAuth client secrets JSON |
| No | Set to |
| No |
|
*At least one authentication method must be configured.
For local development only, credentials may be stored in files excluded by .gitignore; never commit them. Prefer the explicit environment-variable paths above.
Usage Examples
Once configured, ask Claude to:
"List my Search Console properties"
"What are the top queries for my site this month?"
"Show me the top pages by clicks for the last 90 days"
"Is this URL indexed? Check https://example.com/my-page"
"Compare search performance: last 28 days vs the 28 days before"
"Check indexing issues for these URLs" (paste a list)
"Submit my sitemap at https://example.com/sitemap.xml"
"Show traffic sources by country and device"
Data Freshness
By default, the server uses dataState: "all" which includes fresh/unconfirmed data and matches the GSC dashboard. Set GSC_DATA_STATE=final for confirmed-only data (lags 2-3 days). You can also override per-call via the data_state parameter in get_advanced_search_analytics.
Troubleshooting
Property not found (404)
The site_url must exactly match what GSC shows. Run list_properties first. Domain properties use the format sc-domain:example.com, not a full URL.
Permission denied (403)
The authenticated account needs access to the property. For service accounts, add the email in GSC Settings > Users and permissions.
Authentication failed
Service account: Check
GSC_CREDENTIALS_PATHpoints to a valid JSON key fileOAuth: Delete
token.jsonand re-run to trigger a fresh login, or use thereauthenticatetool
Contributing
Fork the repo
Create a feature branch (
git checkout -b feat/my-feature)Make changes and test locally
Submit a pull request
License
MIT License — see LICENSE for details.
Acknowledgments
Amin Foroutan for the original MCP-GSC tool
Anthropic for the MCP specification
Google Search Console API for the underlying API
Available Tools
20 toolsadd_siteA
Add a site to your Search Console properties.
Args: site_url: The URL of the site to add (must be exact match e.g. https://example.com, or https://www.example.com, or https://subdomain.example.com/path/, for domain properties use format: sc-domain:example.com)
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden for behavioral disclosure. It does not mention side effects, permissions, idempotency, error conditions, or verification steps. The only added behavioral trait is the exact-match URL constraint, which is more of a parameter validation detail than a behavioral trait. The tool mutates state, but no safety or auth information is provided.
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 concise, with one sentence for the primary purpose and one for parameter details. No unnecessary words, and the structure is clean. It front-loads the core action and then provides necessary input clarifications.
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 mutation tool with an output schema, the description covers the critical input format completely. It does not explain success/failure responses, but the output schema likely handles that. Given the low complexity, the description is sufficiently complete, though a note about verification requirements would have improved it further.
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 adds significant meaning beyond the schema by specifying the exact URL format and providing examples for both URL-prefix and domain properties ('sc-domain:example.com'). It also clarifies that the match must be exact, which is not obvious from the schema. Since schema coverage is 0%, this parameter description is essential and well-executed, though it could have explained trailing-slash handling more explicitly.
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: 'Add a site to your Search Console properties.' This is a specific verb + resource that distinguishes it from siblings like delete_site or list_properties. The purpose is unambiguous and immediately understandable.
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 saying 'Add a site to your Search Console properties,' which makes it clear this is for adding properties. However, it does not explicitly mention alternatives (e.g., 'To remove a site, use delete_site') or when not to use this tool. The usage context is present but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_url_inspectionA
Inspect multiple URLs in batch (within API limits).
Args: site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain. urls: List of URLs to inspect, one per line
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full burden of behavioral disclosure. It mentions 'within API limits' but does not explain rate limit specifics, error handling, partial failures, or data access requirements. The description focuses primarily on input parameters rather than the behavior or side effects of the tool, which is a significant gap for a batch operation with potential partial results.
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 compact, front-loaded with the core purpose, and then uses a clear 'Args' structure to explain parameters. Every sentence adds value without redundancy. It is appropriately sized for the tool's simplicity.
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 two-parameter complexity, existing output schema, and sibling context, the description covers most essential aspects: what the tool does, parameter format, and usage nuances (domain vs URL property). It lacks detailed rate limit numbers or response structure, but the presence of an output schema mitigates the need for return value explanation. Overall, it is sufficient but not exhaustive.
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 the description must compensate. It does this effectively for both parameters: site_url is explained with exact format and domain property behavior, and urls is clarified as a newline-separated list. This adds substantial meaning beyond the bare schema, though it could be even richer by specifying maximum batch size or URL format validation.
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: 'Inspect multiple URLs in batch.' This is a specific verb+resource combination that distinguishes it from sibling tools like 'inspect_url_enhanced' which likely handles single URLs. The phrase 'within API limits' adds a scoping constraint that clarifies its intended use.
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 context on when to use the tool: when you need to inspect multiple URLs. It also gives specific guidance on the site_url parameter, including how to handle domain properties and subdomains. However, it does not explicitly state when not to use it or mention alternatives for single URL inspection, which would make it more complete.
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 for specific indexing issues across multiple URLs.
Args: site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain. urls: List of URLs to check, one per line
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only says 'Check for specific indexing issues' and then describes arguments; it does not mention whether this is a read-only operation, any required permissions, rate limits, or what the check actually does (e.g., API calls). This lacks critical context for an AI agent to understand side effects.
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 compact and well-structured: a single-sentence purpose followed by an 'Args:' section. Every sentence adds value, with no redundant phrasing. The parameter explanations are pertinent and organized, though the purpose line could be slightly more specific.
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?
The description covers both parameters well and the output schema exists, so return values need not be explained. However, it omits behavioral context such as whether the tool is read-only, any constraints on the number of URLs, or the meaning of 'indexing issues.' For a simple check tool with two well-described parameters, this is adequate but not comprehensive.
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 0% description coverage, so the description must compensate. It does so effectively: site_url is explained with exact format examples and domain-vs-prefix distinctions, and urls is defined as a list of URLs one per line. This adds meaning beyond the bare schema, though it could be more precise about URL formatting or limits.
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 the tool's function clearly: 'Check for specific indexing issues across multiple URLs.' This has a specific verb ('Check'), a resource ('indexing issues'), and scope ('across multiple URLs'), distinguishing it from single-URL inspection tools. However, it doesn't explicitly name alternatives or enumerate what types of indexing issues are covered, so it falls short of a 5.
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 offers no guidance on when to use this tool versus sibling tools like inspect_url_enhanced or batch_url_inspection. It only provides parameter-level instructions (e.g., using the domain property for subdomain analysis), which does not clarify tool selection. No exclusions or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_search_periodsA
Compare search analytics data between two time periods.
Args: site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain. period1_start: Start date for period 1 (YYYY-MM-DD) period1_end: End date for period 1 (YYYY-MM-DD) period2_start: Start date for period 2 (YYYY-MM-DD) period2_end: End date for period 2 (YYYY-MM-DD) dimensions: Dimensions to group by (default: query) limit: Number of top results to compare (default: 10)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| site_url | Yes | ||
| dimensions | No | query | |
| period1_end | Yes | ||
| period2_end | Yes | ||
| period1_start | Yes | ||
| period2_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It implies a read operation ('Compare search analytics data') and provides useful context about property URL formats, but it does not explicitly state side effects, permissions, rate limits, or output behavior. The absence of risk-related details is acceptable for a read-only tool, but more transparency would be better.
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 starts with a clear one-line summary followed by a well-organized Args block. Every line provides necessary information, though the Args block is somewhat lengthy. It is appropriately sized for the tool's complexity.
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 complexity (7 parameters, two-period comparison) and the existence of an output schema, the description is sufficient. It provides all parameter semantics and enough context for correct invocation. It does not explain the comparison methodology, but that is likely covered by the output schema.
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 description coverage is 0%, but the Args section fully explains every parameter: site_url format, date formats, dimensions, and limit defaults. This adds significant meaning beyond the schema's bare property names and fills the gap completely.
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 'Compare search analytics data between two time periods,' which is a specific verb+resource operation. It clearly distinguishes from siblings like get_search_analytics, which imply single-period queries, and from other analytics 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 implies the use case via 'between two time periods' and provides guidance on selecting the correct site_url property, but it does not explicitly mention alternatives or when not to use this tool versus siblings. The context is clear but lacks explicit exclusions or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_siteA
Remove a site from your Search Console properties.
Args: site_url: The URL of the site to remove (must be exact match e.g. https://example.com, or https://www.example.com, or https://subdomain.example.com/path/, for domain properties use format: sc-domain:example.com)
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full behavioral disclosure burden. It states the action ('Remove') but does not disclose potential permanence, required permissions, side effects, or consequences of deletion. This is a significant gap for a destructive operation.
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 concise and well-structured: the primary purpose leads in the first sentence, followed by a neatly formatted parameter explanation. No unnecessary details or repetition.
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?
The tool is simple and parameter documentation is excellent, but the description omits important contextual information about the consequences of deletion and when to use it. These gaps are significant for a destructive operation, despite the strong parameter coverage.
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 provides only a bare 'site_url' string, but the description compensates with detailed, concrete examples and formatting rules, including exact match requirements and domain property notation. This fully explains parameter semantics beyond the schema.
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 function: removing a site from Search Console properties. The verb 'Remove' and resource 'site' are specific, and it distinguishes from sibling tools like 'add_site' and 'delete_sitemap' by implying property-level deletion.
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 any prerequisites such as property ownership or verification. It simply states the action, leaving the agent to infer usage context without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_sitemapA
Delete (unsubmit) a sitemap from Google Search Console.
Args: site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain. sitemap_url: The full URL of the sitemap to delete
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| sitemap_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits on its own. It only states the obvious 'delete' action without elaborating on side effects, reversibility, or required permissions. The term 'unsubmit' adds slight clarity but not enough to cover the absence of 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 concise and well-structured: a single-sentence purpose followed by a clean Args section. Every sentence adds value, with no redundancy or fluff.
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 two-parameter delete tool, the description covers the essential purpose and parameter semantics. It does not mention that the sitemap must already be submitted or that deletion only affects GSC, but these are likely implied by the tool's nature. The presence of an output schema means return values don't need explanation. Overall, adequately complete.
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%, but the description fully compensates by explaining both parameters in detail. It gives a concrete example for site_url, explains domain vs URL-prefix properties, and clarifies that sitemap_url should be the full URL. This adds significant value beyond the schema's bare field names.
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 action: 'Delete (unsubmit) a sitemap from Google Search Console.' The verb 'Delete' with the resource 'sitemap' is specific and distinguishes it from sibling tools like 'submit_sitemap' and 'get_sitemaps'.
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 practical guidance on the site_url parameter, explaining the difference between URL-prefix and domain properties with an example. This is useful context for correct usage, though it doesn't explicitly state when to use this tool over alternatives or mention prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_advanced_search_analyticsA
Get advanced search analytics data with sorting, filtering, and pagination.
Args: site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain. start_date: Start date in YYYY-MM-DD format (defaults to 28 days ago) end_date: End date in YYYY-MM-DD format (defaults to today) dimensions: Dimensions to group by, comma-separated (e.g., "query,page,device") search_type: Type of search results (WEB, IMAGE, VIDEO, NEWS, DISCOVER) row_limit: Maximum number of rows to return (max 25000) start_row: Starting row for pagination sort_by: Metric to sort by (clicks, impressions, ctr, position) sort_direction: Sort direction (ascending or descending) filter_dimension: Single filter dimension (query, page, country, device). Use 'filters' instead for multiple filters. filter_operator: Single filter operator (contains, equals, notContains, notEquals) filter_expression: Single filter expression value filters: JSON array of filter objects for AND logic across multiple dimensions. Overrides filter_dimension/filter_operator/filter_expression when provided. Each object must have 'dimension', 'operator', and 'expression' keys. Valid dimensions: query, page, country, device. Valid operators: contains, equals, notContains, notEquals. Example: [{"dimension":"country","operator":"equals","expression":"usa"}, {"dimension":"device","operator":"equals","expression":"MOBILE"}] data_state: Data freshness — "all" (default, matches GSC dashboard) or "final" (confirmed data only, 2-3 day lag)
| Name | Required | Description | Default |
|---|---|---|---|
| filters | No | ||
| sort_by | No | clicks | |
| end_date | No | ||
| site_url | Yes | ||
| row_limit | No | ||
| start_row | No | ||
| data_state | No | ||
| dimensions | No | query | |
| start_date | No | ||
| search_type | No | WEB | |
| sort_direction | No | descending | |
| filter_operator | No | contains | |
| filter_dimension | No | ||
| filter_expression | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses behavioral details like row_limit max 25000, start_row for pagination, data_state options ('all' vs 'final' with 2-3 day lag), and filters overriding single filter parameters. However, it does not mention rate limits, error conditions, or explicitly confirm this is a read-only operation.
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 a structured Args list preceded by a one-line summary. Every line provides essential context for a tool with 14 parameters. It is long but not verbose, with each parameter earning its place. The use of code formatting and examples improves readability.
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 complexity (14 params, no schema descriptions, no annotations), the description is exceptionally complete. It covers all parameter semantics, usage nuances, and includes example values. An output schema exists, so return value explanations are unnecessary. The only minor gap is explicit comparison to sibling tools, but this is not essential for correct 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?
Schema description coverage is 0%, yet the description thoroughly documents every parameter: formats, defaults, valid values, and examples. For instance, it explains the exact format of site_url, the JSON structure for filters, and the meaning of data_state. This fully compensates for the missing schema descriptions.
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 'Get advanced search analytics data with sorting, filtering, and pagination.' This specifies the verb, resource, and key capabilities. It does not explicitly differentiate from the sibling 'get_search_analytics', but the 'advanced' qualifier and feature list imply a distinction.
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 concrete usage context, such as using an exact GSC property URL from list_properties, domain properties covering all subdomains, and how to analyze a specific subdomain. It also explains when to use 'filters' instead of single-filter parameters. However, it does not explicitly mention when to use this tool over 'get_search_analytics' or other alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creator_infoA
Provides information about Amin Foroutan, the creator of the MCP-GSC tool.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'Provides information' makes it clear this is a read-only, non-destructive operation, but it does not disclose the exact nature of the information (e.g., bio, contact, version) or what the output structure looks like. The presence of an output schema mitigates some gap, but the description alone offers minimal behavioral detail.
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 a single efficient sentence that conveys the tool's purpose without any wasted words. It is front-loaded with the verb and resource.
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 0-parameter informational tool, the description adequately defines the purpose. An output schema exists to explain return values, so the description doesn't need to detail them. However, it doesn't provide any context about why an agent might need this information in the broader workflow, though given the simplicity, that's not a major gap.
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 schema coverage is vacuously 100%. Per baseline for 0 params, a score of 4 is appropriate; the description doesn't need to add parameter meaning because there are none.
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 'Provides' and clearly identifies the resource: Aming Foroutan, creator of MCP-GSC. This distinguishes it from all sibling tools, which focus on properties, analytics, and site management.
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 description: an agent would call this when it needs information about the tool's creator. However, there is no explicit guidance on when to use it versus alternatives, nor any exclusions. Since it's a unique 0-parameter informational tool, the implicit usage is acceptable but not fully articulated.
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 performance overview for a specific property.
Args: site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain. days: Number of days to look back (default: 28)
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It provides useful context about domain properties covering all subdomains and the default lookback period, but it does not describe what the overview includes, rate limits, or other behavioral traits expected of a read tool.
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 concise: a one-line purpose followed by clearly organized parameter Args. Every sentence adds value, and the structure is scannable and front-loaded.
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?
The tool is simple with two parameters, and the output schema exists, so return values are covered. However, the 'filter by page' instruction is ambiguous given the tool lacks a page filter, and there is no guidance on what metrics the overview includes, leaving a small but notable gap.
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%, but the description fully compensates by explaining site_url format, examples, and the nuance of domain properties, and by defining days with its default. This adds significant meaning beyond the schema's bare types and defaults.
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 retrieves a 'performance overview' for a 'specific property,' using a specific verb and resource. It is distinct from siblings like get_search_analytics, though it does not explicitly call out the difference.
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 gives a clear prerequisite: use the exact URL from list_properties, and explains domain property coverage. However, the instruction to 'filter by page' is confusing because the tool has no page parameter, and it does not say when to prefer this over search analytics or 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_analyticsA
Get search analytics data for a specific property.
Args: site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain. days: Number of days to look back (default: 28) dimensions: Dimensions to group by (default: query). Options: query, page, device, country, date You can provide multiple dimensions separated by comma (e.g., "query,page") row_limit: Number of rows to return (default: 20, max: 500). Use 5-20 for quick overviews, 50-200 for deeper analysis, up to 500 for comprehensive reports. For bulk exports beyond 500 rows, use get_advanced_search_analytics which supports pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| site_url | Yes | ||
| row_limit | No | ||
| dimensions | No | query |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It explains the exact URL format, domain/prefix distinction, grouped dimensions, and fallback to an advanced tool. It doesn't mention rate limits, data latency, or explicit read-only guarantees, but the 'Get' verb and detailed scoping provide solid 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured as an Args block with one line per parameter, each earning its place with concrete details. The first sentence states the purpose, and the rest is actionable parameter guidance with no filler.
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 four-parameter tool with an output schema and no annotations, the description covers all necessary context: required property, optional parameters with defaults and valid values, recommended limits, and when to switch to a sibling tool. It is comprehensive and self-contained.
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%, but the descriptions fully compensate by detailing all four parameters: site_url format with examples, days default, dimensions options and comma-separated usage, and row_limit with recommended ranges and max. This adds meaning far beyond the raw schema.
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 opens with 'Get search analytics data for a specific property,' which is a specific verb+resource statement. It clearly differentiates from sibling tools like list_properties and get_advanced_search_analytics by scoping to a property and noting when the advanced sibling should be used.
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?
Provides explicit usage guidance: exact site_url format from list_properties, domain property coverage, row_limit ranges for different use cases, and an explicit alternative for bulk exports ('For bulk exports beyond 500 rows, use get_advanced_search_analytics which supports pagination'). This is strong when-to-use and 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.
get_search_by_page_queryA
Get search analytics data for a specific page, broken down by query.
Args: site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain. page_url: The specific page URL to analyze days: Number of days to look back (default: 28) row_limit: Number of rows to return (default: 20, max: 500). Use 5-20 for quick overviews, 50-200 for deeper analysis, up to 500 for comprehensive reports. For bulk exports beyond 500 rows, use get_advanced_search_analytics which supports pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| page_url | Yes | ||
| site_url | Yes | ||
| row_limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must carry the transparency burden. The verb 'Get' strongly implies a read-only operation, and it adds useful context such as requiring an exact GSC property URL from list_properties. However, it does not explicitly state that no data is modified, nor does it mention rate limits or authentication requirements, which would be relevant for GSC APIs.
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 well-structured and efficient: a one-sentence purpose followed by a logical parameter breakdown. Each sentence earns its place, offering examples, limits, and alternative tool guidance without fluff. It is appropriately sized for the complexity of the parameters.
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?
With an output schema present, the lack of return-value explanation is acceptable. The description thoroughly covers all four parameters, explains edge cases (domain vs. URL property, row_limit max), and provides cross-tool context for pagination. It leaves no ambiguous operational gaps for a query 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?
Schema coverage is 0% (no property descriptions), so the description compensates fully. It explains site_url with real-world examples and domain vs. specific property behavior, page_url as a specific page target, days as a lookback period, and row_limit with default, max, and recommended ranges. This adds substantial meaning beyond the bare schema.
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 opens with a precise verb-resource pair: 'Get search analytics data for a specific page, broken down by query.' This clearly distinguishes it from siblings like get_search_analytics (broad query) and get_advanced_search_analytics (paginated bulk export), reinforced by an explicit pointer to that alternative.
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 provides explicit when-to-use guidance: 'For bulk exports beyond 500 rows, use get_advanced_search_analytics which supports pagination.' It also gives actionable parameter guidance, such as row_limit ranges for different analysis depths and clarification that domain properties cover subdomains, helping the agent decide parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_site_detailsA
Get detailed information about a specific Search Console property.
Args: site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain.
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
This is a read-only 'Get' operation, which is implied but not explicitly stated. The description adds valuable context that 'Domain properties cover all subdomains' and advises using the domain property with page filtering, but does not disclose potential side effects, auth requirements, or rate limits. Since no annotations are provided, the description carries the full burden, and this is only partially met.
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 brief and front-loaded with the purpose, followed by a dedicated Args section. It avoids unnecessary detail and earns every sentence, making it 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?
The tool has a single parameter and an output schema, so the description does not need to explain return values. It includes the prerequisite of using list_properties and gives practical advice for domain properties, making it adequately complete for a simple read tool. However, it could be slightly more explicit about the type of information returned and any prerequisites beyond authentication.
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 only defines site_url as a string with no description (0% schema coverage). The description compensates fully by specifying the format, providing examples ('https://example.com/' or 'sc-domain:example.com'), and explaining domain property semantics, which adds significant meaning beyond the schema.
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 'Get detailed information about a specific Search Console property,' which uses a specific verb and resource. It implicitly distinguishes from sibling tools like list_properties (which lists properties) and get_search_analytics (which fetches performance data).
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 context by indicating the site_url should come 'from list_properties' and explains domain property behavior. However, it does not explicitly state when to prefer this tool over alternatives or when not to use it, such as for analytics or sitemap data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sitemap_detailsB
Get detailed information about a specific sitemap.
Args: site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain. sitemap_url: The full URL of the sitemap to inspect
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| sitemap_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states the tool 'gets detailed information' but doesn't disclose what information is included, whether it's read-only, what errors might occur, or any side effects. The domain-property note is useful but not behavioral disclosure about the tool itself. This is insufficient for a tool with zero annotation coverage, so score 2.
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 front-loaded with a one-sentence summary, followed by a clean parameter list. Every sentence adds value; no filler or repetition. It's structured and easy to scan, so score 4.
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 two-parameter tool with an output schema, the description is adequate but lacks behavioral context. It doesn't describe the nature of the returned 'detailed information' or any potential error conditions. The absence of annotations makes this a notable gap, but the parameter guidance is thorough. Overall, it's minimally viable but with clear gaps, so score 3.
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 0% coverage, but the description compensates well. It explains site_url's exact format with examples ('https://example.com/' or 'sc-domain:example.com'), and adds a critical nuance about domain properties covering subdomains. sitemap_url is defined as 'the full URL of the sitemap to inspect.' This adds significant meaning beyond the bare parameter names, so score 4.
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 a verb+resource: 'Get detailed information about a specific sitemap.' The word 'specific' distinguishes this from list-style sibling tools like get_sitemaps and list_sitemaps_enhanced, implying a single-sitemap lookup. However, it doesn't explicitly name an alternative, so it falls just short of a 5.
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 guidance on how to construct the site_url parameter, including reference to list_properties and a domain-property nuance. However, it gives no guidance on when to use this tool versus siblings like get_sitemaps, submit_sitemap, or manage_sitemaps, and no exclusions based on scenario. This is implied at best, so score 2.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sitemapsA
List all sitemaps for a specific Search Console property.
Args: site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain.
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It conveys a read-only list operation and adds useful behavioral nuance about domain properties covering all subdomains. However, it doesn't disclose response format, pagination, or auth requirements; still, for a simple list tool with an output schema, this 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 a single clear sentence plus a focused Args block. Every sentence adds necessary detail about the parameter. No redundancy or fluff.
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?
With a simple one-parameter input, an output schema, and a clear purpose, the description covers essentials. It could mention the relationship to list_sitemaps_enhanced or get_sitemap_details for full context, but it is largely complete for a straightforward list 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 defines site_url as a string, and schema description coverage is 0%. The description compensates strongly: it gives the exact format, examples, and explains the distinction between URL-prefix and domain properties. This goes well beyond a bare schema.
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?
Clearly states it lists all sitemaps for a specific Search Console property. The verb 'List' and resource 'sitemaps' are specific, and the property scope is explicit. It doesn't explicitly differentiate from sibling list_sitemaps_enhanced, so not a 5.
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?
Provides a clear prerequisite: use the exact GSC property URL from list_properties. Also explains how to handle domain properties vs subdomains. It doesn't name alternatives like list_sitemaps_enhanced or get_sitemap_details, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_url_enhancedB
Enhanced URL inspection to check indexing status and rich results in Google.
Args: site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain. page_url: The specific URL to inspect
| Name | Required | Description | Default |
|---|---|---|---|
| page_url | Yes | ||
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for disclosing behavior. It only states the tool's purpose and parameter scoping, but omits any side effects, return value structure, required permissions, or rate limits. The domain-property note is a useful scoping behavior, but it's more about parameter semantics than overall behavioral transparency.
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 concise and front-loaded: a one-sentence purpose followed by focused parameter documentation. Every sentence adds value, with no redundant or filler content.
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?
An output schema exists, so return values need not be described. The description covers the key usage context, including how to obtain site_url from list_properties and the domain-property behavior. However, it lacks a clear distinction from similar sibling tools, which would make it fully complete in context.
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 zero parameter descriptions, so the description must compensate. It does so effectively by explaining site_url with examples and domain-property behavior, and page_url with a clear definition. This goes well beyond the bare schema, though it stops short of giving full syntax or formatting rules for all edge cases.
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 'check[s] indexing status and rich results' for a URL, giving a specific verb and resource. However, it doesn't distinguish this enhanced tool from sibling tools like batch_url_inspection or check_indexing_issues, so the differentiation is weak.
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 detailed parameter usage (site_url format, domain property scope) but gives no guidance on when to choose this tool over alternatives like batch_url_inspection or check_indexing_issues. The 'Enhanced' label implies a niche, but no explicit when/when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_propertiesA
Retrieves and returns the user's Search Console properties.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavior disclosure. 'Retrieves and returns' implies a read-only operation, which is helpful, but it does not mention authentication requirements, pagination, or any other behavioral traits. This is adequate for a simple list operation but lacks depth.
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 a single sentence with no redundancy or wasted words. It is appropriately sized for a simple tool and clearly front-loads the action.
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 (0 params, read-only list) and the presence of an output schema that likely documents the return value, the description is complete enough. It does not explain when to use it, but that falls under usage guidelines. For a tool this straightforward, the description satisfies the essential context.
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?
There are zero parameters, so the schema coverage is trivially 100%. The baseline for 0 params is 4, and the description correctly doesn't add further param details since none exist.
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 retrieves and returns the user's Search Console properties, with a specific verb and resource. It is distinct from sibling tools like get_site_details or add_site, though it does not explicitly differentiate itself.
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 any context about prerequisites or exclusions. It simply states what the tool does, leaving the agent to infer usage from the name and sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sitemaps_enhancedA
List all sitemaps for a specific Search Console property with detailed information.
Args: site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain. sitemap_index: Optional sitemap index URL to list child sitemaps
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| sitemap_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses important behaviors: sitemap_index lists child sitemaps, and domain properties cover all subdomains. However, it doesn't mention authentication, rate limits, or behavior when no sitemaps are found, leaving some gaps.
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 concise and well-structured: a one-sentence summary followed by a focused Args list. Every sentence adds value, with no filler 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?
The tool has an output schema, so return values are already specified. The description adequately covers both parameters and domain property nuances. It could have further referenced the sibling 'get_sitemaps' for differentiation, but overall it is complete for a list tool with a schema.
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 descriptions are completely absent (0% coverage), so the description must compensate. It does this well: site_url is defined with examples and source, and sitemap_index is explained as optional and for listing child sitemaps, adding meaningful semantics beyond the schema.
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 sitemaps for a specific Search Console property with detailed information, using a specific verb and resource. It implies a distinction from siblings like 'get_sitemaps' through 'detailed information' but does not explicitly name alternatives.
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?
Provides clear usage context: site_url must be an exact GSC property URL from list_properties, with examples. It explains domain property behavior and suggests how to target subdomains, but does not explicitly contrast with alternative sitemap tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_sitemapsA
All-in-one tool to manage sitemaps (list, get details, submit, delete).
Args: site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain. action: The action to perform (list, details, submit, delete) sitemap_url: The full URL of the sitemap (required for details, submit, delete) sitemap_index: Optional sitemap index URL for listing child sitemaps (only used with 'list' action)
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| site_url | Yes | ||
| sitemap_url | No | ||
| sitemap_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It names the four operation types, including the destructive 'delete' action, but does not elaborate on side effects, permissions, rate limits, or response behavior beyond what the output schema implies.
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 Args block organizes parameter details cleanly, with each line providing useful information. There is slight redundancy between the opening sentence and the action parameter, but overall the length is appropriate for 4 parameters.
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?
All parameters are covered with actionable semantics, and the output schema handles return values. Missing broader context like rate limits, permissions, or failure modes, which could matter for a management tool, but given the rich parameter explanation, it is largely complete.
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%, but the description compensates fully by explaining each argument: site_url format and domain-property semantics, action values, sitemap_url requirements, and sitemap_index usage. This adds significant meaning beyond the raw schema.
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 identifies the tool as an 'All-in-one tool to manage sitemaps' and lists the specific actions (list, details, submit, delete), making its purpose explicit and distinct from the more specialized sibling 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?
Provides useful context: site_url should be from list_properties and explains domain property behavior. However, it does not explicitly guide the agent on when to use this combined tool vs. dedicated sibling tools such as get_sitemaps or submit_sitemap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reauthenticateA
Perform a logout and new login sequence. Deletes the current OAuth token file and triggers the browser authentication flow. Useful when you need to switch to a different Google account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses a destructive action (deletes the current OAuth token file) and a side effect (triggers browser authentication flow). This is transparent for an auth tool, though it does not mention potential failure modes or user interaction requirements.
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?
Three concise sentences, front-loaded with the action, then details, then usage context. No unnecessary words.
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 and a simple purpose, the description fully covers what it does, how it does it, and when to use it. The existence of an output schema means return values need not be described. No gaps.
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?
Tool has zero parameters, so no parameter explanation needed. Baseline for zero-param tools is 4 due to no ambiguity.
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 'Perform a logout and new login sequence' and specifies the resource (OAuth token file) and the action (delete and re-authenticate). It distinguishes from sibling tools that all handle site management or analytics.
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?
Provides explicit context: 'Useful when you need to switch to a different Google account.' No alternatives exist among siblings, but the context is clear. Lacks exclusions or when-not-to-use, but that's minor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_sitemapA
Submit a new sitemap or resubmit an existing one to Google.
Args: site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain. sitemap_url: The full URL of the sitemap to submit
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| sitemap_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing side effects. It only says 'submit or resubmit', implying a mutation, but does not mention potential impacts (e.g., rate limits, whether resubmission replaces existing, permissions required) or error behavior.
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 appropriately sized: a one-sentence purpose followed by a structured Args section. No wasted words; every sentence adds value.
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 having no annotations, the tool is simple and the description covers essential parameter semantics. The presence of an output schema (not shown) relieves the description from explaining return values. It does not mention error cases or permissions, but those are not always required for a straightforward submission 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 has no descriptions (0% coverage), so the description's detailed explanations for site_url (with examples and domain property semantics) and sitemap_url (full URL) fully compensate. This is high-value parameter guidance beyond the raw schema.
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 verb ('Submit') and resource ('sitemap to Google'), including both new and resubmission cases. It distinguishes from sibling tools like get_sitemaps and delete_sitemap by specifying the action.
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 context for when to use the tool (submitting or resubmitting a sitemap) and gives a crucial prerequisite ('site_url from list_properties') with guidance on domain vs site properties. It doesn't explicitly exclude alternatives, but the usage context is clear.
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.
20 tool updates
v1.0.2- First observed
add_site - First observed
batch_url_inspection - First observed
check_indexing_issues - First observed
compare_search_periods - First observed
delete_site - First observed
delete_sitemap - First observed
get_advanced_search_analytics - First observed
get_creator_info - First observed
get_performance_overview - First observed
get_search_analytics - First observed
get_search_by_page_query - First observed
get_site_details - First observed
get_sitemap_details - First observed
get_sitemaps - First observed
inspect_url_enhanced - First observed
list_properties - First observed
list_sitemaps_enhanced - First observed
manage_sitemaps - First observed
reauthenticate - First observed
submit_sitemap
TDQS
Scored across 20 tools
Several tools have overlapping purposes, such as get_sitemaps, list_sitemaps_enhanced, and manage_sitemaps (with 'list' action), which all list sitemaps. Similarly, get_search_analytics, get_advanced_search_analytics, and get_performance_overview all retrieve performance data with varying levels of detail. The distinctions are often subtle and may confuse an agent selecting the appropriate tool.
Most tool names follow a verb_noun pattern (e.g., list_properties, add_site, get_search_analytics, submit_sitemap). Minor inconsistencies exist, such as 'batch_url_inspection' being a noun phrase rather than a verb-led name, and 'reauthenticate' being a single verb. Overall, the naming is fairly consistent and predictable.
With 20 tools, the server is on the heavier side, and the redundancy among sitemap and analytics tools inflates the count. The scope covers multiple subdomains (properties, analytics, sitemaps, inspection, auth), so a count near 20 is not wildly excessive, but it could be streamlined to around 12-15 tools without losing functionality.
The tool set provides good coverage of the Google Search Console API: property lifecycle (list, add, delete, details), analytics (basic, advanced, comparison, page-specific), sitemap management (list, details, submit, delete, and a combined tool), and URL inspection (single, batch, indexing issues). Minor gaps exist, such as no explicit tool for testing robots.txt, but the core workflows are well represented.
Maintenance
Related MCP Connectors
Read and edit GA4, Search Console and Google Tag Manager from any MCP client. 29 tools.
Google Ads MCP server — manage campaigns, keywords, and metrics.
SEO MCP server for keyword research, SERP analysis, audits, and Search Console workflows.
OAuth MCP for Google, Meta, X, LinkedIn, Reddit, TikTok, GSC, GA4, WordPress and GHL.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects Google Search Console to MCP clients to query search analytics, manage sitemaps, and perform URL inspections. It enables users to identify SEO opportunities and generate performance reports through natural language interactions.52 npm4MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for Google Search Console API that enables querying search analytics, managing sites, inspecting URLs, and supporting domain delegation via service accounts.MIT
- AlicenseNot gradedqualityCmaintenanceEnables interaction with Google Search Console via MCP, offering search analytics, performance summaries, URL inspection, sitemap management, and property listing for SEO workflows.105 npm1MIT
- FlicenseNot gradedqualityDmaintenanceEnables managing multiple Google Search Console accounts through a single MCP server, providing tools for search analytics, quick win detection, period comparison, URL inspection and indexing, and sitemap management.-