MCP Servers

模型上下文协议服务器、框架、SDK 和模板的综合目录。

Open-source MCP server unifying SEO + GEO across Google Search Console, IndexNow (Bing/Yandex/Naver/Seznam), and LLMs (Perplexity + more). MIT licensed, runs locally over stdio.

创建于 4/25/2026
更新于 about 7 hours ago
Repository documentation and setup instructions

geoseo-mcp

The only open-source MCP server that covers traditional SEO and Generative Engine Optimization (GEO) across Google, Bing, Yandex, and the major LLMs — in one server.

PyPI CI License: MIT Python 3.11+ MCP

Why this exists

Every other SEO MCP picks one lane:

  • mcp-gsc — Google Search Console only.
  • brightdata-mcp — web access with a GEO bolt-on, vendor-coupled.
  • geo-optimizer-skill — GEO scoring only, no traditional SEO.
  • Frase / Conductor / Cairrot — closed SaaS.

geoseo-mcp unifies them. One MCP, one config, every search surface that matters in 2026:

| Surface | Tools | | --- | --- | | Google Search | GSC performance, URL inspection, sitemaps, Indexing API | | Bing Webmaster | Verified-site stats, query/page stats, URL inspect, fast submit, crawl issues | | Bing / Yandex / Naver / Seznam | IndexNow submission | | Google AI Overviews | aio_check + aio_citation_check via SerpAPI | | LLM citations | Perplexity, ChatGPT (web search), Claude (web search), Gemini (Google Search grounding), plus a multi_llm_* super-tool that fans out across all four in parallel | | On-page | Title / meta / heading / schema / internal-link audit + 0-100 score | | Internal link graph | Orphans, dead-ends, hubs, dangling links, TF-IDF related-page suggestions with anchor hints | | llms.txt | Generate from a folder of HTML, validate against the spec | | Trend tracking | Local SQLite snapshots of GSC + LLM citations + AIO; time-series trend tools |

MIT licensed. Runs locally over stdio. No hosting, no API key gating, your credentials never leave your machine.

Status

v0.3 — alpha. 36 tools across GSC, Bing Webmaster, IndexNow, ChatGPT, Claude, Gemini, Perplexity, Google AI Overviews, on-page + folder audits, llms.txt, internal link graph + suggestions, and local SQLite trend tracking. See ROADMAP.

Install

# Using uv (recommended)
uvx geoseo-mcp

# Or pip
pip install geoseo-mcp

Or from source:

git clone https://github.com/Rachit8484/geoseo-mcp.git
cd geoseo-mcp
pip install -e ".[dev]"

Try it without any credentials

Several tools work with zero configuration — useful to kick the tires before you wire up any API keys.

# audit a single page
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"audit_page","arguments":{"source":"https://example.com"}}}' \
  | uvx geoseo-mcp

# audit a whole folder of HTML
... "audit_site","arguments":{"folder":"./content"}
# build the internal link graph
... "internal_link_graph","arguments":{"folder":"./content","site_host":"yourdomain.com"}
# generate llms.txt
... "generate_llms_txt","arguments":{"folder":"./content","site_url":"https://yourdomain.com"}

In an MCP client (Cursor / Claude Desktop / Continue / Cline), it's even simpler — just ask:

"Audit my ./content folder and tell me the 5 worst-scoring pages" "Build the internal link graph and find orphan pages" "Generate an llms.txt for yourdomain.com from ./content"

Configure your MCP client

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "geoseo": {
      "command": "uvx",
      "args": ["geoseo-mcp"],
      "env": {
        "GEOSEO_GOOGLE_CLIENT_SECRET": "/absolute/path/to/client_secret.json",
        "GEOSEO_BING_WEBMASTER_API_KEY": "your-bing-key",
        "GEOSEO_INDEXNOW_KEY": "your-indexnow-key",
        "GEOSEO_PERPLEXITY_API_KEY": "pplx-...",
        "GEOSEO_OPENAI_API_KEY": "sk-...",
        "GEOSEO_ANTHROPIC_API_KEY": "sk-ant-...",
        "GEOSEO_GEMINI_API_KEY": "AIza...",
        "GEOSEO_SERPAPI_API_KEY": "..."
      }
    }
  }
}

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the Windows equivalent:

{
  "mcpServers": {
    "geoseo": {
      "command": "uvx",
      "args": ["geoseo-mcp"],
      "env": {
        "GEOSEO_GOOGLE_CLIENT_SECRET": "/absolute/path/to/client_secret.json",
        "GEOSEO_BING_WEBMASTER_API_KEY": "your-bing-key",
        "GEOSEO_INDEXNOW_KEY": "your-indexnow-key",
        "GEOSEO_PERPLEXITY_API_KEY": "pplx-...",
        "GEOSEO_OPENAI_API_KEY": "sk-...",
        "GEOSEO_ANTHROPIC_API_KEY": "sk-ant-...",
        "GEOSEO_GEMINI_API_KEY": "AIza...",
        "GEOSEO_SERPAPI_API_KEY": "..."
      }
    }
  }
}

