SEO Monster
概览
作者提供的说明(英文原文)
Local-first SEO MCP: track AI citations, Search Console, GA4, PageSpeed, Cloudflare, IndexNow, CrUX.
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i1 项中通过 1 项依据公开信息检查;尚未扫描代码
- 使用情况i起步阶段↓ 537/周 · ★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 在你的电脑上运行
- 传输方式: stdio
- 分类: 营销与社交媒体
- 你需要填写:PSI_API_KEY, CF_API_TOKEN, SEO_MCP_INDEXNOW_KEY, DATAFORSEO_LOGIN, DATAFORSEO_PASSWORD, OPENPAGERANK_API_KEY, PERPLEXITY_API_KEY, OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, GOOGLE_ADS_DEVELOPER_TOKEN
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:1 项中通过 1 项
- 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
- 需要你自己填写:
SEO_MCP_GOOGLE_OAUTH_CLIENT,SEO_MCP_GOOGLE_TOKEN,SEO_MCP_GSC_DEFAULT_SITE,SEO_MCP_GA4_PROPERTY_ID,PSI_API_KEY,CF_API_TOKEN,CF_ZONE,SEO_MCP_INDEXNOW_KEY,SEO_MCP_INDEXNOW_KEY_LOCATION,SEO_MCP_ALLOW_DESTRUCTIVE,DATAFORSEO_LOGIN,DATAFORSEO_PASSWORD,OPENPAGERANK_API_KEY,PERPLEXITY_API_KEY,OPENAI_API_KEY,ANTHROPIC_API_KEY,GEMINI_API_KEY,GOOGLE_ADS_DEVELOPER_TOKEN,GOOGLE_ADS_CUSTOMER_ID
标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
- PyPI已安装 Python 的 uv(用于 uvx 命令)
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"seo-monster": {
"command": "uvx",
"args": [
"seo-monster"
],
"env": {
"SEO_MCP_GOOGLE_OAUTH_CLIENT": "your-value",
"SEO_MCP_GOOGLE_TOKEN": "your-value",
"SEO_MCP_GSC_DEFAULT_SITE": "your-value",
"SEO_MCP_GA4_PROPERTY_ID": "your-value",
"PSI_API_KEY": "your-value",
"CF_API_TOKEN": "your-value",
"CF_ZONE": "your-value",
"SEO_MCP_INDEXNOW_KEY": "your-value",
"SEO_MCP_INDEXNOW_KEY_LOCATION": "your-value",
"SEO_MCP_ALLOW_DESTRUCTIVE": "your-value",
"DATAFORSEO_LOGIN": "your-value",
"DATAFORSEO_PASSWORD": "your-value",
"OPENPAGERANK_API_KEY": "your-value",
"PERPLEXITY_API_KEY": "your-value",
"OPENAI_API_KEY": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"GEMINI_API_KEY": "your-value",
"GOOGLE_ADS_DEVELOPER_TOKEN": "your-value",
"GOOGLE_ADS_CUSTOMER_ID": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add seo-monster --env SEO_MCP_GOOGLE_OAUTH_CLIENT=your-value --env SEO_MCP_GOOGLE_TOKEN=your-value --env SEO_MCP_GSC_DEFAULT_SITE=your-value --env SEO_MCP_GA4_PROPERTY_ID=your-value --env PSI_API_KEY=your-value --env CF_API_TOKEN=your-value --env CF_ZONE=your-value --env SEO_MCP_INDEXNOW_KEY=your-value --env SEO_MCP_INDEXNOW_KEY_LOCATION=your-value --env SEO_MCP_ALLOW_DESTRUCTIVE=your-value --env DATAFORSEO_LOGIN=your-value --env DATAFORSEO_PASSWORD=your-value --env OPENPAGERANK_API_KEY=your-value --env PERPLEXITY_API_KEY=your-value --env OPENAI_API_KEY=your-value --env ANTHROPIC_API_KEY=your-value --env GEMINI_API_KEY=your-value --env GOOGLE_ADS_DEVELOPER_TOKEN=your-value --env GOOGLE_ADS_CUSTOMER_ID=your-value -- uvx seo-monster运行前请先填写空着的值。
或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"seo-monster": {
"command": "uvx",
"args": [
"seo-monster"
],
"env": {
"SEO_MCP_GOOGLE_OAUTH_CLIENT": "your-value",
"SEO_MCP_GOOGLE_TOKEN": "your-value",
"SEO_MCP_GSC_DEFAULT_SITE": "your-value",
"SEO_MCP_GA4_PROPERTY_ID": "your-value",
"PSI_API_KEY": "your-value",
"CF_API_TOKEN": "your-value",
"CF_ZONE": "your-value",
"SEO_MCP_INDEXNOW_KEY": "your-value",
"SEO_MCP_INDEXNOW_KEY_LOCATION": "your-value",
"SEO_MCP_ALLOW_DESTRUCTIVE": "your-value",
"DATAFORSEO_LOGIN": "your-value",
"DATAFORSEO_PASSWORD": "your-value",
"OPENPAGERANK_API_KEY": "your-value",
"PERPLEXITY_API_KEY": "your-value",
"OPENAI_API_KEY": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"GEMINI_API_KEY": "your-value",
"GOOGLE_ADS_DEVELOPER_TOKEN": "your-value",
"GOOGLE_ADS_CUSTOMER_ID": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"seo-monster": {
"type": "stdio",
"command": "uvx",
"args": [
"seo-monster"
],
"env": {
"SEO_MCP_GOOGLE_OAUTH_CLIENT": "your-value",
"SEO_MCP_GOOGLE_TOKEN": "your-value",
"SEO_MCP_GSC_DEFAULT_SITE": "your-value",
"SEO_MCP_GA4_PROPERTY_ID": "your-value",
"PSI_API_KEY": "your-value",
"CF_API_TOKEN": "your-value",
"CF_ZONE": "your-value",
"SEO_MCP_INDEXNOW_KEY": "your-value",
"SEO_MCP_INDEXNOW_KEY_LOCATION": "your-value",
"SEO_MCP_ALLOW_DESTRUCTIVE": "your-value",
"DATAFORSEO_LOGIN": "your-value",
"DATAFORSEO_PASSWORD": "your-value",
"OPENPAGERANK_API_KEY": "your-value",
"PERPLEXITY_API_KEY": "your-value",
"OPENAI_API_KEY": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"GEMINI_API_KEY": "your-value",
"GOOGLE_ADS_DEVELOPER_TOKEN": "your-value",
"GOOGLE_ADS_CUSTOMER_ID": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
需要你填写的值
SEO_MCP_GOOGLE_OAUTH_CLIENTenvPath to your Desktop-app OAuth client-secrets JSON, downloaded from Google Cloud Console. Required for Search Console, Indexing, and GA4 tools.SEO_MCP_GOOGLE_TOKENenvWritable path where the cached OAuth token is stored. On first use, a browser opens for one-time consent and the token is written here. Default: ${HOME}/.config/seo-monster/token.jsonSEO_MCP_GSC_DEFAULT_SITEenvDefault Search Console property, e.g. 'sc-domain:example.com' or 'https://www.example.com/'.SEO_MCP_GA4_PROPERTY_IDenvDefault GA4 property, e.g. 'properties/123456789' or bare '123456789'.- Google API key shared by PageSpeed Insights and Chrome UX Report History tools. Optional; both work anonymously at a tighter rate limit when unset.
- Cloudflare API token. Optional; needed only for the Cloudflare tools. Scopes: Zone:Read, DNS:Read, Account Analytics:Read, and (only when destructive mode is on) Cache Purge:Purge, Single Redirect:Ed…
CF_ZONEenvDefault Cloudflare zone hostname, e.g. 'example.com'.- IndexNow shared key (any 8-128 hex string you generate). Required only for the IndexNow tools. Host the key file at https:// / .txt for engine verification.
SEO_MCP_INDEXNOW_KEY_LOCATIONenvOverride the default IndexNow key-file URL (https:// / .txt). Set only if you host the key file at a non-standard path.SEO_MCP_ALLOW_DESTRUCTIVEenvSet to 'true' to enable the Cloudflare cache-purge tools. Default false: all destructive tools refuse to run.- DataForSEO Basic-auth login. Optional (v0.9). Unlocks SERP/PAA/related, keyword volume+difficulty+intent, competitor keyword-gap, and Google AI Overview citations for keyword_universe / serp_adjacenc…
- DataForSEO Basic-auth password. Optional (v0.9). Required alongside DATAFORSEO_LOGIN.
- Open PageRank (DomCop) free API key. Optional (v0.9). Free competitor domain-authority proxy for onpage_serp_gap.
- Perplexity Sonar API key. Optional (v0.9). One of the AI answer-engines for ai_citation_track.
- OpenAI API key (Responses web_search). Optional (v0.9). One of the AI answer-engines for ai_citation_track.
- Anthropic API key (web_search tool). Optional (v0.9). One of the AI answer-engines for ai_citation_track.
- Google Gemini API key (Search grounding). Optional (v0.9). One of the AI answer-engines for ai_citation_track.
- Google Ads API developer token. Optional (v0.9). Volume-only alternative to DataForSEO for keyword_universe; live use also needs an adwords-scope OAuth re-consent.
GOOGLE_ADS_CUSTOMER_IDenvGoogle Ads customer id (digits). Optional (v0.9). Required alongside GOOGLE_ADS_DEVELOPER_TOKEN.
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
- ✓ 通过
作者与仓库一致
注册名称已通过 GitHub 账户 avansaber 验证,该账户拥有此仓库
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- – 不适用
端点有响应
它在你的电脑上运行,没有互联网端点
- – 不适用
使用 OAuth 登录
在你的电脑上运行,改用本地设置
- … 尚未检查
工具描述中没有隐藏指令
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与“营销与社交媒体”中的其他服务器比较i
- 星标数多于此分类中其他 3608 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 3608 个服务器的 39% 更新
- 基础检查结果等于或优于此分类中其他 3608 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
SEO Monster 安全吗?
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
你需要填写:PSI_API_KEY, CF_API_TOKEN, SEO_MCP_INDEXNOW_KEY, DATAFORSEO_LOGIN, DATAFORSEO_PASSWORD, OPENPAGERANK_API_KEY, PERPLEXITY_API_KEY, OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, GOOGLE_ADS_DEVELOPER_TOKEN
它在我的电脑上运行还是在云端?
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(0.9.3)于44天前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
有什么可以替代它?
同一分类中有:MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Google Analytics MCP
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
BibiGPT YouTube Video Summarizer
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Don't learn another SEO dashboard. Just ask.
The open-source SEO analyst that lives inside the AI assistant you already use — working from your own Search Console, Analytics, and PageSpeed data, on your machine.
You don't open a new tool — you just ask, in plain English, inside Claude (or Cursor / Cline / Codex):
You *"What should I write about next?"*
🦖 SEOMonster Pulls your Search Console and surfaces three topics you're *almost* ranking for — positions 8–20 with real demand — ranked by opportunity. Say the word and it drafts the brief.
| You ask … | … SEOMonster does |
|---|---|
| *"What should I write about next?"* | Surfaces near-ranking topics from your own Search Console demand |
| *"Is this page ready to publish?"* | Runs the technical-SEO + structured-data checks before you ship |
| *"Get this indexed."* | Nudges Google (Indexing API) and Bing / Yandex (IndexNow) |
| *"Did my change actually move rankings?"* | Before/after attribution vs a matched control group — with a confidence interval, not a guess |
| *"Is ChatGPT recommending us, or our competitors?"* | Tracks your brand's share of voice across the AI answer engines |
70 tools across Search Console, GA4, PageSpeed, Cloudflare, AI-citation tracking, keyword discovery, and technical SEO — every one returning the same JSON result envelope, every one driven by your own credentials. No new dashboard to learn; you chat with the assistant you already use.
[!NOTE]
Published on PyPI as `seo-monster` (so the command is
uvx seo-monster). The import package isseo_mcp;seo-mcpis a dev/local alias. The package ships zero secrets — every credential is resolved at runtime from your own environment or config file.
- Your data, your machine. User-credential-driven; nothing is sent to any third party.
- Read-first, safe by default. Reads always work; the two routine writes (sitemap submit, indexing request) are on by default; the Cloudflare write tools (cache purge, redirects, settings, managed robots.txt) are gated behind
SEO_MCP_ALLOW_DESTRUCTIVE, and the riskier ones also need a per-callconfirmtoken. - Lean. Standard library + the
mcpSDK + the Google client libraries; PageSpeed and Cloudflare ride onurllib, no extra HTTP dependency.
Local evidence workbench
SEOmonster Workbench is a separately installed local companion for preserving source evidence, inspecting recommendation calculations, drafting action plans and comparing later observations. Its CLI stores project records in SQLite and supports portable exports, backup/restore and deterministic replay. The optional MCP interface exposes 17 tools for one configured project. Plans and recorded approvals remain separate from execution; the workbench has no external executor.
Start with the offline fixture workflow. The CLI needs no provider credentials or paid data. SDK 2 capture requires SEOmonster 0.10.0 or later, the first engine release on MCP SDK 2. The Workbench itself installs from source; it is not published on PyPI.
Quickstart
[!TIP]
Fastest path: the one-click install buttons above. Or add it to any MCP client by hand:
{
"mcpServers": { "seomonster": { "command": "uvx", "args": ["seo-monster"] } } }
Run the one-time Google sign-in once — uvx --from seo-monster seo-monster auth — then ask your assistant to call `system_status` to confirm what's connected. Full per-client setup and credentials are in Install and Auth.
How it works
Provider requests and local records
Selected tools contact Google Search Console, Indexing, GA4 Data/Admin, Google Ads, PageSpeed Insights, CrUX, Cloudflare or IndexNow. Optional research uses DataForSEO, Open PageRank, Perplexity, OpenAI, Anthropic or Gemini. Technical checks fetch the requested websites and related robots, sitemap, redirect or verification URLs. Providers receive the arguments and credentials needed for the selected request; optional paid calls can incur provider charges. These calls do not add maintainer telemetry.
The engine does not keep a query/result history. The separately installed local Workbench stores user-owned evidence and decision records in SQLite and creates exports only when requested. Your MCP host controls its own transcripts and logs. See Privacy for destinations and persistence scopes.
flowchart LR
U["You — plain English"] --> H["Claude · Cursor · Cline · Codex"] H -- "MCP · stdio" --> S["SEOMonster 70 tools"] S --> GSC["Search Console · GA4"] S --> PSI["PageSpeed · CrUX"] S --> CF["Cloudflare · IndexNow"] S --> AI["AI engines · SERP (optional)"] S -. "your creds · your machine" .-> U
SEOMonster is a stdio MCP server: your AI host launches it, it calls Google / Cloudflare / the AI engines with *your* credentials, and returns a consistent JSON envelope the assistant reads back to you in plain language.
Requirements
For the `.mcpb` bundle path (Claude Desktop): just Claude Desktop on macOS or Windows. The bundle declares Python 3.11+ as a runtime; Claude Desktop materializes the environment for you. No prior uv install needed.
For the `uvx` path (Cursor, Cline, Codex, advanced Claude Desktop): Python 3.11 or newer plus uv (which provides uvx). Find the absolute path to uvx with which uvx; GUI hosts do not read your shell profile, so MCP configs need the full path.
Tools
70 tools, grouped by service. All return the same result envelope (see Result envelope). Call system_status first if unsure what is configured. The server also publishes thirteen named workflow prompts.
Cross-service
system_status- which services are configured/reachable, the Google auth method and scopes, whether destructive mode is on, the full tool catalog, and the list of registered prompts.
📂 Browse all 70 tools — grouped by service (GSC · GA4 · AI/GEO · keyword discovery · content · PageSpeed/CrUX · Cloudflare · IndexNow · technical · schema). Click to expand.
Google Search Console (18)
*Workhorses*
gsc_list_properties- properties the credentials can see, with permission level and a derivedwritableflag (true forsiteOwner/siteFullUser).gsc_search_analytics- the workhorse: clicks/impressions/CTR/position by dimensions, date range, filters, anddata_state.gsc_top_queries/gsc_top_pages- convenience top-N wrappers.gsc_compare_periods- current vs prior window with per-key deltas. v0.2.0 addedsort_by,sort_dir,min_delta_clicks/_impressions/_position,anomalies_only+sigma_threshold, andtopfor one-call movers / losers / outliers reporting.gsc_inspect_url- URL Inspection (index verdict, coverage, canonicals).gsc_batch_inspect_urls- inspect up to 25 URLs, per-URL failures collected.gsc_list_sitemaps- registered sitemaps and their status.gsc_submit_sitemap- submit a sitemap (write, un-gated; needs the writable scope). Accepts eithersitemap_url(friendly) orfeedpath(raw API field).gsc_request_indexing- request (re)crawl via the Indexing API (write, un-gated). Accepts singularurlorurls.
*Query intelligence (v0.2.0)*
gsc_query_opportunities- queries already ranking top N with below-target CTR. Title and meta optimization candidates.gsc_query_gaps- queries that draw impressions but barely any clicks. Content opportunity signal.gsc_new_queries- queries appearing in the current window with no prior impressions. Emerging topics.gsc_top_pages_by_query- which pages rank for a specific query. The cannibalization audit input.
*Multi-property + lifecycle (v0.5.0)*
gsc_portfolio_summary(days, include?, exclude?)- multi-property fleet view. Per-property one-row summary (clicks, impressions, CTR, position) for the last N days, plus a portfolio-level rollup. Honors optionalinclude/excludefilters. The single fastest answer to "how is the whole portfolio doing?" across agency or multi-brand setups.gsc_trending_pages(days, limit)- pages whose impressions grew most over the last N days vs the prior N days. Wrapper ongsc_compare_periodswithdimensions=["page"], sort_by="delta_impressions", sort_dir="desc".gsc_decaying_pages(days, limit)- same wrapper, ascending sort. Pages to rescue.gsc_coverage_audit(urls, site_url?)- heuristic coverage audit. The GSC Index Coverage report is not exposed in the API; this tool takes a user- supplied URL list (typically pulled from a sitemap) and bulk-inspects each, then rolls up verdicts (PASS / PARTIAL / FAIL) and coverage_state frequencies.
Content intelligence (4)
content_opportunities(site_url?, days?, count?, impressions_min?)- ranks data-grounded content topics from your own Search Console data: fuses CTR-vs-expected gap (curve self-calibrated from your own per-position CTR), striking-distance position, demand, and momentum into a transparent opportunity score; flags cannibalization. If a GA4 property is configured, it also weights each topic by the organic conversions its top page already drives (up to +50%), so topics that convert rank higher;filters_applied.ga4_value_statusreports whether that ran and why (applied/no_ga4_property/ga4_unreachable/no_conversions). Prioritizes demand you already have; does not
只显示了开头部分;其余内容请在仓库中阅读