关于 geoseo-mcp
geoseo-mcp 是面向网站所有者和 SEO 团队的开源 MCP 服务,用于 SEO 审核和生成式搜索可见度分析。它整合搜索平台与索引数据、页面和链接分析,以及多个 LLM 服务的引用检查,并用本地 SQLite 保存趋势快照。
主要功能
- 01审核页面、网站和 Schema
- 02检查搜索引擎与索引数据
- 03跟踪多个 LLM 服务的引用
- 04分析内链并提供链接建议
- 05生成和验证 llms.txt
- 06保存可见度快照与趋势
适用场景
- 01查找网站页面的 SEO 问题
- 02比较品牌在 LLM 中的引用率
- 03定位孤立页面和失效链接
- 04跟踪搜索与 AI 可见度变化
MCP 相关
它向 MCP 客户端提供 SEO、索引、LLM 引用、AI Overviews、链接图谱、llms.txt 和趋势工具,并支持 stdio 与 streamable HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx geoseo-mcpGEOSEO_OPENAI_API_KEY密钥OpenAI API key for ChatGPT citation checksGEOSEO_ANTHROPIC_API_KEY密钥Anthropic API key for Claude citation checksGEOSEO_GEMINI_API_KEY密钥Gemini API key for Google Search grounded checksGEOSEO_PERPLEXITY_API_KEY密钥Perplexity API keyGEOSEO_XAI_API_KEY密钥xAI API key for Grok citation checksGEOSEO_BRAVE_API_KEY密钥Brave Search API key (Answers plan) for Brave citation checksGEOSEO_SERPAPI_API_KEY密钥SerpAPI key for Google AI Overviews trackingGEOSEO_BING_WEBMASTER_API_KEY密钥Bing Webmaster Tools API keyGEOSEO_YANDEX_OAUTH_TOKEN密钥Yandex Webmaster OAuth tokenGEOSEO_INDEXNOW_KEY密钥IndexNow key hosted at https://yourdomain.com/<key>.txtGEOSEO_GOOGLE_CLIENT_SECRET密钥Path to a Google OAuth client_secret.json for Search ConsoleGEOSEO_TOOLSETSComma-separated toolsets to expose (default: all)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
47收录的工具列表 · 更新于 5 天前
此工具无需参数。
详细介绍
geoseo-mcp
一款开源 MCP 服务,支持传统 SEO 和生成式引擎优化(GEO):Google Search Console、Bing、IndexNow、Google AI Overviews,以及对 ChatGPT、Claude、Gemini、Perplexity、Grok 和 Brave 的引用追踪,尽在一个服务中。
30 秒即可试用(无需 API 密钥)
# Audit any page: title, meta, headings, schema, freshness, GEO quotability, 0-100 score
uvx geoseo-mcp audit https://example.com
# Check a site's llms.txt against the spec
uvx geoseo-mcp llms-txt https://llmstxt.org
# Same audit after running JavaScript (for SPAs); needs the [render] extra
uvx --from 'geoseo-mcp[render]' geoseo-mcp audit https://your-spa.com --render
示例输出:
$ uvx geoseo-mcp audit https://example.com
https://example.com
score: 15/100
title: 'Example Domain'
words: 27
8 issue(s):
✗ meta_description: Meta description should be 70-160 chars [length=0]
✗ h1: Exactly one H1 expected [found=0]
✗ word_count: Pages under 300 words rarely rank or get cited [words=27]
✗ schema: No JSON-LD schema found; LLMs and Google use this heavily
✗ canonical: Missing canonical URL
✗ open_graph: Missing core Open Graph tags (og:title, og:description)
✗ freshness: No published-date signal found; LLMs deprioritize stale content
✗ quotability: Few short, fact-dense sentences; LLMs prefer quotable lines [quotable_sentences=0]
3 check(s) passed. Use --json for the full report.
其他无需密钥的命令:audit-site ./content、generate-llms-txt ./content https://yourdomain.com、status。运行 uvx geoseo-mcp --help 查看所有命令。
在 MCP Inspector 中试用全部 47 个工具:
npx @modelcontextprotocol/inspector uvx geoseo-mcp
不带任何参数运行 geoseo-mcp,即可通过 stdio 启动 MCP 服务,这是 MCP 客户端所需的方式。
添加到 MCP 客户端
Cursor
也可以手动将其添加到 ~/.cursor/mcp.json(参见 examples/cursor-mcp.json)。
Claude Code
claude mcp add geoseo -- uvx geoseo-mcp
# with keys
claude mcp add geoseo \
-e GEOSEO_OPENAI_API_KEY=sk-... \
-e GEOSEO_PERPLEXITY_API_KEY=pplx-... \
-- uvx geoseo-mcp
Claude Desktop
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"geoseo": {
"command": "uvx",
"args": ["geoseo-mcp"],
"env": {
"GEOSEO_OPENAI_API_KEY": "sk-...",
"GEOSEO_ANTHROPIC_API_KEY": "sk-ant-...",
"GEOSEO_GEMINI_API_KEY": "AIza...",
"GEOSEO_XAI_API_KEY": "xai-...",
"GEOSEO_BRAVE_API_KEY": "...",
"GEOSEO_PERPLEXITY_API_KEY": "pplx-...",
"GEOSEO_SERPAPI_API_KEY": "...",
"GEOSEO_GOOGLE_CLIENT_SECRET": "/absolute/path/to/client_secret.json",
"GEOSEO_BING_WEBMASTER_API_KEY": "...",
"GEOSEO_YANDEX_OAUTH_TOKEN": "y0_...",
"GEOSEO_INDEXNOW_KEY": "..."
}
}
}
}
每个键都是可选的;删除你没有的键即可。其他客户端(Continue、Cline、Windsurf、VS Code)也使用相同的 command / args / env 配置块。参见 examples/。
然后直接提问:
“对于 ‘best CRM for startups’,ChatGPT、Claude、Gemini、Perplexity 和 Grok 中哪些会引用 acme.com?每个平台运行 3 次采样。” “审查我的
./content文件夹,并列出表现最差的 5 个页面。” “构建内部链接图,并找出孤立页面。”
功能范围
| 范围 | 工具 |
|---|---|
| Google Search | GSC 性能、URL 检查、站点地图 |
| Bing Webmaster | 站点统计、查询/页面统计、URL 信息、URL 提交、抓取问题 |
| Yandex Webmaster | 站点质量指数、热门查询、重要页面状态、重新抓取队列、诊断 + 失效的内部链接 |
| Bing / Yandex / Naver / Seznam | IndexNow 提交 |
| Google AI Overviews | 通过 SerpAPI 使用 aio_check + aio_citation_check |
| 大模型引用 | ChatGPT(网页搜索)、Claude(网页搜索)、Gemini(Google Search grounding)、Perplexity(Agent API)、Grok(xAI 网页搜索)、Brave(Answers API),以及可向所有这些平台分发请求的 multi_llm_* 工具 |
| 页面内 | 标题 / meta / 标题层级 / schema / 内部链接审查,0-100 分,可选 JS 渲染 |
| 内部链接图 | 孤立页面、死胡同、枢纽、悬空链接、带锚文本提示的相关页面建议(默认使用 TF-IDF,也可使用 OpenAI / Gemini / 本地嵌入) |
llms.txt | 从 HTML 文件夹生成,并根据规范进行验证 |
| 趋势追踪 | 在本地保存 GSC、大模型引用和 AIO 的 SQLite 快照,并提供趋势工具 |
采用 MIT 许可并以本地运行为先:你的凭据和数据始终保留在你的设备上。
引用检查的工作方式
multi_llm_citation_check(questions, target_domain) 会向每个已配置的引擎针对每个问题提问多次(samples,默认值为 3),因为大模型的回答每次运行都会有所不同。每个引擎都会返回:
citation_rate及其 95% Wilson 区间,以及每个问题的cited_rate和stable标志mention_rate和unlinked_mention_rate:提及你的品牌但未链接到你的网站的回答top_competing_domains:取代你的网站获得引用的域名- 支持子域名匹配(
docs.acme.com会计入acme.com)
品牌别名根据域名推导(acme.com → acme),你也可以通过 brand_aliases 传入自己的别名。请求会并行运行,并发数上限由 GEOSEO_MAX_CONCURRENCY 控制(默认值为 8)。
大致费用
以下为截至 2026 年 10 月的近似标价;进行大批量运行前,请查看各提供商的定价页面。
| 引擎 | 调用方式 | 每次查询的近似费用 |
|---|---|---|
| ChatGPT(定价) | Responses API,gpt-5-mini + web_search | 搜索费约 $0.01,另加令牌费用,总计约 $0.01-0.02 |
| Claude(定价) | Messages API + web_search 工具 | 每 1k 次搜索 $10,另加令牌费用 |
| Gemini(定价) | gemini-3.5-flash-lite + Google Search grounding | 每月 5,000 次免费 grounding 请求,之后每 1k 次 $14,另加令牌费用 |
| Perplexity(定价) | Agent API,fast 预设 | 每 1k 次搜索约 $2.50,另加令牌费用 |
| Grok(定价) | Responses API,grok-4.3 + web_search | 按令牌和每次搜索调用分别计费 |
| Brave(定价) | Answers API,流式响应并附带引用 | 每 1k 次搜索约 $4 + 每 M 个令牌 $5 |
| Google AI Overviews(定价) | SerpAPI | 每月 250 次免费搜索,之后按套餐定价 |
针对 10 个问题、每个问题采样 3 次并使用四个引擎的检查会发出 120 次调用,费用通常远低于 $2。快速抽查时可使用 samples=1。
获取凭据
- OpenAI:API key。使用 Responses API 和
web_search工具。可通过GEOSEO_OPENAI_MODEL覆盖模型。 - Anthropic:API key。使用 Claude 和服务端网页搜索工具。
- Gemini:来自 AI Studio 的 API key。使用 Google 搜索 grounding(与 AI Overviews 使用相同的索引)。
- Perplexity:API key。使用 Agent API 和
fast预设;设置GEOSEO_PERPLEXITY_EFFORT或GEOSEO_PERPLEXITY_MODEL可更改配置。 - xAI Grok:来自 xAI 控制台的 API key,设置为
GEOSEO_XAI_API_KEY。使用 Responses API 和web_search工具;可通过GEOSEO_GROK_MODEL覆盖模型(默认值为grok-4.3)。 - Brave Answers:Answers 计划的 API key,设置为
GEOSEO_BRAVE_API_KEY。答案来自 Brave 自有索引。 - SerpAPI:API key。免费计划:每月 250 次搜索。用于跟踪 AI Overviews。
- Google Search Console:参见
docs/setup-gsc.md。需进行一次性 OAuth 流程。 - Bing Webmaster:从 Bing Webmaster Tools → Settings → API access 获取 API key。
- Yandex Webmaster:OAuth 令牌。使用
webmaster:hostinfo和webmaster:verify两项权限注册应用(仅有 hostinfo 只能列出网站),然后通过https://oauth.yandex.com/authorize?response_type=token&client_id=<id>获取令牌,并设置GEOSEO_YANDEX_OAUTH_TOKEN。文档。 - IndexNow:任意随机的 32 位十六进制字符串,托管在
https://yourdomain.com/<key>.txt。规范。
需要密钥但尚未设置的工具会返回明确错误;其他功能仍可正常使用。
配置
| 环境变量 | 默认值 | 作用 |
|---|---|---|
GEOSEO_TOOLSETS | all | 要公开的工具集,以逗号分隔:gsc,bing,yandex,indexing,llm,aio,audit,graph,trend。工具越少,提供给 Agent 的上下文就越少。 |
GEOSEO_CITATION_SAMPLES | 3 | multi_llm_citation_check 每个问题的默认样本数(最多 10 个)。 |
GEOSEO_MAX_CONCURRENCY | 8 | 大模型请求的最大并行数。 |
GEOSEO_OPENAI_MODEL | gpt-5-mini | 用于 ChatGPT 检查的模型。 |
GEOSEO_ANTHROPIC_MODEL | claude-sonnet-5-5 | 用于 Claude 检查的模型。 |
GEOSEO_GEMINI_MODEL | gemini-3.5-flash-lite | 用于 Gemini 检查的模型。 |
GEOSEO_GROK_MODEL | grok-4.3 | 用于 Grok 检查的模型。 |
GEOSEO_PERPLEXITY_EFFORT / GEOSEO_PERPLEXITY_MODEL | fast / unset | Perplexity Agent API 预设,或固定使用的模型。 |
GEOSEO_TRANSPORT | stdio | stdio 或 http(流式 HTTP)。 |
GEOSEO_HOST / GEOSEO_PORT | 127.0.0.1 / 8000 | HTTP 绑定地址。 |
GEOSEO_DB | 用户数据目录 | 用于趋势快照的 SQLite 文件。 |
示例:仅启用无需密钥的审计工具,精简 Agent 上下文:
"env": { "GEOSEO_TOOLSETS": "audit,graph" }
流式 HTTP
uvx geoseo-mcp serve --transport http --port 8000
# MCP endpoint: http://127.0.0.1:8000/mcp
默认绑定到 localhost。此服务没有内置身份验证,因此在向外公开之前,请先将其置于可信代理之后。
JavaScript 渲染
默认情况下,audit_page 会读取原始 HTML。如果页面看起来像 JavaScript 外壳(空的 SPA 根节点或几乎没有文本),它会添加一条 js_rendering 发现结果。安装额外组件并传入 render=True(或在 CLI 中使用 --render),即可审计渲染后的 DOM:
pip install 'geoseo-mcp[render]' && playwright install chromium
工具(47)
- 状态:
geoseo_status、list_llm_engines - Google Search Console:
gsc_list_sites、gsc_performance、gsc_inspect_url、gsc_submit_sitemap - Bing Webmaster:
bing_list_sites、bing_query_stats、bing_page_stats、bing_url_info、bing_submit_url、bing_crawl_issues - Yandex Webmaster:
yandex_list_sites、yandex_site_summary、yandex_query_stats、yandex_url_info、yandex_submit_url、yandex_crawl_issues - 索引:
indexnow_submit_url、indexnow_submit_urls - 大模型引用:
perplexity_query、perplexity_citation_check、openai_query、claude_query、gemini_query、grok_query、brave_query、multi_llm_query、multi_llm_citation_check - Google AI Overviews:
aio_check、aio_citation_check - 页面内:
audit_page、audit_site、find_broken_external_links、lint_schema_page、lint_schema_site - 链接图谱:
internal_link_graph、suggest_internal_links - llms.txt:
generate_llms_txt、validate_llms_txt - 趋势:
trend_init、trend_stats、snapshot_gsc、snapshot_llm_citations、snapshot_serp_aio、trend_gsc、trend_llm_citations
suggest_internal_links 默认使用 TF-IDF(离线、免费)。传入 mode="openai"、"gemini" 或 "local"(sentence-transformers)可使用嵌入相似度;向量按内容哈希缓存在 SQLite 中。
对于 Yandex 工具,将常规 URL 作为 site 传入;系统会按照主镜像匹配到 Yandex 主机 ID(https:example.com:443)。yandex_url_info 仅涵盖“监控重要页面”中的页面(Yandex 没有任意 URL 检查端点)。
快照仅追加,并存储在 $GEOSEO_DB。每周安排 snapshot_* 工具运行,以构建 AI 搜索可见度的私有时间序列。
路线图
在 issues 中跟踪。0.4 版已发布:失效链接探查工具、架构标记检查器、Grok 和 Brave 引用引擎、基于嵌入的链接建议、Yandex Webmaster。
贡献
欢迎提交 PR。每个引擎都是 src/geoseo_mcp/engines/ 中的一个模块,提供 query() 并返回标准 {engine, question, model, answer, citations, cited_domains, usage} 结构;工具位于 src/geoseo_mcp/tools/。参见 docs/architecture.md。
git clone https://github.com/Rachit8484/geoseo-mcp.git && cd geoseo-mcp
uv sync --extra dev
uv run ruff check src tests && uv run pytest
许可证
MIT。参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。