google-search-console-mcp
Google Search Console MCP 服务器
这是一个 Model Context Protocol (MCP) 服务器,用于将 Google Search Console 连接到 Claude Desktop、Cursor、Windsurf 等 AI 助手以及任何兼容 MCP 的客户端。通过自然语言分析您的 SEO 数据、检查 URL、寻找关键词机会并跟踪搜索表现。
无需设置 Google Cloud。 安装并使用您的 Google 账号进行身份验证,即可在 2 分钟内开始查询您的 Search Console 数据。
您可以做什么?
向 Claude 询问如下问题:
“我本月表现最好的页面有哪些?”
“找出那些展示次数高但点击率 (CTR) 低的关键词”
“对比我本月与上个月的搜索表现”
“这个 URL 被索引了吗?有什么问题吗?”
“向我展示品牌流量与非品牌流量的占比”
Related MCP server: Google Search Console + GA4 MCP Server
快速入门
1. 安装
npm install -g google-searchconsole-mcp2. 身份验证(仅需一次)
gsc-mcp-auth这将打开您的浏览器 — 使用您的 Google 账号登录并授予 Search Console 读取权限。您的令牌将保存在本地的 ~/.gsc-mcp/tokens/ 目录下。您的数据保留在您的机器上。
多个账号:
gsc-mcp-auth --alias work
gsc-mcp-auth --alias personal
gsc-mcp-auth --list3. 添加到 Claude Desktop
添加到您的 Claude Desktop 配置文件中(macOS 上位于 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"google-search-console": {
"command": "npx",
"args": ["-y", "google-searchconsole-mcp"]
}
}
}重启 Claude Desktop。完成 — 您的 Search Console 数据现在可以在 Claude 中使用了。
与其他 MCP 客户端配合使用
适用于任何兼容 MCP 的客户端,包括 Cursor、Windsurf、VS Code + Cline 等。只需将 MCP 客户端指向:
npx google-searchconsole-mcp可用工具(13 个 SEO 工具)
工具 | 描述 |
| 列出所有已验证的 Google 账号及其 Search Console 站点 |
| 列出您有权访问的所有 Search Console 资源 |
| 按任何维度(查询、页面、国家/地区、设备、日期)查询点击次数、展示次数、CTR 和排名 |
| 检查 URL 索引状态、移动设备易用性和富媒体搜索结果资格 |
| 列出所有已提交的站点地图及其状态 |
| 发现高展示次数、低 CTR 的关键词 — 快速提升 SEO 效果 |
| 获取按点击次数、展示次数、CTR 或排名排序的顶级页面 |
| 对比两个时间段(周环比、月环比)的搜索表现 |
| 分析品牌与非品牌自然流量的占比 |
| 获取特定关键词的每日趋势数据 |
| 将搜索分析数据导出为 CSV 或 JSON |
| 按搜索外观过滤结果:AMP、FAQ、HowTo、富媒体搜索结果、视频等 |
| 按搜索类型过滤:网页、图片、视频、新闻或 Discover |
示例
示例 1:查找表现最好的页面
用户提示: “向我展示过去 30 天内按点击次数排名前 10 的页面”
预期行为:
使用您的站点 URL、过去 30 天的日期范围、
sortBy: "clicks"和limit: 10调用get_top_pages返回一个包含前 10 个页面的排名列表,以及每个页面的点击次数、展示次数、CTR 和平均排名
帮助识别您最强的内容和高流量着陆页
示例 2:发现关键词优化机会
用户提示: “在 example.com 上找出展示次数高但点击率低的关键词”
预期行为:
使用您的站点 URL 和 28 天的日期范围调用
find_keyword_opportunities筛选出展示次数超过 100 次且在排名前 20 位中 CTR 低于 3% 的查询
返回一个关键词列表,通过优化标题、元描述或内容,这些关键词的点击量可能会显著增加
示例 3:检查 URL 是否被 Google 索引
用户提示: “检查 https://example.com/blog/my-new-post 是否已被索引”
预期行为:
使用站点资源和完整的 URL 调用
inspect_url返回索引状态(已索引、已抓取但未索引、未找到等)、上次抓取日期、移动设备易用性状态以及检测到的任何富媒体搜索结果
识别阻止索引的问题,例如 robots.txt 屏蔽、noindex 标签或抓取错误
示例 4:对比本月与上月表现
用户提示: “对比 example.com 本月与上月的搜索表现”
预期行为:
使用当前月和上个月的日期范围调用
compare_performance返回点击次数增减幅度最大的查询,并提供点击次数、展示次数、CTR 和排名的增量值
突出显示趋势关键词和下滑页面,以便优先进行优化
使用场景
SEO 表现监控 — 跟踪点击次数、展示次数、CTR 和平均排名的变化趋势
关键词研究与机会 — 查找您已获得排名但展示次数高、CTR 低的关键词
内容优化 — 根据搜索数据识别哪些页面需要改进
技术 SEO 审计 — 检查 URL 索引状态、站点地图健康状况和移动设备易用性
竞争分析 — 对比不同时期的表现以发现趋势和下滑点
报告 — 导出数据用于 SEO 报告和仪表板
品牌监控 — 跟踪品牌与非品牌搜索流量
身份验证的工作原理
此软件包内置了 OAuth 凭据 — 您无需创建 Google Cloud 项目。当您运行 gsc-mcp-auth 时:
您的浏览器会打开 Google 登录页面
您使用您的 Google 账号登录
您授予对您的 Search Console 数据的只读访问权限
令牌保存在您机器的本地 (
~/.gsc-mcp/tokens/)
您的数据永远不会离开您的机器。 OAuth 凭据仅用于标识应用程序 — 每个用户单独进行身份验证,并且只能访问其自己的 Search Console 数据。
进阶:使用您自己的 OAuth 凭据
如果您更喜欢使用自己的 Google Cloud 项目:
选项 A:环境变量
export GSC_CLIENT_ID="your-client-id"
export GSC_CLIENT_SECRET="your-client-secret"选项 B:凭据文件
将您的 OAuth 凭据 JSON 保存到 ~/.gsc-mcp/credentials.json
创建一个项目(或选择现有项目)
启用 Google Search Console API
前往 凭据 > 创建凭据 > OAuth 2.0 客户端 ID
选择 桌面应用 作为应用程序类型
下载凭据 JSON 文件
要求
Node.js >= 18
拥有访问 Google Search Console 的 Google 账号
相关资源
Model Context Protocol — AI 工具集成的开放标准
Claude Desktop — Anthropic 的桌面 AI 助手
MCP Server Registry — 精选的 MCP 服务器列表
隐私政策
请参阅 PRIVACY.md 获取完整的隐私政策。
简而言之: 此扩展程序在您的机器上本地运行。OAuth 令牌存储在本地的 ~/.gsc-mcp/ 中,所有 Search Console 数据均直接从 Google 的 API 查询,不经过任何中介。此 MCP 服务器不会收集、存储或向任何第三方传输任何数据。
许可证
MIT
Available Tools
13 toolsanalyze_brand_queriesBRead-onlyIdempotent
Analyze branded vs non-branded search queries. Shows what percentage of traffic comes from brand searches.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Account alias to use (e.g., "default", "personal"). If omitted and only one account exists, it is used automatically. | |
| siteUrl | Yes | The site URL | |
| startDate | Yes | Start date (YYYY-MM-DD) | |
| endDate | Yes | End date (YYYY-MM-DD) | |
| brandTerms | Yes | Your brand terms to identify branded queries (e.g., ["mycompany", "my company", "mybrand"]) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the operation is read-only and safe. The description adds context that the output is a percentage breakdown of traffic, but does not disclose rate limits, pagination behavior, or the specific structure of the analysis 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 consists of two efficient sentences with no redundancy, placing the core action first and the output second. It could potentially be consolidated into one sentence without loss of meaning, but remains appropriately sized.
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 presence of comprehensive input annotations and a complete input schema, the description adequately covers the tool's intent. However, without an output schema, it could better describe the return value structure (e.g., whether it returns a ratio, percentage object, or time-series data).
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?
With 100% schema description coverage, the parameters are fully documented in the structured schema. The description mentions 'brand searches' which loosely references the brandTerms parameter, but adds no semantic clarification beyond what the schema already provides, meeting the baseline for complete schema coverage.
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 analyzes 'branded vs non-branded search queries' and calculates traffic percentages, providing a specific verb and resource. However, it does not explicitly differentiate from the sibling tool query_search_analytics, which handles general search 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?
The description provides no guidance on when to use this tool versus alternatives like query_search_analytics, nor does it mention prerequisites (e.g., that brandTerms must be provided) or scenarios where this analysis is inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_performanceBRead-onlyIdempotent
Compare search performance between two time periods. Shows which queries/pages gained or lost traffic.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Account alias to use (e.g., "default", "personal"). If omitted and only one account exists, it is used automatically. | |
| siteUrl | Yes | The site URL | |
| currentStartDate | Yes | Current period start date (YYYY-MM-DD) | |
| currentEndDate | Yes | Current period end date (YYYY-MM-DD) | |
| previousStartDate | Yes | Previous period start date (YYYY-MM-DD) | |
| previousEndDate | Yes | Previous period end date (YYYY-MM-DD) | |
| dimension | No | Compare by "query" or "page" (default: query) | |
| limit | No | Number of results to return (default: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety profile (readOnly, idempotent, non-destructive). The description adds valuable behavioral context that the output specifically identifies queries/pages that gained or lost traffic, hinting at the comparative analysis nature beyond what annotations provide.
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?
Two tightly constructed sentences with zero redundancy. First sentence establishes the core operation; second sentence describes the specific output value (gainers/losers). Perfectly front-loaded and appropriately sized.
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?
Adequate for a read-only analytics tool with comprehensive schema coverage, though no output schema exists. The description hints at return content (gained/lost traffic) but doesn't describe return structure, format, or error conditions for invalid date ranges.
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?
With 100% schema description coverage, the schema carries the parameter documentation burden. The description mentions 'queries/pages' which maps to the dimension parameter, and 'two time periods' which maps to the date ranges, but doesn't add syntax details 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 compares search performance between two time periods (specific verb + scope). It implicitly distinguishes from single-period siblings like get_top_pages by emphasizing the comparative nature, though it doesn't explicitly contrast with similar 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?
No guidance on when to use this versus alternatives like get_keyword_trend or analyze_brand_queries. No mention of prerequisites (e.g., valid date ranges, account requirements) or when comparisons are most valuable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_analyticsBRead-onlyIdempotent
Export search analytics data as CSV or JSON format for external analysis or reporting.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Account alias to use (e.g., "default", "personal"). If omitted and only one account exists, it is used automatically. | |
| siteUrl | Yes | The site URL | |
| startDate | Yes | Start date (YYYY-MM-DD) | |
| endDate | Yes | End date (YYYY-MM-DD) | |
| dimensions | Yes | Dimensions to include: "query", "page", "country", "device", "date" | |
| format | Yes | Export format: csv or json | |
| rowLimit | No | Maximum rows to export (default: 1000) | |
| searchType | No | Filter by search type (default: web) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations comprehensively cover safety (readOnly, idempotent, non-destructive), the description adds no behavioral context beyond this. It fails to clarify whether the export returns raw data, a download URL, or a file ID, and omits details about pagination limits, async processing, or data retention.
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 single-sentence description is efficiently structured with the verb front-loaded. The trailing phrase 'for external analysis or reporting' provides modest value, suggesting the description could be tighter, but there is no significant 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?
Given the rich annotations and complete input schema, the description adequately covers the basics. However, the absence of an output schema creates a gap that the description fails to fill—it does not explain what the export returns (file content, URL, or reference), which is critical for an export operation.
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?
With 100% schema description coverage, the structured documentation carries the semantic load. The description mentions 'CSV or JSON format' which aligns with the format parameter, but does not add clarifying details about dimension combinations, date range constraints, or account alias resolution logic beyond what the schema already states.
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 ('Export'), resource ('search analytics data'), and supported formats ('CSV or JSON'). However, it does not explicitly differentiate from the sibling 'query_search_analytics' tool, which likely retrieves the same data but in a different manner.
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 phrase 'for external analysis or reporting' provides implied usage context, suggesting when to choose file export formats. However, it lacks explicit guidance on when to use this versus 'query_search_analytics' or other data retrieval siblings, and does not mention prerequisites like account configuration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_keyword_opportunitiesARead-onlyIdempotent
Find keyword optimization opportunities - queries with high impressions but low CTR that could be improved.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Account alias to use (e.g., "default", "personal"). If omitted and only one account exists, it is used automatically. | |
| siteUrl | Yes | The site URL to analyze | |
| startDate | Yes | Start date in YYYY-MM-DD format | |
| endDate | Yes | End date in YYYY-MM-DD format | |
| minImpressions | No | Minimum impressions to consider (default: 100) | |
| maxCtr | No | Maximum CTR to consider as opportunity (default: 0.03 = 3%) | |
| maxPosition | No | Maximum position to consider (default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnly, idempotent, non-destructive), allowing the description to focus on business logic. It successfully discloses the behavioral definition of 'opportunity' (high impressions + low CTR threshold) which isn't evident from the annotations alone.
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?
Single sentence with zero redundancy. The definition is front-loaded and every word earns its place by conveying both the action and the specific filtering logic.
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 100% schema coverage and read-only nature, the description adequately explains the core business logic. However, without an output schema, it could briefly mention what data is returned (e.g., list of queries with metrics) to be fully 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?
With 100% schema description coverage, the schema adequately documents all 7 parameters. The description conceptually maps to minImpressions and maxCtr by mentioning 'high impressions' and 'low CTR,' but does not add syntax, format details, or examples beyond the schema definitions.
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 ('Find') and clearly defines both the resource (keyword optimization opportunities) and the specific criteria used to identify them (queries with high impressions but low CTR). This distinguishes it from generic analytics siblings like query_search_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?
The description implies when to use the tool (when seeking to optimize CTR for underperforming high-impression queries) but lacks explicit guidance on when NOT to use it or how it differs from siblings like analyze_brand_queries or get_keyword_trend.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_keyword_trendBRead-onlyIdempotent
Get the performance trend of a specific keyword over time. Shows daily clicks, impressions, and position changes.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Account alias to use (e.g., "default", "personal"). If omitted and only one account exists, it is used automatically. | |
| siteUrl | Yes | The site URL | |
| keyword | Yes | The exact keyword to track | |
| startDate | Yes | Start date (YYYY-MM-DD) | |
| endDate | Yes | End date (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive traits. The description adds valuable return-value context ('daily clicks, impressions, and position changes') indicating granularity and data structure, but doesn't address rate limits, pagination, or auth requirements beyond the account parameter.
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?
Two well-structured sentences with zero waste. Front-loaded with the core action ('Get the performance trend...'), followed by specific return value details. Every word earns its place.
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 100% schema coverage and comprehensive annotations, the description is adequate. It partially compensates for the missing output schema by specifying the returned metrics (clicks, impressions, position changes), though it could note if the data is aggregated or raw.
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?
With 100% schema description coverage, the baseline is met. The description implies the temporal scope ('over time') aligning with date parameters, but doesn't elaborate on parameter interactions or constraints (e.g., date range limits) beyond the schema definitions.
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 it retrieves 'performance trend of a specific keyword over time' with specific metrics (clicks, impressions, position changes). It distinguishes from siblings like 'get_top_pages' by emphasizing single-keyword time-series analysis, though it could explicitly contrast with 'query_search_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?
No guidance provided on when to use this tool versus alternatives like 'query_search_analytics' or 'compare_performance'. The agent must infer from the name and parameters that this is specifically for longitudinal single-keyword tracking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_pagesBRead-onlyIdempotent
Get top performing pages sorted by clicks, impressions, CTR, or position.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Account alias to use (e.g., "default", "personal"). If omitted and only one account exists, it is used automatically. | |
| siteUrl | Yes | The site URL | |
| startDate | Yes | Start date in YYYY-MM-DD format | |
| endDate | Yes | End date in YYYY-MM-DD format | |
| sortBy | No | Sort by: "clicks", "impressions", "ctr", or "position" (default: clicks) | |
| limit | No | Number of pages to return (default: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive properties. The description adds context about the sorting behavior (by clicks, impressions, CTR, or position) but fails to disclose the data source (likely Google Search Console), aggregation methodology, or that lower position values indicate better rankings.
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 9-word sentence with the verb front-loaded. While there is no wasted text, the extreme brevity comes at the cost of contextual guidance that would help an agent select this tool correctly.
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 presence of 11 sibling analytics tools and the lack of an output schema, the description is insufficiently complete. It fails to explain what constitutes 'top' performance, how pagination works, or the relationship between this tool and the broader analytics suite.
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 100%, so the schema fully documents all parameters including date formats and the sortBy enum. The description reinforces the sorting capability but does not add semantic depth regarding the 'account' alias system or default behaviors beyond what the schema provides.
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 (Get), resource (top performing pages), and sorting dimensions (clicks, impressions, CTR, position). However, it does not explicitly differentiate from sibling tools like 'query_search_analytics' that may also return page-level 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 no guidance on when to use this tool versus alternatives such as 'query_search_analytics' or 'compare_performance'. It omits prerequisites (e.g., requiring Search Console access) and does not indicate typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_urlARead-onlyIdempotent
Inspect a URL to check its indexing status, mobile usability, and rich results. Shows if Google can crawl and index the page.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Account alias to use (e.g., "default", "personal"). If omitted and only one account exists, it is used automatically. | |
| siteUrl | Yes | The site property URL (e.g., "https://example.com" or "sc-domain:example.com") | |
| inspectionUrl | Yes | The full URL to inspect (e.g., https://example.com/page) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive traits. The description adds valuable behavioral context about what specifically gets inspected (indexing status, mobile usability, rich results) but omits rate limits, authentication requirements, or error conditions (e.g., unverified site 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?
Two efficient sentences with zero waste. The first sentence front-loads the action and scope, while the second clarifies the specific capability regarding crawl/index status. Every word earns its place.
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 good annotations and complete schema coverage, the description adequately covers the tool's purpose. While it lacks an output schema, it describes what information is revealed (indexing, mobile usability, rich results), which is sufficient for agent selection, though explicit return structure details would improve 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?
With 100% schema description coverage, the schema fully documents all three parameters (account, siteUrl, inspectionUrl). The description does not add parameter-specific semantics, but the baseline score of 3 is appropriate given the schema's completeness.
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 specific verbs ('Inspect', 'check', 'Shows') and clearly identifies the resource (URL) and scope (indexing status, mobile usability, rich results, crawl/index capability). It effectively distinguishes from analytics-focused siblings like query_search_analytics or compare_performance by focusing on single-URL technical inspection.
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 context (single URL inspection) but lacks explicit guidance on when to use this versus bulk analytics tools like query_search_analytics or get_top_pages. No prerequisites (e.g., site verification requirements) or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_accountsARead-onlyIdempotent
List all authenticated Google accounts and their associated GSC sites.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations comprehensively cover safety profile (readOnly, non-destructive, idempotent). Description adds valuable context about scope ('all' accounts) and return content ('associated GSC sites'), but omits pagination behavior, rate limits, or specific OAuth scope requirements beyond implied authentication.
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?
Single efficient sentence with zero waste. Information density is high—conveys operation type, scope ('all'), authentication context, and return payload structure without 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?
Sufficient for a discovery tool with rich annotations. Description compensates for missing output schema by specifying return content includes 'associated GSC sites'. Could be improved by noting if results are cached or real-time, but adequate given tool simplicity.
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?
Zero parameters present per schema (100% coverage of empty schema). Per rubric, zero-parameter tools receive baseline score of 4. Description appropriately requires no parameter clarification.
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?
Description uses specific verb 'List' with clear resource 'authenticated Google accounts and their associated GSC sites'. Effectively distinguishes from sibling 'list_sites' by emphasizing account-level discovery with site associations, clarifying this returns account hierarchies rather than just site lists.
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 implicit usage context through 'authenticated' qualifier (indicating this discovers available auth contexts), but lacks explicit when-to-use guidance versus 'list_sites' or prerequisites for authentication. No alternatives named despite functional overlap with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sitemapsARead-onlyIdempotent
List all sitemaps submitted for a site in Google Search Console.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Account alias to use (e.g., "default", "personal"). If omitted and only one account exists, it is used automatically. | |
| siteUrl | Yes | The site URL (e.g., "https://example.com" or "sc-domain:example.com") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable domain context ('Google Search Console') and relationship context ('submitted'), but does not disclose additional behavioral traits like return format, pagination, or error conditions for invalid site URLs.
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?
Single sentence with zero waste. Front-loaded with action verb ('List'), followed by scope ('all sitemaps'), qualifier ('submitted for a site'), and domain ('Google Search Console'). Every word earns its place.
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 low complexity (2 simple string parameters, no nesting) and 100% schema coverage with good annotations, the description is nearly complete. Minor gap: no output schema exists, so mentioning the return structure (e.g., 'returns array of sitemap metadata') would elevate this to 5.
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?
With 100% schema description coverage, the schema fully documents both 'account' (optional alias) and 'siteUrl' (required). The description does not mention parameters explicitly, but at high schema coverage, baseline 3 is appropriate as the description focuses on the operation rather than parameter semantics.
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 specific verb 'List' with clear resource 'sitemaps' and scope 'submitted for a site in Google Search Console'. It effectively distinguishes from siblings like list_accounts (accounts) and list_sites (sites) by specifying the target 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 implies usage context (retrieving sitemaps for a specific site), but provides no explicit when-to-use guidance, prerequisites, or differentiation from related tools like inspect_url which also interacts with individual URLs/paths.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sitesARead-onlyIdempotent
List all sites you have access to in Google Search Console. When multiple accounts exist and no account is specified, shows all accounts' sites grouped by account.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Account alias to use (e.g., "default", "personal"). If omitted and only one account exists, it is used automatically. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations declare read-only/idempotent properties, the description adds valuable behavioral context about the grouping logic (grouped by account) when multiple accounts exist. It also confirms the external scope (Google Search Console), aligning with the openWorldHint annotation without contradiction.
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 two efficient sentences with zero waste. The first sentence front-loads the core purpose, while the second provides essential conditional behavior regarding account handling. Every word earns its place.
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 (single optional parameter, read-only operation) and strong annotations, the description is appropriately complete. It explains what is returned (sites grouped by account) despite the absence of an output schema, though it could briefly mention the return format structure.
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?
With 100% schema coverage, the input schema fully documents the account parameter's purpose and optional nature. The description reinforces this behavior but does not add significant semantic meaning—such as example account aliases or validation rules—beyond what the schema already provides.
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 specific action ('List') and resource ('sites') with context ('Google Search Console'). It effectively distinguishes from sibling tools like 'list_accounts' (which lists accounts) and 'list_sitemaps' (which lists sitemaps) by specifying it returns sites the user has access to.
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 guidance on parameter behavior, explaining exactly what happens when the account parameter is omitted in multi-account scenarios ('shows all accounts' sites grouped by account'). However, it lacks explicit guidance on when to use this versus 'list_accounts' first, or how it relates to site-specific tools like 'inspect_url'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_by_search_appearanceARead-onlyIdempotent
Query analytics filtered by search appearance type (AMP, Rich Results, Video, FAQ, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Account alias to use (e.g., "default", "personal"). If omitted and only one account exists, it is used automatically. | |
| siteUrl | Yes | The site URL | |
| startDate | Yes | Start date (YYYY-MM-DD) | |
| endDate | Yes | End date (YYYY-MM-DD) | |
| searchAppearance | Yes | The search appearance type to filter by | |
| rowLimit | No | Maximum rows to return (default: 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, non-destructive). The description adds context by mapping technical enum values to user-friendly categories (e.g., 'Rich Results' covers multiple schema enums). However, it fails to describe what the analytics contain (clicks, impressions, CTR?), pagination behavior, or date range constraints given the lack of output 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?
Single sentence, front-loaded with the action ('Query analytics'), immediately qualified by the specific filter dimension. Every word serves a purpose; no redundancy or filler content despite being minimal.
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 100% schema coverage and annotations providing safety context, the description adequately covers the input side. However, given no output schema exists, the description should explain what analytics/metrics are returned (e.g., clicks, impressions, position) and their format, which it omits.
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?
While schema coverage is 100%, the description adds valuable semantic mapping between user-friendly terms ('AMP', 'Rich Results', 'Video') and the technical enum values in the schema. This helps the agent understand the domain meaning of the searchAppearance parameter beyond the schema's generic 'The search appearance type to filter by' description.
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?
Clear verb (Query) + resource (analytics) + specific filter mechanism (search appearance type). Examples (AMP, Rich Results, Video, FAQ) clarify the domain. However, it lacks explicit differentiation from sibling tool 'query_by_search_type' which has a very similar name and could confuse the agent.
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 specific examples (AMP, Rich Results, etc.) provide implied usage context—use this when analyzing SERP feature performance. However, there is no explicit 'when-not-to-use' or comparison to alternatives like 'query_search_analytics' or 'query_by_search_type' despite the high similarity in naming.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_by_search_typeBRead-onlyIdempotent
Query analytics filtered by search type: web, image, video, news, or discover.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Account alias to use (e.g., "default", "personal"). If omitted and only one account exists, it is used automatically. | |
| siteUrl | Yes | The site URL | |
| startDate | Yes | Start date (YYYY-MM-DD) | |
| endDate | Yes | End date (YYYY-MM-DD) | |
| searchType | Yes | The search type to filter by | |
| dimensions | No | Dimensions to group by (default: ["query"]) | |
| rowLimit | No | Maximum rows to return (default: 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds the specific valid search type values (web, image, video, news, discover), reinforcing the enum constraint. However, it fails to disclose what data structure or metrics are returned (clicks, impressions, etc.) given the lack of output 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?
Single sentence with no redundant words. The critical information (search type filtering and specific values) is front-loaded and immediately scannable.
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 7 parameters and no output schema, the description fails to characterize the returned analytics data or explain the tool's relationship to similar query tools. For a tool with this parameter complexity, the description is insufficiently informative.
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?
With 100% schema description coverage, the baseline is met. The description lists the search type enum values, which restates the schema, but adds no additional semantic context about date formats, dimension behavior, or account aliases beyond what the schema provides.
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 (Query) and resource (analytics) with specific scope (filtered by search type). It implies differentiation from the general `query_search_analytics` sibling by emphasizing the search type filter, though it doesn't explicitly name the 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?
The description provides no guidance on when to select this tool versus the general `query_search_analytics` or other sibling tools. It omits prerequisites such as valid date ranges or site URL requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_search_analyticsBRead-onlyIdempotent
Query Google Search Console search analytics data. Returns search queries, clicks, impressions, CTR, and average position.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Account alias to use (e.g., "default", "personal"). If omitted and only one account exists, it is used automatically. | |
| siteUrl | Yes | The site URL to query (e.g., "https://example.com" or "sc-domain:example.com") | |
| startDate | Yes | Start date in YYYY-MM-DD format | |
| endDate | Yes | End date in YYYY-MM-DD format | |
| dimensions | No | Dimensions to group by: "query", "page", "country", "device", "date". Default: ["query"] | |
| rowLimit | No | Maximum number of rows to return (1-25000). Default: 1000 | |
| filters | No | Optional filters. Example: [{"dimension": "query", "expression": "keyword"}] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds value by specifying the exact metrics returned (queries, clicks, impressions, CTR, position), which compensates for the missing output schema. It does not mention rate limits, pagination behavior, or data freshness.
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 two efficient sentences: the first declares the action and target system, the second lists return values. There is no redundant text, and the most important information (the querying capability) appears first.
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 7 well-documented parameters and comprehensive safety annotations, the description is sufficiently complete because it discloses the return structure (metrics list) that would normally appear in an output schema. It adequately supports agent decision-making for a read-only data retrieval operation.
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?
With 100% schema description coverage, the schema fully documents all 7 parameters including the filter object structure. The description adds no parameter-specific guidance (e.g., date format details, dimension options), so it meets the baseline for high-coverage schemas.
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 ('Query') and resource ('Google Search Console search analytics data'), and specifies the returned metrics (queries, clicks, impressions, CTR, average position). However, it does not differentiate this tool from similar siblings like 'query_by_search_appearance' or 'query_by_search_type'.
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 like 'get_top_pages' or 'analyze_brand_queries', nor does it mention prerequisites (e.g., needing to verify site ownership first). It simply states what the tool does in isolation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Tools are well-differentiated by function, though the three 'query_' prefixed tools (query_search_analytics, query_by_search_type, query_by_search_appearance) serve related purposes and require careful reading to select the appropriate filter. All other tools have distinct, non-overlapping domains such as URL inspection, sitemap listing, and brand analysis.
Consistent snake_case format throughout with descriptive verb_noun patterns (e.g., analyze_brand_queries, export_analytics, inspect_url). Minor deviation with 'query_by_' prepositional structure for two tools, but this remains predictable and readable.
Thirteen tools is ideal for Google Search Console analytics coverage—sufficient to handle diverse querying needs (time comparisons, keyword trends, search appearances) without becoming overwhelming. Each tool addresses a specific analytical use case.
Excellent coverage of GSC analytics workflows including performance comparison, keyword opportunity detection, and multi-dimensional querying. Minor gaps in site management operations (no submit_sitemap or request_indexing tools), but core data retrieval and URL inspection capabilities are fully represented.
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 analytics from Google Search Console: keyword rankings, clicks, impressions, CTR. Read-only.
Read Search Console performance, keyword opportunities and annotations for your sites.
SEO & marketing toolkit for AI agents: GA4, Search Console, AdSense, GTM, PageSpeed, Trends.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides access to Google Search Console to retrieve and analyze search performance data including queries, pages, and rankings. It enables users to perform rich data analysis through customizable reporting periods and dimensions using the Search Console API.4,053MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables querying Google Search Console and Google Analytics 4 data to retrieve search performance and site analytics. It provides tools for listing web properties and running detailed reports using secure Google OAuth authentication.
- AlicenseNot gradedqualityDmaintenanceEnables querying Google Search Console data including rankings, clicks, and impressions for websites. Provides tools for analyzing search performance, top queries, page metrics, and ranking changes.MIT
- AlicenseAqualityAmaintenanceGoogle Search Console for agents: search analytics by query, page, country, and device, plus a striking-distance report for queries ranking just off page one. Also lists, submits, and removes sitemaps and inspects URLs for index status, last crawl, and canonical.754MIT
Appeared in Searches
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/lionkiii/google-searchconsole-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server