使用说明
谷歌搜索控制台MCP服务器
一个模型上下文协议(MCP)服务器,提供与谷歌搜索控制台API交互的工具。此服务器使Claude和其他MCP客户端能够访问搜索分析数据、管理站点地图和检查URL。
特性
- 列出站点:在谷歌搜索控制台中获取您有权访问的所有属性
- 搜索分析:使用可定制的维度(查询、页面、国家/地区、设备等)查询搜索性能数据
- 网站地图管理:列出、提交和删除站点地图
- URL检查:检查单个URL的索引状态和问题
先决条件
- Node.js 18或更高版本
- 启用搜索控制台API的谷歌云项目
- OAuth 2.0凭据(客户端ID、客户端密钥和刷新令牌)
设置
1.安装依赖项
npm install
2.谷歌云设置
- 首选 谷歌云控制台
- 创建新项目或选择现有项目
- 启用 谷歌搜索控制台API:
- 导航到“API和服务”>“库”
- 搜索“谷歌搜索控制台API”
- 点击“启用”
3.创建OAuth 2.0凭据
- 转到“API和服务”>“凭据”
- 点击“创建凭据”>“OAuth客户端ID”
- 选择“桌面应用程序”作为应用程序类型
- 命名它(例如,“搜索控制台MCP”)
- 点击“创建”
- 下载JSON凭据或记下客户端ID和客户端密码
4.获取刷新令牌
您需要使用OAuth 2.0获取刷新令牌。这里有一个简单的方法:
- 使用 OAuth 2.0游乐场
- 点击齿轮图标(⚙️) 在右上角
- 勾选“使用您自己的OAuth凭据”
- 输入您的客户端ID和客户端密码
- 在步骤1中,找到“Search Console API v1”并选择:
https://www.googleapis.com/auth/webmasters.readonly
- 点击“授权API”
- 使用您的Google帐户登录
- 在步骤2中,单击“令牌交换授权码”
- 复制 刷新令牌
5.设置环境变量
创建一个 .env 文件或设置以下环境变量:
export GOOGLE_CLIENT_ID="your-client-id.apps.googleusercontent.com"
export GOOGLE_CLIENT_SECRET="your-client-secret"
export GOOGLE_REFRESH_TOKEN="your-refresh-token"
6.建设项目
npm run build
Claude桌面配置
将此添加到您的Claude Desktop配置文件中:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"google-search-console": {
"command": "node",
"args": ["/absolute/path/to/google-search-console-mcp/dist/index.js"],
"env": {
"GOOGLE_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
"GOOGLE_CLIENT_SECRET": "your-client-secret",
"GOOGLE_REFRESH_TOKEN": "your-refresh-token"
}
}
}
}
替换 /absolute/path/to/google-search-console-mcp 与这个项目的实际路径。
可用工具
list_网站
列出您在谷歌搜索控制台中有权访问的所有网站/属性。
参数:无
示例:
// Returns list of all sites
{
"siteEntry": [
{
"siteUrl": "https://example.com/",
"permissionLevel": "siteOwner"
}
]
}
get_search_analytics
获取特定网站的搜索性能数据。
参数:
siteUrl(必填):网站URL(例如。,https://example.com/或sc-domain:example.com)startDate(必填):开始日期,格式为YYYY-MM-DDendDate(必填):YYYY-MM-DD格式的结束日期dimensions(可选):要分组的维度数组-query,page,country,device,searchAppearance,daterowLimit(可选):要返回的最大行数(默认值:1000,最大值:25000)startRow(可选):分页开始行(默认值:0)
示例:
{
"siteUrl": "https://example.com/",
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"dimensions": ["query", "page"],
"rowLimit": 100
}
获取_项目地图
列出一个站点的所有站点地图。
参数:
siteUrl(必填):网站URL
提交站点地图
向Google搜索控制台提交站点地图。
参数:
siteUrl(必填):网站URLfeedpath(必填):站点地图URL
删除项目图
从谷歌搜索控制台删除站点地图。
参数:
siteUrl(必填):网站URLfeedpath(必填):要删除的站点地图URL
inspect_url
检查URL的索引状态和问题。
参数:
siteUrl(必填):网站URLinspectionUrl(必填):要检查的URL
发展
观看模式
npm run watch
在开发中运行
npm run dev
故障排除
身份验证错误
如果您遇到身份验证错误:
- 验证您的客户端ID、客户端密码和刷新令牌是否正确
- 确保在Google Cloud项目中启用搜索控制台API
- 确保您的刷新令牌尚未过期(除非被撤销,否则它们通常不会过期)
权限错误
确保与您的刷新令牌关联的Google帐户可以访问您尝试查询的Search Console属性。
速率限制
搜索控制台API有速率限制。如果你打他们:
- 减少您的请求频率
- 使用较小的日期范围
- 实现重试的指数回退
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交拉取请求。