See examples/ for ready-to-paste configs.

Get credentials

  • Google Search Console — see docs/setup-gsc.md. One-time OAuth flow.
  • IndexNow — generate any random 32-char hex string and host it at https://yourdomain.com/<key>.txt. Spec.
  • PerplexityAPI key from settings. Pay-as-you-go, ~$1 per 1000 queries.
  • OpenAIAPI key. Uses the Responses API + web_search_preview tool.
  • AnthropicAPI key. Uses Claude with the web_search_20250305 server-side tool.
  • GeminiAPI key from AI Studio. Uses Google Search grounding (the same signal Google's AI Overviews are built on).
  • Bing WebmasterAPI key from Bing Webmaster Tools → Settings → API access.
  • SerpAPIAPI key. Free tier: 100 searches/month. Used for Google AI Overviews tracking (aio_check, aio_citation_check).

All credentials are optional — tools that need a key you don't have will return a clear error, the rest still work.

Tools (v0.3 — 36 total)

Status / discovery

  • geoseo_status — show which engines are configured.
  • list_llm_engines — show which LLM engines have keys.

Google Search Console

  • gsc_list_sites, gsc_performance, gsc_inspect_url, gsc_submit_sitemap

Bing Webmaster Tools (new in v0.3)

  • bing_list_sites, bing_query_stats, bing_page_stats, bing_url_info, bing_submit_url, bing_crawl_issues

Indexing

  • indexnow_submit_url — single URL → Bing/Yandex/Naver/Seznam/Yep.
  • indexnow_submit_urls — batch up to 10,000 URLs.

LLM citations (the GEO/AEO core)

  • perplexity_query / perplexity_citation_check
  • openai_query — ChatGPT with web search.
  • claude_query — Claude with server-side web search.
  • gemini_query — Gemini with Google Search grounding.
  • multi_llm_query — fan out one question to every configured LLM in parallel.
  • multi_llm_citation_check — citation-share metrics for your domain across ChatGPT + Claude + Gemini + Perplexity in one call. This is the headline tool.

Google AI Overviews (new in v0.3)

  • aio_check — does AIO fire for this query? Which URLs does it cite?
  • aio_citation_check — AIO fire-rate + citation-share for your domain across a batch of queries.

On-page audit

  • audit_page — local file or URL: title, meta, H1-H3, word count, schema, OG, freshness, GEO quotability, 0-100 score, list of findings.
  • audit_site — recursive audit over a folder, with worst-pages report.

Internal link graph (new in v0.3)

  • internal_link_graph — orphans, dead-ends, hub pages, dangling hrefs.
  • suggest_internal_links — TF-IDF related-page suggestions per file with anchor-text hints.

llms.txt

  • generate_llms_txt — produce a spec-compliant llms.txt from a folder of HTML pages, grouped by URL prefix.
  • validate_llms_txt — validate an existing file/URL with line-numbered issue list.

Trend tracking (new in v0.3 — local SQLite)

  • trend_init, trend_stats
  • snapshot_gsc — persist a GSC performance pull as a timestamped snapshot.
  • snapshot_llm_citations — persist multi_llm_citation_check results.
  • snapshot_serp_aio — persist AIO citation results.
  • trend_gsc — clicks/impressions/position over time (filterable by query/page).
  • trend_llm_citations — citation share over time (per engine).

Snapshots are append-only and stored at $GEOSEO_DB (default: platform user-data dir / geoseo.sqlite). Schedule the snapshot_* tools weekly to build a private time-series of your AI-search visibility — no SaaS.

Roadmap

  • v0.4 — Yandex Webmaster API, Grok citations, schema linter, broken-link prospector, vertical packs (YMYL / health / e-commerce).
  • v1.0 — Stable API, full test coverage, optional remote (HTTP) transport.

See docs/architecture.md for the engine plug-in interface — adding a new search engine or LLM is one file.

Contributing

PRs welcome. Each engine lives in src/geoseo_mcp/engines/<name>.py and implements the Engine ABC. Add yours, register it in engines/__init__.py, expose tools in tools/, ship.

License

MIT. See LICENSE.

快速设置
此服务器的安装指南

安装包 (如果需要)

uvx geoseo-mcp

Cursor 配置 (mcp.json)

{ "mcpServers": { "rachit8484-geoseo-mcp": { "command": "uvx", "args": [ "geoseo-mcp" ] } } }