关于 MCP Google Search Console
面向需要分析搜索表现和管理站点数据的团队,提供 Google Search Console MCP 服务。它支持搜索分析、站点地图、URL 检查和站点属性操作,并可通过浏览器 OAuth 或刷新令牌认证。
主要功能
- 01查询点击、展示、CTR 和排名
- 02列出和管理站点属性
- 03列出、提交和删除站点地图
- 04检查 URL 收录状态
- 05浏览器 OAuth 和令牌刷新
适用场景
- 01查看搜索表现指标
- 02提交或删除站点地图
- 03检查 URL 是否已收录
MCP 相关
向 MCP 客户端提供 Google Search Console 搜索分析、站点地图、URL 检查和站点属性操作工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-google-search-console-crunchtools
用于 Google Search Console 的安全 MCP 服务。查询搜索分析数据(点击次数、展示次数、点击率、排名),管理站点地图,检查 URL 索引状态,并管理站点属性。
安装
uvx(推荐,无需安装)
claude mcp add mcp-google-search-console-crunchtools \
--env GSC_CLIENT_ID=your_client_id \
--env GSC_CLIENT_SECRET=your_client_secret \
--env GSC_REFRESH_TOKEN=your_refresh_token \
-- uvx mcp-google-search-console-crunchtools
pip
pip install mcp-google-search-console-crunchtools
容器(Podman/Docker)
podman run -d -p 8017:8017 \
--env-file ~/.config/mcp-env/mcp-google-search-console.env \
quay.io/crunchtools/mcp-google-search-console \
--transport streamable-http --host 0.0.0.0
OAuth 设置
此服务支持两种身份验证方式:基于浏览器的 OAuth(推荐)和环境变量(备用)。
选项 A:基于浏览器的 OAuth(推荐)
基于浏览器的 OAuth 会自动处理令牌交换。凭据过期时,访问 /auth URL 并点击 Google 的授权同意页面即可,无需手动交换代码。
第 1 步:创建 Google Cloud OAuth 应用
- 前往 Google Cloud Console
- 创建新项目(或选择现有项目)
- 前往 APIs & Services > Library
- 搜索 Google Search Console API 并点击 Enable
- 前往 APIs & Services > Credentials
- 点击 + CREATE CREDENTIALS > OAuth client ID
- 如果出现提示,请先配置 OAuth 授权同意页面:
- 用户类型:External(如果使用 Google Workspace,也可以选择 Internal)
- 应用名称:任意名称(例如,“MCP Search Console”)
- 范围:添加
https://www.googleapis.com/auth/webmasters - 测试用户:添加你的 Google 账号邮箱
- 返回“Create OAuth client ID”页面:
- 应用类型:Web application
- 名称:任意名称(例如,“MCP Search Console”)
- 已授权的重定向 URI:添加服务的回调 URL(例如,
https://mcp-gsc.example.com/oauth2callback)
- 点击 Create — 复制 Client ID 和 Client Secret
第 2 步:配置并启动
创建 env 文件:
cat > ~/.config/mcp-env/mcp-google-search-console.env << 'EOF'
GSC_CLIENT_ID=your_client_id
GSC_CLIENT_SECRET=your_client_secret
GSC_CREDENTIALS_DIR=/data
GSC_OAUTH_REDIRECT_URI=https://mcp-gsc.example.com/oauth2callback
EOF
chmod 600 ~/.config/mcp-env/mcp-google-search-console.env
启动服务,并为凭据配置持久化卷:
podman run -d -p 8017:8017 \
--env-file ~/.config/mcp-env/mcp-google-search-console.env \
-v mcp-gsc-data:/data:Z \
quay.io/crunchtools/mcp-google-search-console \
--transport streamable-http --host 0.0.0.0
第 3 步:进行身份验证
在浏览器中访问 https://mcp-gsc.example.com/auth。你会被重定向到 Google 的授权同意页面。授予访问权限后,服务会自动保存凭据。
令牌过期时,任何工具调用都会返回 /auth URL。点击该链接即可重新进行身份验证,无需重启容器。
选项 B:环境变量(备用)
如果你倾向于使用静态凭据,或无法公开回调 URL,请在 env 文件中设置 GSC_REFRESH_TOKEN。请参阅下文的手动 OAuth 流程。
手动 OAuth 流程
export GSC_CLIENT_ID="your_client_id_here"
export GSC_CLIENT_SECRET="your_client_secret_here"
echo "https://accounts.google.com/o/oauth2/v2/auth?client_id=${GSC_CLIENT_ID}&redirect_uri=http://127.0.0.1&response_type=code&scope=https://www.googleapis.com/auth/webmasters&access_type=offline&prompt=consent"
- 在浏览器中打开 URL,登录并点击 Allow
- 从重定向 URL 中复制
code=的值 - 交换代码:
curl -s -X POST https://oauth2.googleapis.com/token \
-d "client_id=${GSC_CLIENT_ID}" \
-d "client_secret=${GSC_CLIENT_SECRET}" \
-d "code=PASTE_CODE_HERE" \
-d "grant_type=authorization_code" \
-d "redirect_uri=http://127.0.0.1" | python3 -m json.tool
- 从响应中复制
refresh_token,并将GSC_REFRESH_TOKEN=...添加到 env 文件中。
运行时工作原理
服务会按以下顺序检查凭据:
- 来自
GSC_CREDENTIALS_DIR/credentials.json的文件凭据(由基于浏览器的流程写入) - 环境变量
GSC_REFRESH_TOKEN(备用)
每次 API 调用时,服务都会将刷新令牌交换为短期访问令牌(约 1 小时),并将其缓存在内存中,自动刷新。更新后的令牌会持久化到凭据文件中,以便在容器重启后继续使用。
可用工具(10 个)
| 类别 | 数量 | 工具 |
|---|---|---|
| 站点 | 4 | list_sites, get_site, add_site, delete_site |
| 搜索分析 | 1 | query_search_analytics |
| 站点地图 | 4 | list_sitemaps, get_sitemap, submit_sitemap, delete_sitemap |
| URL 检查 | 1 | inspect_url |
安全性
- OAuth2 凭据以
SecretStr存储(绝不记录到日志中) - 基于文件的凭据以
0o600权限写入(原子写入) - 自动从错误消息中清除令牌
- 使用 Pydantic 验证输入,并设置
extra="forbid" - 不访问文件系统、不执行 shell 命令,也不求值代码
- 验证 TLS 证书(httpx 默认行为)
- 设置请求超时和响应大小限制
- 基于 Hummingbird 容器镜像构建
完整的安全设计文档请参阅 SECURITY.md。
开发
uv sync --all-extras
uv run ruff check src tests
uv run mypy src
uv run pytest -v
gourmand --full .
podman build -f Containerfile .
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。