关于 GEO Tracker by DigestSEO
GEO Tracker by DigestSEO 是供 SEO 与 GEO 从业者追踪品牌在 AI 搜索中的引用情况的工具。README 说明其以本地 stdio MCP 服务运行,扫描数据存储在本机,并使用自行配置的 AI 提供方密钥。
主要功能
- 01追踪 AI 搜索中的品牌引用
- 02扫描多个 AI 引擎
- 03本机保存扫描历史和缓存
- 04未配置密钥的引擎自动跳过
适用场景
- 01检查品牌在 AI 搜索中的可见度
- 02比较品牌在不同引擎中的引用
- 03回看已保存的扫描记录
MCP 相关
以本地 stdio MCP 服务形式向客户端提供 AI 可见度扫描工具;执行引擎扫描需要配置相应提供方密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @digestseo/mcp-geoOPENAI_API_KEY密钥Optional OpenAI API key for ChatGPT visibility scans. Configure at least one provider key to run scans.ANTHROPIC_API_KEY密钥Optional Anthropic API key for Claude scans, prompt generation, and content-gap analysis.GEMINI_API_KEY密钥Optional Google AI Studio API key for Gemini visibility scans.PERPLEXITY_API_KEY密钥Optional Perplexity API key for Perplexity visibility scans.XAI_API_KEY密钥Optional xAI API key for grounded Grok visibility scans with web search.SERPAPI_API_KEY密钥Optional SerpAPI key for Google AI Overviews visibility scans.SERPAPI_AI_MODE_ENABLEDOptional non-secret flag. Set true to add Google AI Mode; this adds a separate SerpAPI request per prompt.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
12收录的工具列表 · 更新于 1 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| engines | array | 否 | 要包含的引擎;省略或传入 [] 表示包含所有已存储的引擎。 |
| brand_id | string | 是 | 要检查的已跟踪品牌 ID。 |
详细介绍
DigestSEO — SEO 与 GEO 的 AI 可见度 MCP
快速安装
通过 stdio 在本地运行,并使用你自己的 API 密钥。品牌、扫描历史记录和缓存响应均存储在你的计算机上;扫描提示词会发送给你配置的 AI 服务提供商(参见隐私政策)。请至少设置一个引擎密钥(OPENAI_API_KEY、ANTHROPIC_API_KEY、GEMINI_API_KEY、PERPLEXITY_API_KEY、XAI_API_KEY、SERPAPI_API_KEY);未配置密钥的引擎会自动跳过。
运行环境: Node.js 22.13+(CI 会测试 Node 22 和 24)。
可移植 Agent Skill(可选): 支持 Agent Skills 的助手可以通过 npx skills add AKzar1el/mcp-geo --skill mcp-geo 安装此仓库中的 GEO 工作流指南。此操作仅安装说明,不会安装 MCP 服务或提供商凭据;请在 MCP 主机中单独配置 npx -y @digestseo/mcp-geo。
Claude Desktop / 任意 MCP 客户端(npx):
{
"mcpServers": {
"digestseo": {
"command": "npx",
"args": ["-y", "@digestseo/mcp-geo"],
"env": {
"OPENAI_API_KEY": "sk-...",
"GEMINI_API_KEY": "your_key_here"
}
}
}
}
ChatGPT(远程 MCP): ChatGPT 无法直接连接本地 STDIO MCP 服务。对于 ChatGPT,请使用下方的可自托管远程 MCP 设置,或者为运行在本地/专用计算机上的服务使用 OpenAI Secure MCP Tunnel 设置。公共的 geo-mcp.digestseo.com/mcp 端点并非开箱即用、无需密钥即可进行新扫描的服务。
Perplexity Computer(远程 MCP): 符合条件的套餐支持 Perplexity Computer 自定义远程 MCP 连接器。自托管 mcp-geo 后,打开 Account settings > Connectors > + Custom connector,选择 Remote,将其命名为 digestseo,并输入你自己的部署地址 https://<worker-host>/mcp。对于 Worker 流程,请使用连接器的 OAuth 选项;如果你配置了 CONNECT_SECRET,请在连接时通过浏览器验证。请勿将公共的 geo-mcp.digestseo.com/mcp 端点当作开箱即用、无需密钥即可扫描的服务。请参阅 Perplexity 最新的 Computer 连接器指南。
Perplexity Portable Computer(本地 STDIO):在支持的硬件上使用 Perplexity Pro/Max 本地模型时,打开 Settings > MCP servers > Add server > Local (stdio),并将服务命名为 digestseo。Portable 要求使用绝对命令路径:在 Windows 上,使用 C:\Windows\System32\cmd.exe,并将 /d、/s、/c 和 npx -y @digestseo/mcp-geo 分别作为单独的参数(每行一个);在 Linux 上,使用 npx 的绝对路径,并将 -y 和 @digestseo/mcp-geo 作为单独的参数。选择 Test,然后选择 Add。需要 Node.js 22.13+。发现工具不需要提供方密钥;由引擎执行的扫描可能会产生提供方费用。Portable 的本地工具与云端 Computer 的 Remote/OAuth 连接器不同。请参阅本地 Portable 设置指南和 Perplexity 官方说明。
**Replit Agent(远程 MCP):**自托管 mcp-geo 后,打开 Integrations -> MCP Servers for Replit Agent -> Add MCP server,将其命名为 digestseo,并输入你自己部署的 https://<worker-host>/mcp URL。出现提示时选择 OAuth 流程:Replit 支持 OAuth 动态客户端注册(DCR),自托管 Worker 通过标准发现和注册端点提供此功能。选择 Test & Save,然后完成浏览器授权步骤;如果配置了 CONNECT_SECRET,请在该验证步骤中输入。Replit 支持远程 HTTPS MCP 服务,而不支持此软件包的本地 stdio 进程,因此请使用你配置的 Worker URL,不要将公共 geo-mcp.digestseo.com/mcp 端点视为开箱即用的提供方密钥服务。请参阅 Replit 当前的 MCP 指南。
Claude Code:
claude mcp add --transport stdio digestseo -s user --env GEMINI_API_KEY=your_key_here -- npx -y @digestseo/mcp-geo
或者,通过此代码库所有者管理的 Claude Code marketplace 安装相同的本地 MCP 集成:
/plugin marketplace add AKzar1el/mcp-geo
/plugin install digestseo-geo@digestseo-mcp
marketplace 插件使用代码库中的 .mcp.json 启动 npx -y @digestseo/mcp-geo。发现工具只需零个提供方密钥;对于由引擎执行的扫描,只需向 Claude Code 进程提供你需要的提供方密钥。若要将提供方密钥显式附加到服务配置,以上直接运行 claude mcp add 的命令仍是最简单的选项。
Codex CLI:
codex mcp add digestseo -- npx -y @digestseo/mcp-geo
零密钥命令足以发现工具。需要由引擎执行扫描时,在 -- 之前使用多个 --env NAME=VALUE 选项,仅添加你需要的提供方密钥。
Amp CLI:
amp mcp add digestseo -- npx -y @digestseo/mcp-geo
Amp 会将其作为本地 STDIO MCP 服务运行。零密钥命令足以发现工具;进行由引擎执行的扫描前,只需向 Amp 进程提供你需要的提供方密钥,或在 Amp 本地 MCP 的 env 设置中配置,而不要提交机密。请参阅 Amp 当前的 MCP 指南。
OpenCode v2:
opencode mcp add digestseo --global -- npx -y @digestseo/mcp-geo
OpenCode v2 会将其作为本地 STDIO 服务运行。仅针对项目配置时,请省略 --global。发现 MCP 工具不需要密钥。对于由引擎执行的扫描,请编辑生成的 OpenCode v2 配置,并在 mcp.servers.digestseo.environment 下仅添加你需要的提供方变量,将每个变量映射到环境引用,例如 "OPENAI_API_KEY": "{env:OPENAI_API_KEY}";将实际密钥值保存在进程环境中,而不是配置文件中。使用 opencode mcp list 验证连接。请参阅当前的 OpenCode v2 MCP 指南。
**Mistral Vibe Code:**将 mcp-geo 添加到用户级 ~/.vibe/config.toml 或项目级 ./.vibe/config.toml:
[[mcp_servers]]
name = "digestseo"
transport = "stdio"
command = "npx"
args = ["-y", "@digestseo/mcp-geo"]
零密钥配置足以发现工具。对于依赖引擎的扫描,只需通过 Vibe 的 STDIO 环境配置或 Vibe 继承的环境传入所需的提供商密钥,而不要提交机密。在 Vibe 中使用 /mcp digestseo(或 /mcp)验证服务和工具。请参阅 Mistral 当前的 MCP 服务指南和 Vibe 配置参考。
LibreChat: 将 mcp-geo 作为本地 STDIO 服务添加到 librechat.yaml:
mcpServers:
digestseo:
type: stdio
command: npx
args:
- -y
- '@digestseo/mcp-geo'
更改 librechat.yaml 后,重启 LibreChat。零密钥配置足以发现 MCP 工具。在进行依赖引擎的扫描之前,只向 LibreChat 进程提供你打算使用的提供商 API 密钥,而不要将密钥值提交到 YAML 文件中。请参阅 LibreChat 当前的 MCP 配置指南和 MCP 功能指南。
AnythingLLM: 从 Settings -> Agent Configuration -> MCP 添加 mcp-geo,或者将此条目合并到 AnythingLLM 存储 plugins 目录中的 anythingllm_mcp_servers.json:
{
"mcpServers": {
"digestseo": {
"command": "npx",
"args": ["-y", "@digestseo/mcp-geo"]
}
}
}
AnythingLLM 会将由命令启动的服务视为本地 STDIO MCP 服务,并可在 Agent 需要其工具时启动它们。零密钥配置足以发现 MCP;在进行依赖引擎的扫描之前,只需通过 AnythingLLM 的 MCP 配置或进程环境添加你打算使用的提供商环境变量,而不要提交原始密钥。请参阅 AnythingLLM 当前的 MCP 兼容性指南。
Langflow: 打开 Settings -> MCP Servers(或 MCP 侧边栏 -> Add MCP Server),选择 STDIO,将服务命名为 digestseo,将 Command 设为 npx,并添加参数 -y 和 @digestseo/mcp-geo。零密钥服务足以发现 MCP 工具;在进行依赖引擎的扫描之前,只在 Langflow 的 MCP Environment Variables 字段中添加你打算使用的提供商密钥,而不要将原始密钥存储在工作流中。然后从 MCP Tools 组件中选择已保存的服务,并将其工具连接到 Langflow Agent。如果 Langflow 本身运行在 Docker 中,其镜像必须包含 Node.js,才能启动 npx 服务。请参阅 Langflow 当前的 MCP 客户端指南。
Flowise: 对于本地/可自托管的 Flowise 实例,向 Agent 添加 Custom MCP 工具,并使用 STDIO,配置为 {"command":"npx","args":["-y","@digestseo/mcp-geo"]}。刷新 Available Actions 以加载 mcp-geo 的十二个工具。零个提供商密钥足以完成发现;在进行依赖引擎的扫描之前,只需让 Flowise 进程/服务环境能够访问你打算使用的提供商密钥。Flowise 明确建议仅在本地运行而非云服务中运行时使用 STDIO,因为 npx 包会在 Flowise 主机上启动。请参阅 Flowise 当前的 工具与 MCP 指南。
Kilo Code: 打开 Settings -> Agent Behaviour -> MCP Servers,添加一个名为 digestseo 的 Local (stdio) 服务,并使用参数 -y 和 @digestseo/mcp-geo 启动 npx。macOS/Linux 上对应的 kilo.jsonc 条目如下:
{
"mcp": {
"digestseo": {
"type": "local",
"command": ["npx", "-y", "@digestseo/mcp-geo"],
"enabled": true
}
}
}
在 Windows 上,Kilo 当前的指南使用 "command": ["cmd", "/c", "npx", "-y", "@digestseo/mcp-geo"]。零个提供商密钥足以完成发现。在进行依赖引擎的扫描之前,只通过 Kilo 的 MCP 环境设置或本地进程环境添加你打算使用的提供商密钥,并避免将原始密钥写入项目级的 kilo.jsonc。请参阅 Kilo Code 当前的 MCP 配置指南和 CLI MCP 指南。
Google Antigravity: Antigravity 2.0、Antigravity CLI 和 Antigravity IDE 可以启动自定义的本地 STDIO MCP 服务。在 IDE 中,打开 Agent 面板 -> MCP Servers -> Manage MCP Servers -> View raw config;在 CLI 中,/mcp 会打开交互式 MCP 管理器。将 digestseo 添加到全局配置 ~/.gemini/config/mcp_config.json,或工作区配置 .agents/mcp_config.json 中:
{
"mcpServers": {
"digestseo": {
"command": "npx",
"args": ["-y", "@digestseo/mcp-geo"]
}
}
}
零密钥配置足以发现 MCP 工具。在运行由引擎支持的扫描之前,仅通过本地服务环境变量提供你打算使用的服务商密钥;如果使用工作区配置 .agents/mcp_config.json,请勿将原始密钥放入任何共享或已提交的副本中。参阅 Google 当前的 Antigravity MCP 指南。
Cherry Studio: 打开 Settings -> MCP -> MCP Servers -> Add,选择 STDIO,将 Command 设置为 npx,并添加 Arguments -y 和 @digestseo/mcp-geo。零密钥服务足以发现 MCP 工具。在运行由引擎支持的扫描之前,只在 Cherry Studio 的 MCP 环境变量字段中添加你打算使用的服务商密钥,不要将密钥放入提示词或截图中。启用服务,检查其 Tools,然后在 Work -> Agent -> Edit -> MCP 下将其绑定到指定 Agent。参阅 Cherry Studio 当前的官方 MCP 配置指南 和 MCP 工作流指南。
Raycast AI: 打开 Install MCP Server(或 Manage MCP Servers -> Install New Server),选择 Standard Input/Output,将 Command 设置为 npx,并将 Arguments 设置为 -y 和 @digestseo/mcp-geo。零密钥安装足以发现工具。在运行由引擎支持的扫描之前,只在 Raycast 的 MCP Environment 字段中添加你想使用的服务商密钥,不要将密钥硬编码到共享项目文件中。如果 Raycast 启动后才将 npx 添加到 PATH,请重启 Raycast。参阅 Raycast 当前的 MCP 手册。
Msty Studio: 打开 Toolbox -> Add New Tool,选择 STDIO / JSON,并使用:
{
"command": "npx",
"args": ["-y", "@digestseo/mcp-geo"]
}
零密钥工具足以发现 MCP 工具。对于由引擎支持的扫描,请在 Msty Studio Environments 中仅定义你想使用的服务商密钥,并将其附加到工具,而不是将原始密钥存储在共享文件中。Msty Studio Desktop 可以在本地运行该工具;Studio Web 则需要使用文档说明的 Desktop/Sidecar 连接来运行本地 MCP 工具。参阅 Msty Studio 当前的 Toolbox MCP 指南 和环境指南。
Jan Desktop / Jan Agent: 在 Jan Desktop 中打开 Settings -> MCP Servers -> + Add MCP Server,选择 STDIO,将 Command 设置为 npx,并添加 Args -y 和 @digestseo/mcp-geo。零密钥服务足以发现工具;通过 Jan 的 MCP Env 字段,仅添加你打算使用的服务商密钥。Jan Agent 会读取相同的 MCP 配置;你也可以在终端中运行 jan cli mcp add digestseo --command npx --arg -y --arg @digestseo/mcp-geo 添加,然后启用该服务。如果你在自己的 Worker 上运行 Path B,Jan 也支持位于 https://<worker-host>/mcp 的 HTTP MCP 服务,并能通过元数据发现、动态客户端注册以及授权码 + PKCE 处理服务所公布的 OAuth。不要将公开的 DigestSEO 端点描述为开箱即用的服务商密钥服务。参阅 Jan 当前的 MCP 服务指南 和 Agent MCP 指南。
Zed: 打开 Settings -> AI -> MCP Servers,选择 Add Server -> Add Local Server,并将 digestseo 配置为命令 npx,参数为 -y、@digestseo/mcp-geo。零密钥本地服务足以发现工具;若要执行由引擎驱动的扫描,只在 Zed 的本地 MCP env 映射中添加你打算使用的提供商密钥,不要将密钥提交到共享项目设置中。如果你在自己的 Worker 上运行 Path B,则选择 Add Remote Server 并使用 https://<worker-host>/mcp;未配置 Authorization 标头时,Zed 会使用标准 MCP OAuth 流程。不要把公开的 DigestSEO 端点当作开箱即用的提供商密钥服务。请参阅 Zed 当前的 MCP 指南。
TraeCode: 打开 Settings -> MCP -> Add -> Manually add,粘贴此本地 STDIO 配置;或者将相同的 mcpServers 对象保存为受信任项目中的 .trae/mcp.json:
{
"mcpServers": {
"digestseo": {
"command": "npx",
"args": ["-y", "@digestseo/mcp-geo"]
}
}
}
TraeCode 建议使用 NPX/UVX 运行本地 MCP 服务;当由引擎驱动的扫描需要提供商密钥时,也支持 env 值。零密钥配置足以发现工具;请勿将原始提供商密钥放入项目级 .trae/mcp.json。TraeCode CLI 也可以加载该项目级 MCP 文件,或者通过 traecli config edit 添加等效的 stdio 条目,并使用 /mcp 查看。请参阅 TraeCode 当前的 IDE MCP 设置指南和 CLI MCP 指南。
Qwen Code: 此仓库已包含可移植的 Agent Plugins v1 元数据,Qwen Code 可直接从 GitHub 加载:
qwen extensions install AKzar1el/mcp-geo
或者,只添加本地 MCP 服务作为用户级 STDIO 条目:
qwen mcp add --scope user digestseo npx -y @digestseo/mcp-geo
qwen mcp list
Qwen Code 原生支持 Agent Plugins v1,包括仓库根目录下的 plugin.json + mcp.json,因此扩展路径可直接复用同一个 npx -y @digestseo/mcp-geo 服务,无需额外包装器。直接 MCP 配置存储在 ~/.qwen/settings.json 中;项目级服务则可以放在 .qwen/settings.json 的 mcpServers 下。零密钥配置足以发现工具。在执行由引擎驱动的扫描之前,只向 Qwen 进程提供你打算使用的提供商变量,或者在 MCP env 映射中引用现有环境变量,而不是将原始密钥提交到项目设置中。启动 Qwen Code 并运行 /mcp,以验证服务和工具。请参阅 Qwen Code 当前的扩展指南和 MCP 服务指南。
Augment Code / Auggie: 在 VS Code 或 JetBrains 的 Augment 扩展中,打开 Settings -> MCP servers,然后使用 Import from JSON 并粘贴:
{
"mcpServers": {
"digestseo": {
"command": "npx",
"args": ["-y", "@digestseo/mcp-geo"]
}
}
}
对于 Auggie CLI,等效的用户级安装方式是:
auggie mcp add digestseo -- npx -y @digestseo/mcp-geo
auggie mcp list
Auggie 会将 MCP 服务保存在 ~/.augment/settings.json 中;在 Auggie 会话中运行 /mcp 即可查看。零密钥配置足以发现工具。在执行由引擎驱动的扫描之前,只通过 Augment 的 MCP 环境字段或 Auggie 的 --env NAME=VALUE 选项添加你打算使用的提供商密钥,不要提交原始密钥。如果这十二个本地工具占用过多 Agent 上下文,Augment 的可选 MCP Tool Search 可以按需加载工具架构。请参阅 Augment 当前的 MCP 设置指南和 Auggie 集成/MCP 指南。
GitHub Copilot CLI:
copilot mcp add digestseo -- npx -y @digestseo/mcp-geo
基础安装不需要任何提供商密钥,因此可以发现工具。运行扫描之前,使用 Copilot CLI 的 --env NAME=VALUE 选项,只添加你想使用的引擎密钥。
GitHub Copilot 云 Agent / 代码审查: 仓库管理员也可以在 Settings -> Copilot -> MCP servers 下添加 mcp-geo。请使用本地 npm 包,而不是托管的 OAuth 端点,因为 Copilot 云 Agent 和代码审查目前不支持依赖 OAuth 的远程 MCP 服务。 由于仓库 MCP 工具可以自主运行,请先使用保守的只读配置:
{
"mcpServers": {
"digestseo": {
"type": "local",
"command": "npx",
"args": ["-y", "@digestseo/mcp-geo"],
"tools": [
"check_visibility",
"get_visibility_history",
"compare_competitors",
"get_citations",
"list_brands",
"list_prompts"
]
}
}
}
Copilot 代码审查只接受 MCP 元数据标记为只读的工具;上述工具已设置 readOnlyHint: true。当任务可以访问本次运行期间创建的 mcp-geo 本地数据库时,此配置很有用。若任务需要创建或刷新可见性数据,请明确只添加你打算允许的变更工具(例如 track_brand 和 refresh_brand),并记住 refresh_brand 可能会调用收费的服务提供商 API。
服务提供商凭据应存放在 Copilot Agents secrets/variables 中,而不是仓库 JSON 文件中。GitHub 只会公开以 COPILOT_MCP_ 为前缀的名称;可通过 env 将选定的机密映射到 mcp-geo,例如 "OPENAI_API_KEY": "$COPILOT_MCP_OPENAI_API_KEY"。请参阅 GitHub 当前的仓库 MCP 配置指南。
**可移植 Agent 插件(GitHub Copilot / VS Code / Kiro 及其他 Agent Plugins 1.0 客户端):**本仓库现已提供标准的根目录 plugin.json + mcp.json 文件对。GitHub Copilot CLI 可直接从 GitHub 安装:
copilot plugin install AKzar1el/mcp-geo
在 VS Code 中,运行 Chat: Install Plugin from Source 并输入 https://github.com/AKzar1el/mcp-geo。在 Kiro 中,使用 Powers -> Add Custom Power -> Import power from GitHub 并输入相同的仓库 URL。该可移植插件通过 npx -y @digestseo/mcp-geo 启动;发现工具无需任何服务提供商密钥,而依赖引擎的扫描只会使用你有意提供给宿主客户端的服务提供商密钥。上文现有的原生安装方式仍然有效。
Qoder CLI:
qoder mcp add digestseo -- npx -y @digestseo/mcp-geo
qoder mcp list
Qoder 会将其作为本地 STDIO MCP 服务启动。零密钥命令足以发现工具;进行依赖引擎的扫描前,只需向 Qoder 进程提供你需要的服务提供商密钥。如果 Qoder 已在运行,请使用 /mcp reload 重新发现服务和工具。请参阅 Qoder 当前的 MCP 服务指南和 MCP 参考。
**Docker Agent:**Docker Agent 可直接通过 Agent YAML 启动本地 STDIO MCP 服务。将此工具集添加到需要使用 mcp-geo 的 Agent 中:
toolsets:
- type: mcp
command: npx
args: ["-y", "@digestseo/mcp-geo"]
零密钥配置足以发现工具。进行依赖引擎的扫描时,只需在工具集的 env: 映射中添加所需的服务提供商密钥(Docker Agent 支持 ${env.NAME} 展开),不要提交机密值。请参阅 Docker 当前的本地 MCP 工具文档。
**goose:**将 mcp-geo 添加为本地 STDIO 扩展,配置文件位于 ~/.config/goose/config.yaml(macOS/Linux)或 %APPDATA%\Block\goose\config\config.yaml(Windows):
extensions:
digestseo-geo:
type: stdio
name: digestseo-geo
enabled: true
cmd: npx
args: ["-y", "@digestseo/mcp-geo"]
timeout: 300
零密钥扩展足以发现工具。进行依赖引擎的扫描前,请通过 goose 的扩展设置/机密存储,仅为此扩展配置所需的服务提供商环境变量,而不要将原始 API 密钥写入 YAML 文件。也可以通过 goose configure -> Add Extension -> Command-Line Extension 以交互方式添加同一服务。请参阅 goose 当前的扩展设置指南和配置参考。
**GitLab Duo CLI:**当前版本的 GitLab Duo CLI 可直接使用兼容 Claude 的插件市场。注册此仓库并安装现有的 digestseo-geo 插件:
glab duo plugin marketplace add https://github.com/AKzar1el/mcp-geo.git
glab duo plugin install digestseo-geo@digestseo-mcp
已安装的插件会从 .mcp.json 加载同一个本地 npx -y @digestseo/mcp-geo MCP 服务。零服务提供商密钥即可发现工具;进行依赖引擎的扫描前,只需向 GitLab Duo CLI 进程提供所需的服务提供商密钥。
Factory Droid:
droid mcp add digestseo "npx -y @digestseo/mcp-geo"
droid mcp list
Droid 会将其作为本地 STDIO MCP 服务运行。无需密钥即可发现工具;在运行由引擎驱动的扫描之前,只需在 Droid 的用户级 MCP 配置中添加你选择的提供商密钥。请勿将提供商密钥保存在项目级 .factory/mcp.json 文件中。
Amazon Q Developer(IDE): 打开 Q Developer 聊天面板 ? Tools ? +,选择 STDIO,将服务器命名为 digestseo,将 Command 设为 npx,并添加 Arguments -y 和 @digestseo/mcp-geo。运行扫描前,只添加你想使用的提供商环境变量;即使不添加密钥,也仍可发现 MCP 工具。
Amazon Q Developer CLI: 通过 Q 的原生 MCP 管理器添加相同的本地 STDIO 服务:
q mcp add --name digestseo --command npx --args '["-y", "@digestseo/mcp-geo"]'
q mcp list
无需密钥即可发现 MCP 工具。在运行由引擎驱动的扫描之前,只将你打算使用的提供商变量添加到 Q CLI MCP 配置中,不要将密钥提交到代码仓库。Amazon Q Developer CLI 支持由本地进程提供支持的 MCP 服务,并通过 q mcp 进行管理;在 Q 会话中使用 /tools 查看已加载的工具。请参阅 AWS 最新的 Amazon Q Developer MCP 指南和 CLI MCP 配置参考。
JetBrains AI Assistant(IDE): 打开 Settings > Tools > AI Assistant > Model Context Protocol (MCP) > Add,选择 STDIO,并使用:
{
"mcpServers": {
"digestseo": {
"command": "npx",
"args": ["-y", "@digestseo/mcp-geo"]
}
}
}
JetBrains AI Assistant 支持本地 STDIO 和 NPX MCP 服务。无需密钥即可发现工具;在运行由引擎驱动的扫描之前,只需让 IDE 进程能够访问你想使用的提供商密钥,或导入已配置的 Claude MCP 服务。
JetBrains Junie(命令行 / IDE): 在 Junie CLI 中运行 /mcp,打开 MCP 安装助手。你可以在 Official MCP Registry 中搜索 mcp-geo,也可以在 .junie/mcp/mcp.json 中手动添加本地服务(适用于单个项目),或在 ~/.junie/mcp/mcp.json 中添加(适用于你的用户):
{
"mcpServers": {
"digestseo": {
"command": "npx",
"args": ["-y", "@digestseo/mcp-geo"]
}
}
}
Junie CLI 和 Junie IDE 插件使用相同的 MCP 配置。无需密钥即可发现工具;在运行由引擎驱动的扫描之前,只需让 Junie 进程能够访问你打算使用的提供商密钥,并避免将原始密钥放入共享或已提交的项目 .junie/mcp/mcp.json 中。使用 /mcp 验证活动服务和工具。请参阅 JetBrains 最新的 Junie CLI MCP 指南和 Junie IDE MCP 设置。
JetBrains Air: 此代码仓库已提供标准的根目录 .mcp.json,用于启动 npx -y @digestseo/mcp-geo。在 Air 中,打开 Settings > AI > MCP Servers,启用 MCP support 和 Launch workspace MCP servers,然后选择 Workspace 范围,以便 Air 复用该已提交的文件。代码仓库配置不包含提供商密钥,足以在不配置密钥的情况下发现工具。由引擎驱动的扫描仍需要在本地服务进程环境中配置所选提供商密钥;请勿将这些密钥放入已提交的 .mcp.json。请参阅 JetBrains Air MCP 服务指南。
Visual Studio 2022 17.14+ / Visual Studio 2026: Visual Studio 使用自身采用 servers 结构的 MCP 配置。创建 %USERPROFILE%\.mcp.json 以供当前用户使用,或创建 <SOLUTIONDIR>\.mcp.json 以供单个解决方案使用:
{
"servers": {
"digestseo": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@digestseo/mcp-geo"]
}
}
}
在 Agent 模式下打开 GitHub Copilot Chat,并使用 Tools 菜单确认 digestseo 可用。无需提供商密钥即可发现工具;在运行由引擎驱动的扫描之前,只需让 Visual Studio 进程能够访问你想使用的提供商密钥,而不要将密钥提交到解决方案文件中。请参阅 Microsoft 最新的 Visual Studio MCP 设置指南。
**Devin(云端 / CLI / 桌面插件):**直接安装此仓库现有的 MCP 插件:
devin plugins install AKzar1el/mcp-geo
或者,在 Devin 中打开 Customize > Plugins > Add plugin > From repository,并在你有管理权限的范围内输入 AKzar1el/mcp-geo。Devin 会识别此仓库中兼容 Claude 的 .claude-plugin/plugin.json 和 .mcp.json,并启动 npx -y @digestseo/mcp-geo(无需第二个服务或软件包)。在 Customize > MCPs 下检查 digestseo-geo,并使用新的 Devin 会话检查其工具;STDIO 服务需在会话中测试,而不是使用远程的 Test tools 控件。CLI 用户可以先运行 devin plugins list 检查。
无需提供任何服务商密钥即可发现工具;引擎扫描只需通过 Devin 支持的密钥 / 环境配置提供所选服务商的密钥,切勿将其提交到插件中。该插件在 Devin 的会话环境中使用本地 STDIO;它并非与公开的 DigestSEO Worker 一键连接。请参阅 Devin 插件说明和自定义 MCP 指南。
**OpenHands CLI(本地 STDIO):**OpenHands 可以将现有 npm 软件包作为本地 MCP 服务运行,无需包装器:
openhands mcp add digestseo --transport stdio npx -- -y @digestseo/mcp-geo
openhands mcp list
启动新的 openhands 对话,并输入 /mcp 验证 digestseo 工具。Windows 用户如果无法直接执行 npx,请使用 npx.cmd。当前版本的 OpenHands CLI 将服务设置存储在 ~/.openhands/mcp.json(JSON 格式;1.0 之前的 TOML 配置需要迁移)。发现工具无需服务商密钥。进行引擎扫描时,只需使用 OpenHands 的 --env 选项或私有环境配置所需的服务商密钥,切勿将其存入已提交的文件;使用服务商服务可能产生费用。此本地进程并非托管版 DigestSEO OAuth Worker。请参阅 OpenHands MCP 说明。
**Kimi Code CLI(本地 STDIO):**将现有 npm 服务添加到 ~/.kimi-code/mcp.json(用户级)或受信任项目中的 .kimi-code/mcp.json:
{
"mcpServers": {
"digestseo": {
"command": "npx",
"args": ["-y", "@digestseo/mcp-geo"]
}
}
}
启动新的 Kimi Code CLI 会话,并使用 /mcp 检查 digestseo 工具;/mcp-config 用于管理服务条目。需要 Node.js 22.13+。发现工具无需服务商密钥。进行引擎扫描前,请通过私有环境或 Kimi 的本地 env 配置,仅提供你打算使用的可选服务商凭据,切勿将其存入已提交的项目文件;使用服务商服务可能产生费用。项目级 MCP 配置可能会启动本地命令,因此 Kimi Code 会提示用户确认信任;启用前请先检查配置。这是本地 STDIO,并非与托管版 DigestSEO OAuth Worker 一键连接。请参阅 Kimi Code MCP 指南。
**Windsurf:**打开 Manage MCPs → View raw config,并添加本地 stdio 软件包:
{
"mcpServers": {
"digestseo": {
"command": "npx",
"args": ["-y", "@digestseo/mcp-geo"],
"env": {
"OPENAI_API_KEY": "sk-..."
}
}
}
}
只填写你想使用的服务商密钥;即使不填任何密钥,也可以发现 MCP 工具。
**Roo Code:**打开 MCP Servers > Edit Global MCP,或为项目创建 .roo/mcp.json,然后添加:
{
"mcpServers": {
"digestseo": {
"command": "npx",
"args": ["-y", "@digestseo/mcp-geo"]
}
}
}
Roo Code 支持本地 STDIO MCP 服务。不填写任何密钥即可发现工具;扫描前只需添加你想使用的服务商密钥。在 Windows 上,如果 Roo 无法直接启动 npx,请使用 "command": "cmd" 和 "args": ["/c", "npx", "-y", "@digestseo/mcp-geo"],与 Roo 文档说明的 Windows 回退方案一致。
VS Code:在 VS Code 中安装本地 stdio 服务。基础安装不包含任何提供商密钥,因此可以正常发现工具;运行扫描前,只需在 VS Code MCP 用户配置中添加你需要的 API 密钥。
LM Studio:将本地 stdio 服务添加到 LM Studio。基础安装不包含任何提供商密钥,因此可以正常发现工具;运行扫描前,只需在 LM Studio 的 mcp.json 中添加你需要的 API 密钥。
Kiro: 可一键本地安装;你也可以打开用户 MCP 配置(
~/.kiro/settings/mcp.json)或工作区配置(.kiro/settings/mcp.json),手动添加本地 stdio 包:
{
"mcpServers": {
"digestseo": {
"command": "npx",
"args": ["-y", "@digestseo/mcp-geo"]
}
}
}
Kiro 在当前各个平台上均支持本地 STDIO MCP 服务。零密钥配置足以发现工具;在运行由引擎支持的扫描前,只需添加你需要的提供商环境变量。如需远程使用,请在下方自行托管 Worker,并配置你部署的 /mcp URL。公共的 geo-mcp.digestseo.com/mcp 端点并非开箱即用的免密全新扫描服务。
**Claude Desktop 扩展(一键安装):**从最新版本下载 .mcpb 包并双击 — Claude Desktop 会提示输入 API 密钥。
**首次运行:**让客户端执行 “将 acme.com 作为品牌 acme 进行跟踪,然后刷新它” — track_brand 会通过生成的提示词创建品牌,refresh_brand 会运行首次扫描,check_visibility 会显示评分。
安装此服务的 AI Agent:请按照 llms-install.md 操作。更倾向于使用带定时任务自动刷新的远程服务?请在下方 Cloudflare Workers 上自行托管。
mcp-geo 是一款开源的 AI 可见度跟踪工具,用于衡量你的品牌被 ChatGPT、Claude、Perplexity、Gemini、Grok、Google AI Overviews 和 Google AI Mode 引用的频率。它相当于 GEO(生成式引擎优化)和 AEO(答案引擎优化)领域的 Google Search Console — 它以 MCP 服务的形式构建,可让你通过已配置的远程 MCP 应用、Claude.ai、Claude Desktop、Claude Code、GitHub Copilot CLI、Cursor、Codex CLI 或任何兼容 MCP 的客户端,直接在 ChatGPT 中查询 AI 可见度数据。
产品官方页面:DigestSEO mcp-geo — AI 可见度 MCP 服务
工程案例研究:DigestSEO MCP Suite — AI 可见度、Search Console、网页验证和趋势智能
需要无需自行运行整个技术栈即可交付客户的基准报告?mcp-geo AI 可见度审计一次性收费 EUR 99:涵盖一个品牌、最多三个竞争对手、20 个购买意向提示词;在已配置的服务商能返回可用结果时,检查最多五个受支持的 AI 平台,并提供引用证据和按优先级排列的行动备忘录。开源软件包仍可免费使用。
先查看示例:打开示例报告,查看通过 mcp-geo 生成的输出样式和证据详尽程度,再决定是否申请审计。
准备申请?打开预填邮件,并填写你的品牌/域名和最多三个竞争对手。无需订阅或销售电话。
**付款流程:**确认是否适合以及范围后,我会回复常规发票/付款说明。
**方法:**将相同的 20 个购买意向提示词作为某一时点的诊断来运行,并按引擎分别报告;在可用时提供引用/来源证据。该审计是对观测结果的快照,并非专有排名承诺,也不保证预测结果。
购买前想了解方法?阅读 AI 可见度审计方法说明,了解审计范围、引擎覆盖情况、解读限制,以及审计不作出的承诺。
**想要零配置?**试试托管版本 digestseo.com——由 Cloudflare 基础设施托管,无需管理 API 密钥,支持多个品牌、定时刷新和 Web 界面。候补名单现已开放。加入候补名单 →
生成内容
通过 MCP 连接,向 Claude 提问 “Run an AI visibility analysis on [my brand]”,90 秒内即可获得一份以各引擎的真实数据为依据、达到策略顾问水准的备忘录:
想用自己的数据复现同样以证据为先的报告结构?请使用可复用的 AI 可见度审计报告提示词。
上述报告由 Claude 通过 digestseo-mcp MCP 服务生成。对话将五个托管工具串联起来——visibility.check、visibility.compare、visibility.citations(Perplexity + Claude)和 visibility.content_gaps——生成了一份涵盖 4 个引擎的分析,其中包含引用摘录和 3 条建议的策略备忘录。
最新动态
[0.3.29] - 2026 年 10 月 26 日
- **完整的 OpenAI Batch 审计结果:**服务商返回的结果集不完整时,现在会明确报错,而不再静默省略请求的提示词;同时仍会验证未知 ID。
- **更准确的品牌引用匹配:**现在可识别以句子标点结尾的引用 URL,且不会将标点计入 URL。
[0.3.28] - 2026 年 10 月 25 日
- **更可靠的 OpenAI Batch 终态处理:**现在,失败、过期和已取消的批次会停止无限轮询,在存在可用部分结果时予以保留,并对缺失的提示词进行统计,而不会声称扫描成功。现有模型和提供商设置保持不变。
- **更广泛的原生 MCP 接入:**面向 Devin、Perplexity Portable、OpenHands CLI 和 Kimi Code CLI 的第一方说明复用现有本地软件包,并提供安全的可选提供商密钥配置指南。
- **更清晰的数据处理说明:**分别说明本地持久化和第三方 API 处理;离线 Batch 请求回归测试可保护现有提交约定。
[0.3.27] - 2026 年 10 月 24 日
- **强化 MCP 输入安全:**修补受影响的 MCP SDK 依赖项,将现代和旧版路径中的托管 HTTP 请求限制为 256 KiB,并限制工具输入集合元素数量,以缓解由请求引发的内存耗尽问题。现有经过身份验证的工作流和本地 stdio 工作流均保持不变。
- **更可靠的费用指南:**Anthropic Haiku 估算现在基于令牌和工作负载,不再假设每个提示词的费用固定,也不再保证提供试用额度。
[0.3.26] - 2026 年 9 月 24 日
- **OAuth 1.0 资源正确性:**可自托管的 Workers 现在会将 OAuth 授权和令牌绑定到
@cloudflare/workers-oauth-provider1.0.0 所要求的规范${SELF_URL}/mcp资源,并提供可避免资源主机不匹配的部署指南。 - **更广泛的编码 Agent 接入:**Google Antigravity、JetBrains Junie、GitHub Copilot 云 Agent/代码审查、Qwen Code 和 Augment Code / Auggie 现在均提供与第一方方案对齐的本地 MCP 配置路径,使用已发布的
npx -y @digestseo/mcp-geo软件包。
[0.3.25] - 2026 年 9 月 24 日
- **完整的托管安全元数据:**全部六个托管可见性工具现在都会明确声明只读、破坏性和开放世界行为,以满足更严格的 MCP 客户端和插件验证器的要求。
- **更广泛的原生接入:**Langflow、Cherry Studio、Flowise 和 Kilo Code 的配置现在复用已发布的本地/可自托管 mcp-geo 路径,实现零密钥发现和安全的提供商配置。
- **更有力地满足审计需求:**可复用的报告提示词现在会先将现有的
top_sources引用摘要转化为反复出现的来源证据,再列出单条引用示例,且不会编造衍生指标。
[0.3.24] - 2026 年 9 月 23 日
- 来源域名分析:
get_citations/visibility.citations现在会汇总指定时间段内由搜索引擎原生结果引用频率最高的来源域名,并提供提示词数量、贡献的搜索引擎、代表性 URL 以及受跟踪品牌域名标记。 - **清晰的托管 MCP 身份信息:**现代 SDK-v2 发现机制现在会公开易读的 GEO Tracker 标题、简洁说明和规范产品 URL,同时不改变无状态传输约定。
- **支持更多原生客户端接入:**Replit Agent 远程 MCP 和 Jan Desktop / Jan Agent 的配置现在复用现有本地或可自托管的 mcp-geo 路径,不会引入额外软件包,也不会声称提供托管式一键服务。
[0.3.23] - 2026 年 9 月 23 日
- **当前 Grok 模型:**基于检索的 Grok 可见性扫描现在使用 xAI 当前的
grok-4.7模型,同时保留现有 Responses API、必需的 Web Search 检索和 BYOK 流程。 - **AnythingLLM 接入:**MCP Management /
anythingllm_mcp_servers.json配置现在涵盖已发布的本地 stdio 软件包,支持零密钥发现和安全的可选提供商配置。 - **准确的 Perplexity 指南:**配置文本现在与已发布的 Agent API
fast预设保持一致,并指向实时定价信息,不再沿用过时的 Sonar/每个提示词固定费用表述。
[0.3.22] - 2026 年 9 月 23 日
- Perplexity 退役兼容: Perplexity 扫描现在使用 Agent API 的
fast预设,而不再使用即将退役的固定 Sonar 模型选择器,以便在 9 月 27 日 Sonar 退役后仍能显示有依据的网页搜索结果。 - 准确反映当前插件发现情况: 可移植的 Agent Plugin 和 Claude marketplace 元数据现在将 Google AI Mode 与其他受支持的 AI 搜索界面一并列出。
- Amazon Q Developer CLI: 原生
q mcp入门指南现在涵盖现有本地 stdio 包,支持无需密钥的发现和安全的提供商配置。 - 准确的自托管指南: 设置文档现在反映无状态 SDK-v2 托管 MCP 路径以及当前的手动刷新调度行为。
[0.3.21] - 2026 年 9 月 22 日
- 无状态托管 MCP: 受 OAuth 保护的
/mcp流量现在通过 Cloudflare 的 SDK-v2createMcpHandler路径处理,并兼容旧版无状态模式、明确验证 Host/Origin;旧的 Durable Object 绑定仅作为保守的迁移保留措施。 - 精简工具上下文: 全部十二个 MCP 工具现在都提供简洁、以示例为主的描述和完整的输入参数指南,以降低客户端上下文开销,并让工具选择更加清晰。
[0.3.20] - 2026 年 9 月 22 日
- 限制提供商请求时长: 外部 AI 提供商和 SerpAPI 调用现在会在 90 秒后超时,不再允许停滞的上游 API 无限期阻塞扫描。
- 持久的手动 Worker 扫描: 经过身份验证的
/admin/run-live请求可以设置wait_for_completion: true,使手动刷新或运维人员触发的刷新请求保持连接,直到服务绑定的引擎工作完成。
[0.3.19] - 2026 年 9 月 22 日
- Google AI Mode: 设置
SERPAPI_AI_MODE_ENABLED=true即可选择通过 SerpAPI 单独衡量 Google AI Mode,并在返回时获取引用和来源证据。 - 安全修正已跟踪品牌: 本地 MCP 用户可以调用
update_brand,更改品牌身份、竞争对手、别名、排除项或刷新频率,而无需替换提示词或历史运行记录。 - 手动调度: 将
refresh_frequency设为manual,即可暂停自托管的定期扫描,同时保留显式调用refresh_brand的能力。
[0.3.18] - 2026 年 9 月 21 日
- Grok 可见度覆盖: 设置 XAI_API_KEY 即可选择通过 xAI Web Search 衡量有依据的 Grok 回答,并覆盖 ChatGPT、Claude、Perplexity、Gemini 和 Google AI Overviews。
[0.3.17] - 2026 年 9 月 21 日
- 精确的用户自定义衡量集: 本地 MCP 用户现在可以调用
set_prompts,将品牌的有效提示词替换为 1–50 个协商确定的买家问题,同时保留历史运行记录;重复设置相同内容不会产生任何更改。
[0.3.16] - 2026 年 9 月 21 日
- 兼容新项目中的 Gemini: Gemini 扫描现在默认使用
gemini-3.1-flash-lite,避免 Google 对某些新项目施加的 Gemini 2.5 访问限制,同时保留相同的 GenerateContent 集成。
[0.3.15] - 2026 年 9 月 20 日
- 更清晰地说明提供商配置失败: 对未配置引擎的显式刷新请求现在会指出不可用的引擎并说明如何恢复,而不是报告没有任何可用引擎。
- 扩大本地客户端入门指南覆盖范围: 除现有 MCP 客户端外,复制粘贴式设置指南现在还涵盖 Roo Code、Codex CLI 和 OpenCode v2。
- 确保已安装 README 链接可靠: npm 包用户现在会转到稳定的 GitHub URL,以访问文档和报告资源;这些资源不会被打包进 tarball。
[0.3.14] - 2026 年 9 月 20 日
- 可检查衡量输入: 本地 MCP 用户现在可以调用
list_prompts,查看已跟踪品牌当前使用的确切买家意图提示词集,而无需重新生成或更改它。 - 正确的 ChatGPT 入门指南: ChatGPT 指南现在推荐使用已配置的远程 MCP 服务,或通过 OpenAI Secure MCP Tunnel 连接本地/私有服务,而不再宣传不受支持的直接本地 STDIO 注册方式。
[0.3.13] - 2026 年 9 月 20 日
- **引用证据更加忠实:**如果提供方返回了引擎原生的引用页面 URL,get_citations 现在会保留该 URL 的原样内容,包括路径和查询参数。
- **Gemini CLI 扩展库元数据保持最新:**扩展清单现在与软件包版本同步,避免发布后扩展库中的版本标签过时。
[0.3.12] - 2026 年 9 月 20 日
- **提供更好的 Agent 工作流指导:**本地和托管 MCP 初始化响应现在会包含简洁的服务级说明,指导正确执行品牌 → 刷新 → 查看流程,并说明托管刷新行为的异步特性以及引擎不可用时的语义。
[0.3.11] - 2026 年 9 月 19 日
- **定时跟踪更加可靠:**按引擎记录数据新鲜度并仅刷新到期引擎,可让数据过时的提供方及时更新,同时避免不必要地重新扫描数据仍然新鲜的提供方;品牌还可以选择每日或每周的刷新频率。
- **请求处理更加安全:**托管刷新和可见度读取会对重复的引擎选择去重,托管品牌初始化会在持久化前拒绝无效的刷新频率值。
- **Claude Desktop 元数据完整:**MCPB 清单现在声明全部 9 个固定的本地工具,包括 track_brand、list_brands 和 generate_prompts,与安装后实际公开的 stdio 服务保持一致。
[0.3.10] - 2026 年 9 月 19 日
- **BYOK 刷新更安全:**在分派至提供方之前,会对重复的引擎名称去重,避免单个请求意外触发重复扫描或产生额外的提供方费用。
- **MCP 契约更完善:**获胜/落败提示词和内容差距结构化输出现在会公布具体架构,而不再是含义不明的记录,从而改进客户端验证和 Agent 互操作性。
- **Registry 安装体验更好:**Official MCP Registry 元数据现在会将全部 5 个受支持的提供方 API 密钥标记为可选机密配置,适用于 npm stdio 软件包。
[0.3.9] - 2026 年 9 月 19 日
- **快照数据新鲜度透明可见:**可见度快照现在会公开每个引擎各自的观测时间戳,避免将较旧的引擎数据误认为同样是最新数据。
- **历史趋势可审计:**可见度历史现在会包含每项引擎分数所依据的有效提示词分母、品牌提及次数和观测时间。
[0.3.8] - 2026 年 9 月 19 日
- **审计证据更加可靠:**竞争对手比较现在会在所有有效运行中遵循指定的多日时间窗口,并返回精确的提及次数;引用摘录和不依赖提供方的内容差距回退结果也都基于同一底层证据。
- **本地安装覆盖范围更广:**为现有本地 stdio 软件包添加了 Amazon Q Developer IDE 配置。
[0.3.7] - 2026 年 9 月 19 日
- **审计提示词数量精确无误:**提示词生成现在会恰好持久化指定数量的唯一提示词;否则会保持现有提示词集不变,从而确保付费审计的范围固定为 20 个提示词。
[0.3.6] - 2026 年 9 月 18 日
- **ChatGPT 扫描有据可依:**实时 ChatGPT 可见度现已使用网络搜索,并改进了对近似域名的提及评分。
- **本地安装覆盖范围更广:**添加了 Gemini CLI 元数据,以及 VS Code 和 LM Studio 的一键安装方式。
[0.3.5] - 2026 年 9 月 17 日
- **提供方和运行时更加可靠:**已将 Perplexity 迁移至 Agent API,并确保插件安装使用本地 stdio 软件包,而非未配置的公共 Worker。
- **提升可信度与就绪度:**添加了自有隐私声明、仅面向生产环境的 MCPB 打包方式,以及透明的审计评分公式。
[0.3.4] - 2026 年 9 月 15 日
- **Claude Desktop MCPB 可移植性:**该捆绑包不再包含 better-sqlite3 原生二进制文件;在 Node.js 22.13+ 上,本地存储使用内置的 node:sqlite。
- **Registry 信息准确:**由于公共托管端点并非开箱即用的配置完毕的全新扫描服务,官方元数据现在仅公布 npm stdio 软件包。
[0.3.3] - 2026 年 9 月 10 日
- **可选的一次性审计:**开源软件包仍然免费;希望获得可供客户端使用的基准方案的团队,可通过上方的 CTA 申请 EUR 99 的 mcp-geo AI 可见度审计。
- **更便捷的申请流程:**README 现在会打开一封已预填内容并标记来源的电子邮件,审计详情仍可在
https://geo-mcp.digestseo.com/audit查看。
[0.3.2] — 2026 年 7 月 27 日
- 发布带作用域的软件包:
@digestseo/mcp-geo,并同步更新 Worker、MCP Registry 和 MCPB 元数据。 - **托管工具元数据:**使用带类型的输入/输出架构的
visibility.*命名空间;本地 stdio 工具名称仍采用扁平形式。 - **分发与部署:**专用的
mcp-geo-dbD1 配置、Cursor 和 Claude Code 插件元数据,以及修补后的生产依赖版本锁定。
[0.3.0] — 2026 年 7 月
- 在 npm 上提供本地 stdio CLI(
npx -y @digestseo/mcp-geo):相同的 MCP 工具由本地 SQLite 数据库(~/.digestseo/digestseo.sqlite)提供支持——无需 Cloudflare 账户。引擎会使用你自己的 API 密钥在本地运行。 - 本地品牌管理工具(仅限 CLI):
track_brand、list_brands、generate_prompts。Workers 部署会将这些工具保留在受X-Seed-Secret保护的/admin/*路由后。 - 与运行时无关的核心(
src/core/)由 Worker 和 CLI 共用,并通过Db契约,由 D1 和 better-sqlite3 适配器实现。所有 0.2.1 版本的准确性和安全性修复均适用于两种运行时。 - 分发元数据:官方 MCP Registry 的
server.json、MCPB 桌面扩展(.mcpb包)、Dockerfile、供 AI Agent 使用的llms-install.md、发布工作流。
[0.2.1] — 2026 年 6 月
- **OAuth 流程中的可选
CONNECT_SECRET验证。**默认情况下,OSS 构建会为任何知道你的 worker URL 的 MCP 客户端自动完成/authorize——任何找到该 URL 的人都能连接并调用visibility.refresh,消耗你的引擎 API 额度。设置CONNECT_SECRET后,连接流程的浏览器步骤会先要求输入该密钥,然后才会签发令牌。参见 SECURITY.md。 - **更准确的引用匹配。**品牌/竞品提及现在要求匹配完整单词边界(
acme不再匹配 "acmeshop"),链接引用检查现在要求匹配确切域名或其子域名(notacme.com不再算作指向acme.com的链接)。 - **每个品牌可单独设置
aliases和exclude_terms。**别名始终会计为提及;排除词会阻止仅匹配品牌名称和根域名的结果——因此,作为品牌的 "Monday" 不再匹配表示星期一的 "monday",而monday.com仍会计入。应用migrations/0005_brand_alias_exclude.sql;现有品牌的行为完全不变。 - **
visibility.history一致性。**部分完成的运行现在会计入历史记录(与visibility.check在 0.2.0 版本中的行为一致),完全失败的运行不再显示为虚假的零分。 - **CI + 单元测试。**GitHub Actions 会在每次推送时运行
tsc --noEmit和纯函数单元测试套件(npm run test:unit),覆盖提及匹配、引用提取和分数汇总。 - 文档现在建议从 OpenAI + Anthropic 作为起始引擎组合——Gemini 的可用容量会因模型、项目和使用层级而异,因此将其作为文档中所述成本最低的方案,可能会因服务提供商的配额差异而导致首次运行数据产生误导。
- 对
SEED_SECRET/CONNECT_SECRET进行恒定时间比较。
[0.2.0] — 2026 年 5 月
- 按引擎进行 HTTP 扇出。
/admin/run-live现在会为每个引擎创建一条 runs 记录,并针对每个引擎自行获取一次/admin/run-engine。每个引擎都在独立的 Worker 调用中运行,并拥有各自免费套餐的 50 次子请求额度——过去在单次调用中扇出,会在运行过程中突然超出限额,导致丢失一半记录。 - 服务绑定(
env.SELF) 通过 Cloudflare 内部网络调度按引擎扇出,而非获取公共 URL,从而避开会悄悄阻止后者的“Worker 调用了自身”防护(错误 1042)。 prompt_responses新增 status 列(ok/failed/skipped)和error_message。引擎调用失败时,过去会写入raw_response='ERROR: ...'记录,下游评分会将其当作真实的零提及命中;现在会明确排除这些记录。- 增强对外键的容错。
/admin/run-engine在持久化数据前会对 runs 记录执行INSERT OR IGNORE——D1 在边缘区域之间最终一致,而来自/admin/run-live的上游INSERT INTO runs并不总能在下游引擎调用到达前完成复制。无论哪种情况,IGNORE 都能满足外键约束。 - 批量执行 D1。 每个引擎会先将 20 条提示词的结果收集到内存中,然后通过一次
D1.batch()调用刷新插入操作、缓存写入,以及最终的UPDATE runs SET status='completed'。每次调用的子请求数从约 89 降至约 26。 - 放宽可见性查询条件。
getLatestCompletedRun现在以EXISTS(ok rows)而非status='completed'为判断依据,因此未完全完成的运行仍会在 MCP 工具输出中显示数据,而不会悄然消失。 - 新增管理路由
POST /admin/cleanup-failed-runs,用于迁移至 0004 后一次性删除旧的污染记录。
[0.1.1] — 2026 年 5 月
- 现在以手动安装作为标准方式。已移除不可靠的 bash 安装脚本;SETUP.md 内容完整,可直接复制粘贴,并在文档中逐项说明所有需要交互操作的 wrangler 提示。
[0.1.0] — 2026 年 5 月
- 首次公开发布。
- 支持 5 种引擎:ChatGPT(
gpt-4o-mini)、Claude(claude-haiku-4-5)、Perplexity(sonar)、Gemini(gemini-2.5-flash-lite)和 Google AI Overviews(通过 SerpAPI)。 - 提供 6 个托管 MCP 工具:
visibility.check、visibility.history、visibility.compare、visibility.citations、visibility.content_gaps、visibility.refresh。 - 根据你提供的 API 密钥启用对应引擎——只需设置已有的凭据,其余引擎会自动跳过。
- Cloudflare Cron Trigger 每 6 小时自动刷新已跟踪的品牌,并遵循每个品牌的
refresh_frequency(每日/每周)设置。 - 使用 D1 存储品牌、提示词、运行记录、引文和共享提示词缓存。
可以用它做什么?
- 查看哪些 AI 工具会引用你的品牌,哪些不会——按引擎查看买家意向查询中哪些工具会引用你。
- 每周自动跟踪 AI 可见度——内置 Cron Trigger 会按照你为每个品牌配置的频率重新扫描。
- 将你的 AI 可见度与竞争对手进行比较——查看声量份额百分比,以及你胜出的提示词和对方胜出的提示词。
- 发现内容缺口——根据你实际未胜出的提示词,获取由 Claude-Haiku 综合生成的建议。
- 在 Claude.ai 对话中使用——将已部署的 Worker URL 添加为自定义 MCP 连接器,然后用自然语言提问。
- 在自己的 Cloudflare 账户上自托管——API 密钥、数据和成本上限都由你掌控。免费 Workers 和 D1 套餐足以支持单个品牌每日刷新。
查看上方的示例报告,了解实际效果。
可用工具
六项分析能力在两种传输方式中共用,但暴露的 MCP 名称有意按传输方式区分:托管版 / Worker 连接使用 visibility.* 命名空间,而本地 stdio 软件包使用扁平名称。
| 托管版 / Worker | 本地 stdio | 功能 | 所需参数 |
|---|---|---|---|
visibility.check | check_visibility | 获取受跟踪品牌在所有已配置引擎中的最新 AI 可见度快照,包括各引擎评分、胜出的提示词和未胜出的提示词。 | brand_id,可选的 engines[] 筛选条件 |
visibility.history | get_visibility_history | 按日或按周汇总整体及各引擎可见度的时间序列历史记录。 | brand_id,可选的 days(默认值为 30),可选的 granularity(daily/weekly) |
visibility.compare | compare_competitors | 与竞争对手域名进行声量份额比较,并列出你胜出的提示词和对方胜出的提示词。 | brand_id,可选的 competitor_domains[],可选的 days |
visibility.citations | get_citations | 获取实际引用事件,包括提示词、引擎、响应摘录、引用类型,以及存在时的品牌 URL。 | brand_id,可选的 days,可选的 engine 筛选条件 |
visibility.content_gaps | get_content_gaps | 获取由 Claude-Haiku 生成的优先级内容建议,针对你未胜出的提示词。 | brand_id,可选的 max_recommendations(1-10) |
visibility.refresh | refresh_brand | 手动触发一次全新扫描,覆盖所有已设置 API 密钥的引擎。 | brand_id,可选的 engines[] 筛选条件 |
本地 stdio CLI(npx、桌面扩展、Docker)还提供品牌管理功能;在 Workers 部署中,相同操作由受 X-Seed-Secret 保护的 /admin/* 路由提供:
| 工具(仅限本地 CLI) | 功能 | 所需参数 |
|---|---|---|
track_brand | 开始跟踪品牌:在本地创建品牌并生成其买家意向提示词集(设置了 ANTHROPIC_API_KEY 时使用 Claude Haiku,否则生成三个入门提示词)。 | brand_id、name、domain、可选的 category、competitors[]、aliases[]、exclude_terms[]、prompt_count、refresh_frequency(daily/weekly/manual,默认值为 weekly) |
update_brand | 更正现有品牌的域名、名称、类别、竞争对手、别名、排除项或刷新频率,同时保留活跃提示词和历史运行记录。将频率设为 manual,即可暂停预定的 Worker 扫描,同时仍可手动刷新。 | brand_id,以及要更改的任意字段 |
list_brands | 列出受跟踪品牌及其域名、竞争对手、别名、排除项和活跃提示词数量。 | — |
list_prompts | 查看受跟踪品牌的确切活跃买家意向提示词,不做任何更改。 | brand_id |
set_prompts | 将活跃提示词集替换为用户提供的确切买家问题,同时保留历史运行记录。 | brand_id、prompts[](1-50 个不重复的问题) |
generate_prompts | 通过 Claude Haiku 重新生成品牌的提示词集(替换活跃提示词,保留历史记录)。 | brand_id,可选的 count(默认值为 20) |
开始使用
第 1 步 — 获取 API 密钥
引擎需要选择启用。选择你需要的引擎;未选择的引擎会静默跳过。
- OpenAI — 带网页搜索功能的 ChatGPT 引擎(
gpt-5-search-api)。OpenAI 当前对网页搜索按每 1,000 次调用收费 $10,另加模型 Token 费用;请参阅 API 定价 和 API 密钥。 - Anthropic — Claude 引擎,还支持提示词生成和内容差距分析(两者都调用 Claude Haiku 4.5)。Anthropic 按输入/输出 Token 为 Haiku 4.5 定价,因此每条提示词的费用取决于工作负载;估算扫描费用前,请查看当前的 Claude 定价。console.anthropic.com
- Google AI Studio (Gemini) — Gemini 引擎(
gemini-3.1-flash-lite)。Google 当前为此模型提供免费层级的 Token 用量,付费用量则按 Token 计价。速率限制因模型、项目和用量层级而异,且 Google 表示实际容量可能有所不同;请在 AI Studio 中查看项目当前生效的限制,不要依赖固定的 RPM/RPD 假设。请参阅 Gemini 定价 和 速率限制。 - Perplexity — Agent API 的
fast预设,用于基于网络搜索的可见度分析。API 用量需付费;定价取决于预设工作负载,因此估算扫描费用前,请查看当前的 Agent API 定价。Perplexity Agent API · 定价 - xAI — 带必需的 Web Search grounding 的 Grok 引擎(
grok-4.7)。xAI 当前对 Web Search 按每 1,000 次调用收费 $5,另加模型 Token 费用。console.x.ai · 定价 - SerpAPI — Google AI Overviews,以及可选的 Google AI Mode。一个 SerpAPI 密钥即可支持两者,但 AI Mode 默认关闭,因为它会为每条提示词额外发起一次单独的付费搜索;需要启用第七个搜索面时,请设置
SERPAPI_AI_MODE_ENABLED=true。Google AI Mode API · serpapi.com/dashboard
建议的入门组合:OpenAI + Anthropic (Claude)。 OpenAI 通过网页搜索提供基于搜索结果的 ChatGPT 可见度,并按搜索调用次数和模型 Token 收费;Anthropic 还支持提示词生成和内容差距分析。估算定期扫描费用前,请查看当前的服务提供商定价。需要扩大覆盖范围时,再酌情添加 Gemini、Perplexity、Grok 或 SerpAPI;Gemini 容量因模型、项目和用量层级而异,而 Google AI Overviews 通常不会返回结果(按零分计)。Google AI Mode 是单独的 SerpAPI 调用,在启用 SERPAPI_AI_MODE_ENABLED=true 前会保持关闭,以免现有 SerpAPI 配置意外导致 Google 搜索调用次数翻倍。
第 2 步 — 部署到你的 Cloudflare 账户
部署只需执行 6 条命令,约 5 分钟即可完成。完整操作指南(含说明和故障排查)请参阅 SETUP.md,也可以按下方的快速步骤操作。
# 1. Install deps
npm install
# 2. Log in to Cloudflare
npx wrangler login
# 3. Copy the config template
cp wrangler.example.jsonc wrangler.jsonc
# 4. Create KV namespace + D1 database, paste each printed id into wrangler.jsonc
npx wrangler kv namespace create OAUTH_KV
npx wrangler d1 create mcp-geo-db
# 5. Set the required secret + at least one engine API key
# Recommended starting pair — OpenAI uses web search plus model tokens; check current pricing:
npx wrangler secret put SEED_SECRET
npx wrangler secret put CONNECT_SECRET # recommended — gates who can connect (see SECURITY.md)
npx wrangler secret put OPENAI_API_KEY # ChatGPT engine
npx wrangler secret put ANTHROPIC_API_KEY # Claude engine + prompt generation
# 6. Apply migrations and deploy
npx wrangler d1 migrations apply mcp-geo-db --remote
npx wrangler deploy
部署自己的 Worker 后,将该部署的 /mcp URL 用作远程端点,例如:
https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp
在目录或客户端集成中使用你配置的 Worker URL。公开的 geo-mcp.digestseo.com/mcp 端点并不是无需密钥、可替代带有引擎服务提供商凭据的部署的托管服务。
第 3 步 — 连接到 MCP 客户端
wrangler deploy 执行完成后,你会获得类似
https://digestseo-mcp.YOUR-SUBDOMAIN.workers.dev 的 URL。
Claude.ai(网页端)
Settings → Connectors → Add custom connector。粘贴:
https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp
完成 OAuth 握手。连接器变为绿色后即可使用。
ChatGPT(远程 MCP)
ChatGPT 自定义 MCP 应用连接到远程 MCP 服务,因此请使用上文已配置的 Worker 部署中的 /mcp URL。在 ChatGPT 中,为你的工作区启用 Developer Mode/自定义应用,并添加该远程 MCP URL。是否可用取决于你的 ChatGPT 套餐和工作区管理员策略;OpenAI 当前的 MCP 支持不需要特殊的 search 或 fetch 工具名称。
https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp
ChatGPT(通过 OpenAI Secure MCP Tunnel 本地/私有连接)
如果你想让 ChatGPT 使用本地 stdio 包,又不想将其公开为 HTTPS 服务,OpenAI Secure MCP Tunnel 是受支持的桥接方式。首先在 OpenAI Platform 中创建隧道,然后让 tunnel-client 持续运行在启动 mcp-geo 的同一台机器上。你需要隧道 ID、隧道运行时 API 密钥,以及目标工作区的 ChatGPT developer-mode/隧道权限。
让 mcp-geo 进程能够使用你想用的任意提供商密钥,然后通过本地包命令初始化隧道配置:
tunnel-client init --sample sample_mcp_stdio_local --profile digestseo --tunnel-id tunnel_0123456789abcdef0123456789abcdef --mcp-command "npx -y @digestseo/mcp-geo"
tunnel-client doctor --profile digestseo --explain
tunnel-client run --profile digestseo
当 tunnel-client run 正常运行时,在 ChatGPT 中创建一个 developer-mode 应用,选择 Tunnel 作为连接类型,并选择该隧道。此方式适用于私有/本地使用;它不会将 mcp-geo 发布为公开的 ChatGPT 应用。请参阅 OpenAI 当前的 Secure MCP Tunnel 指南,了解隧道创建、权限、下载和故障排除。
Claude Code
claude mcp add --transport http digestseo https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp
然后在 Claude Code 中运行 /mcp,在浏览器中完成 OAuth 握手。
Claude Desktop
编辑 Claude Desktop 配置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"digestseo": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp"
]
}
}
}
编辑后重启 Claude Desktop。
Cursor
编辑 ~/.cursor/mcp.json:
{
"mcpServers": {
"digestseo": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp"
]
}
}
}
重启 Cursor。
Codex CLI
添加到 ~/.codex/config.toml:
[mcp_servers.digestseo]
command = "npx"
args = [
"-y",
"mcp-remote",
"https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp",
]
环境变量参考
| 变量 | 必需 | 默认值 | 描述 |
|---|---|---|---|
OPENAI_API_KEY | 选择启用 | 未设置 | 启用 ChatGPT 引擎。未设置时会跳过 ChatGPT。 |
ANTHROPIC_API_KEY | 选择启用 | 未设置 | 启用 Claude 引擎,以及由 Claude-Haiku 驱动的提示词生成器和内容缺口分析器。 |
GEMINI_API_KEY | 选择启用 | 未设置 | 启用 Gemini 引擎。速率限制因模型、项目和使用层级而异;请在 Google AI Studio 中查看项目当前的限制(参见故障排除)。 |
PERPLEXITY_API_KEY | 选择启用 | 未设置 | 启用 Perplexity Agent API 的 fast 预设。API 使用需付费;请查看当前的 Agent API 定价。 |
XAI_API_KEY | 选择启用 | 未设置 | 启用 Grok 引擎(grok-4.7),并要求使用 Web Search grounding。 |
SERPAPI_API_KEY | 选择启用 | 未设置 | 通过 SerpAPI 启用 Google AI Overviews。启用下方显式标志时,也会为 Google AI Mode 提供凭据。 |
SERPAPI_AI_MODE_ENABLED | 否 | false | 设置为 true,将 Google AI Mode 添加为单独的可见度引擎。默认关闭,以避免意外增加 SerpAPI 调用/费用。 |
SEED_SECRET | 是 | 未设置 | 用于保护每个 /admin/* 路由的共享密钥。请选择高熵字符串。 |
CONNECT_SECRET | 建议设置 | 未设置 | 设置后,OAuth 连接流程会在签发令牌前要求用户在浏览器中输入此密钥。未设置时,任何知道你的 worker URL 的人都可以连接 MCP 客户端。参见 SECURITY.md。 |
TURNSTILE_SITE_KEY | 否 | 未设置 | 为添加公开 /check 表单的派生版本预留。OSS 版本中未使用。 |
TURNSTILE_SECRET_KEY | 否 | 未设置 | 同上——为派生版本预留。 |
生产环境中的提供商凭据通过 wrangler secret put VAR 设置,本地则通过 .dev.vars 设置。SERPAPI_AI_MODE_ENABLED 是非机密运行时标志,可存储在 Wrangler vars 中,或设置在本地进程环境中。
架构
flowchart LR
C["MCP client<br/>(Claude.ai / Claude Code / Cursor / ...)"] -- "MCP over HTTP + OAuth" --> W["Cloudflare Worker<br/>digestseo-mcp"]
CRON["Cron Trigger<br/>every 6h"] --> W
W --> MCP["Stateless MCP handler<br/>(SDK v2, 6 hosted tools)"]
W -- "one self-fetch per engine<br/>via SELF service binding" --> RE["/admin/run-engine<br/>(own invocation per engine)"]
RE --> E1["OpenAI"]
RE --> E2["Anthropic"]
RE --> E3["Gemini"]
RE --> E4["Perplexity"]
RE --> E5["xAI<br/>(Grok)"]
RE --> E6["SerpAPI<br/>(AI Overviews / AI Mode)"]
RE --> DB[("D1<br/>brands / prompts / runs /<br/>responses / cache")]
MCP --> DB
为兼容迁移,暂时保留旧版 GeoMcpAgent / MCP_OBJECT Durable Object 绑定,但当前 /mcp 流量由上方所示的无状态 SDK v2 处理程序提供服务。
每个引擎都在独立的 Worker 调用中运行,并拥有各自的免费套餐 50 次子请求额度;每个引擎的结果都会通过一次 D1.batch() 写入。对于单个品牌按日运行的情况,整个系统都能满足 Cloudflare 免费套餐的限制。
安全
/admin/*由SEED_SECRET保护(使用恒定时间比较)。/mcp需要 OAuth;请设置CONNECT_SECRET,确保只有拥有密钥的人才能完成连接流程。只要你的 Worker URL 在任何地方共享,就强烈建议设置此项,因为已连接的客户端可以调用visibility.refresh,消耗你的引擎 API 额度。- 引擎密钥存储在 Cloudflare 的加密密钥存储中;品牌、扫描历史记录和缓存响应则存储在你自己的 D1 数据库中。扫描提示词会发送给你配置的 AI 服务提供商;请参阅隐私政策。
完整详情及漏洞报告方式:SECURITY.md。
示例提示词
上方的示例报告由下面的第一条提示词生成。
在 Claude.ai(或任何 MCP 客户端)中启用连接器后,可以试试:
| 工具 | 示例提示词 |
|---|---|
visibility.check | “目前品牌 acme 在 AI 中的可见度如何?” |
visibility.history | “展示 acme 过去 60 天的可见度趋势,按日显示。” |
visibility.compare | “比较 acme 与 asana.com 和 monday.com 在过去 14 天的表现。” |
visibility.citations | “展示过去一周 Perplexity 对 acme 的真实引用。” |
visibility.content_gaps | “acme 应发布哪些内容来弥补可见度差距?请列出前 5 项。” |
visibility.refresh | “立即在所有可用引擎中刷新 acme。” |
visibility.refresh | “刷新 acme,但只使用 Gemini 和 Claude。” |
托管版本
如果你不想运行自己的 Cloudflare 账户、管理 API 密钥或支付各个引擎的账单,DigestSEO 的托管版本可在托管基础设施上运行相同的 MCP 服务,并支持多个品牌、定时刷新、Web 界面和统一计费。候补名单现已开放——前往 digestseo.com 加入。
故障排除
- Worker 已部署,但工具返回空数据 — 至少缺少一个引擎 API 密钥。检查
wrangler secret list,并添加你打算使用的密钥。没有密钥的引擎会被静默跳过,这可能导致visibility.check没有数据。 - 日志中出现
no engines available错误 — 完全没有设置引擎 API 密钥。至少设置以下其中一个:OPENAI_API_KEY、ANTHROPIC_API_KEY、GEMINI_API_KEY、PERPLEXITY_API_KEY、XAI_API_KEY、SERPAPI_API_KEY。 - D1 迁移失败 — 确保已运行
npx wrangler d1 migrations apply mcp-geo-db --remote(使用wrangler dev时还需运行--local)。对于临时修复,运行npx wrangler d1 execute mcp-geo-db --remote --file=migrations/0001_initial.sql。 - Claude.ai 中的自定义 MCP 连接器无法连接 — URL 必须以
/mcp结尾。在 OSS 构建中,OAuth 握手会自动完成(单个开发用户);如果设置了CONNECT_SECRET,浏览器步骤会显示一个字段的表单 — 输入你在部署时设置的密钥。如果反复循环,请清除连接器并重新添加。仔细确认 Worker 可通过公网访问(curl https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/healthz应返回ok)。 - Cron 未触发 — 检查 Cloudflare 控制面板中的 Workers & Pages → digestseo-mcp → Settings → Triggers。“Cron Triggers”部分应列出
0 */6 * * *。如果缺少该项,请再次运行npx wrangler deploy— 触发器会在部署时注册。处理程序也只会为已达到refresh_frequency刷新周期的品牌分发引擎,因此,刚初始化的品牌可能不会在下一个 6 小时边界触发。 /admin/*返回401 unauthorized— 缺少X-Seed-Secret标头,或其值与已部署的SEED_SECRET不匹配。重新运行npx wrangler secret put SEED_SECRET,并更新你的.env.test。- Worker 在自请求时返回 404 / 错误代码 1042 —
wrangler.jsonc中缺少services绑定,或service名称与 Worker 的name字段不匹配。/admin/run-live通过env.SELF(Cloudflare 服务绑定)对/admin/run-engine发起自请求,正是因为 Cloudflare 的“Worker 调用自身”保护机制会阻止向自己的workers.dev主机名发起公网 URL 请求。确认你部署的wrangler.jsonc包含"services": [{ "binding": "SELF", "service": "<your-worker-name>" }],且其中的名称与你在顶层"name"字段中设置的名称一致。修复后,运行npx wrangler deploy并重试。 - Gemini 提示词触发速率限制(HTTP 429) — Gemini API 限额因模型、项目和使用层级而异,Google 也指出实际容量可能有所不同。在 Google AI Studio 中检查项目的当前限额,并查看 Google 的速率限制文档。请求触发速率限制时,mcp-geo 会将该引擎行记录为失败,并将其排除在成功评分之外。Google 建议稍等片刻后重试,或降低请求速率;如果限额始终不足以满足你的扫描频率,可以考虑合适的付费层级,而不要假设免费层级有统一的 RPM/RPD 配额。
- 在
/admin/run-engine期间,wrangler tail 中出现FOREIGN KEY constraint failed— 处理程序会在保存提示词响应前,以防御性方式对 runs 行执行INSERT OR IGNORE。这是针对独立分发引擎任务的幂等性 / 外键保护,因此在 0.2.0+ 构建中不应出现此问题;如果出现,请确认已部署最新的src/index.ts(grep -n "INSERT OR IGNORE INTO runs" src/index.ts应能匹配到内容)。
贡献
欢迎提交问题和 PR。简要说明请参阅 CONTRIBUTING.md。
隐私政策
本地软件包和 Claude Desktop 扩展的完整政策:https://geo-mcp.digestseo.com/privacy
在本地运行 digestseo-mcp(npx、桌面扩展或 Docker)时,你的所有数据——品牌、提示词、运行记录、响应和响应缓存——都会保留在你的设备上,存储于本地 SQLite 数据库 ~/.digestseo/digestseo.sqlite(可通过 DIGESTSEO_DB_PATH 覆盖)。扫描提示词只会发送给你配置了 API 密钥的 AI 提供商(OpenAI、Anthropic、Google、Perplexity、xAI 和/或 SerpAPI);这些提供商如何处理相关数据流,受其各自隐私政策的约束。任何数据都不会发送给本项目的作者:没有遥测、没有分析数据,也没有账户。
数据使用与存储: 本地品牌配置、提示词、扫描运行记录、响应和缓存响应仅用于提供你调用的 MCP 服务功能。它们会保留在上述本地 SQLite 数据库中;本项目不运营账户服务,也不收集遥测数据。
第三方处理: 提示词和扫描数据流只会发送给你明确配置的 AI 提供商。这些提供商会依据各自的隐私政策处理并保留这些数据;项目作者不会收到副本。
保留与删除: 本地数据会保留在你的设备上,直到你删除 SQLite 数据库(或你配置的自定义 DIGESTSEO_DB_PATH)。删除该本地数据库会移除 mcp-geo 存储的本地历史记录和缓存。提供商端的数据保留由各个已配置的提供商控制。
联系: 有关 mcp-geo 的隐私问题,请发送邮件至 [email protected]。
许可证
MIT。
由 Tomi Šeregi 构建并维护。
更新日志
完整版本历史请参阅 CHANGELOG.md。
[0.3.2] — 2026 年 7 月 27 日
- 发布
@digestseo/mcp-geo,同步 Worker、MCP Registry 和 MCPB 元数据。 - 托管
visibility.*工具命名空间,并提供类型化输入/输出架构;本地 stdio 名称仍采用扁平形式。 - 专用的
mcp-geo-dbD1 配置,以及 Cursor/Claude Code 插件元数据。 - 修补生产环境依赖项的固定版本。
[0.3.0] — 2026 年 7 月
- 在 npm 上提供本地 stdio CLI(
npx -y @digestseo/mcp-geo),支持 SQLite 存储和内联引擎运行。 - 本地品牌管理工具:
track_brand、list_brands、generate_prompts。 - Worker 和 CLI 共用与运行时无关的核心;D1 和 better-sqlite3
Db适配器。 - MCP Registry
server.json、MCPB 桌面扩展、Dockerfile、llms-install.md。
[0.2.1] — 2026 年 6 月
- OAuth 连接流程中可选的
CONNECT_SECRET验证。 - 基于词边界的品牌/竞争对手匹配;基于精确域名或子域名的关联引用检查。
- 每个品牌的
aliases和exclude_terms(迁移 0005),用于 Monday/Notion 这类同形异义品牌。 visibility.history包含部分运行记录,并丢弃完全失败的运行记录。- CI 工作流(类型检查 + 单元测试)和纯函数单元测试套件。
- 文档建议使用 OpenAI + Anthropic 作为初始引擎组合。
- 以恒定时间进行密钥比较。
[0.2.0] — 2026 年 5 月
- 通过
env.SELF服务绑定按引擎进行 HTTP 分发(每个引擎调用一次 Worker,避开 Cloudflare 的 1042 自调用限制)。 prompt_responses表新增status+error_message列——引擎调用失败现在会显式记录为行,不再在raw_response中使用ERROR:字符串。- 在
/admin/run-engine中对 runs 行使用INSERT OR IGNORE(应对 D1 跨区域复制延迟,避免prompt_responses因违反外键约束而被丢弃)。 - 每个引擎的
runLive中批量执行 D1 操作(每次调用约 26 个子请求,而不是约 89 个;现在完整的 20 个提示词运行记录可控制在免费计划上限内)。 getLatestCompletedRun以EXISTS(ok rows)为依据;部分完成的运行仍会显示其数据。- 新增
POST /admin/cleanup-failed-runs管理路由。
[0.1.1] — 2026 年 5 月
- 移除了不可靠的 bash 安装脚本。现在,按照 SETUP.md 手动安装是标准方式。
[0.1.0] — 2026 年 5 月
- 首次公开发布。
- 支持 5 种引擎:ChatGPT、Claude、Perplexity、Gemini、Google AI Overviews。
- 提供 6 个 MCP 工具。
- 根据你提供的 API 密钥选择启用引擎。
- 使用 Cloudflare Cron Trigger 自动刷新。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
