mcpField
G
geoseo-mcp

geoseo-mcp

ローカル
github.com/Rachit8484ビジネス・マーケティング36 日前に更新

geoseo-mcp について

geoseo-mcpは、サイト運営者やSEOチーム向けのオープンソースMCPサーバーで、SEO監査と生成AI検索での可視性を調べます。検索・インデックスデータ、ページやリンクの分析、複数のLLMサービスでの引用確認をまとめ、SQLiteに傾向スナップショットを保存します。

主な機能

  1. 01ページ、サイト、Schemaの監査
  2. 02検索エンジンとインデックス情報の確認
  3. 03複数LLMサービスでの引用追跡
  4. 04内部リンク分析とリンク候補の提示
  5. 05llms.txtの生成と検証
  6. 06可視性スナップショットと傾向の保存

活用シーン

  1. 01サイト全体のページSEO問題の特定
  2. 02ブランドのLLM引用率の比較
  3. 03孤立ページやリンク切れの発見
  4. 04検索とAIでの可視性の経時追跡

MCP 対応

SEO、インデックス、LLM引用、AI Overviews、リンクグラフ、llms.txt、傾向分析のツールをMCPクライアントに提供します。stdioとstreamable HTTPに対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"rachit8484-geoseo": {
"command": "uvx",
"args": [
"geoseo-mcp"
],
"env": {
"GEOSEO_OPENAI_API_KEY": "<GEOSEO_OPENAI_API_KEY>",
"GEOSEO_ANTHROPIC_API_KEY": "<GEOSEO_ANTHROPIC_API_KEY>",
"GEOSEO_GEMINI_API_KEY": "<GEOSEO_GEMINI_API_KEY>",
"GEOSEO_PERPLEXITY_API_KEY": "<GEOSEO_PERPLEXITY_API_KEY>",
"GEOSEO_XAI_API_KEY": "<GEOSEO_XAI_API_KEY>",
"GEOSEO_BRAVE_API_KEY": "<GEOSEO_BRAVE_API_KEY>",
"GEOSEO_SERPAPI_API_KEY": "<GEOSEO_SERPAPI_API_KEY>",
"GEOSEO_BING_WEBMASTER_API_KEY": "<GEOSEO_BING_WEBMASTER_API_KEY>",
"GEOSEO_YANDEX_OAUTH_TOKEN": "<GEOSEO_YANDEX_OAUTH_TOKEN>",
"GEOSEO_INDEXNOW_KEY": "<GEOSEO_INDEXNOW_KEY>",
"GEOSEO_GOOGLE_CLIENT_SECRET": "<GEOSEO_GOOGLE_CLIENT_SECRET>",
"GEOSEO_TOOLSETS": "<GEOSEO_TOOLSETS>"
}
}
}
}
起動コマンドuvx geoseo-mcp
設定が必要な環境変数
GEOSEO_OPENAI_API_KEYシークレットOpenAI API key for ChatGPT citation checks
GEOSEO_ANTHROPIC_API_KEYシークレットAnthropic API key for Claude citation checks
GEOSEO_GEMINI_API_KEYシークレットGemini API key for Google Search grounded checks
GEOSEO_PERPLEXITY_API_KEYシークレットPerplexity API key
GEOSEO_XAI_API_KEYシークレットxAI API key for Grok citation checks
GEOSEO_BRAVE_API_KEYシークレットBrave Search API key (Answers plan) for Brave citation checks
GEOSEO_SERPAPI_API_KEYシークレットSerpAPI key for Google AI Overviews tracking
GEOSEO_BING_WEBMASTER_API_KEYシークレットBing Webmaster Tools API key
GEOSEO_YANDEX_OAUTH_TOKENシークレットYandex Webmaster OAuth token
GEOSEO_INDEXNOW_KEYシークレットIndexNow key hosted at https://yourdomain.com/<key>.txt
GEOSEO_GOOGLE_CLIENT_SECRETシークレットPath to a Google OAuth client_secret.json for Search Console
GEOSEO_TOOLSETSComma-separated toolsets to expose (default: all)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypigeoseo-mcp0.4.0

ツール

47

掲載時のツール一覧 · 5 日前に更新

このツールにパラメーターはありません。

詳細

geoseo-mcp

従来のSEO と 生成エンジン最適化(GEO)に対応したオープンソースのMCPサーバーです。Google Search Console、Bing、IndexNow、Google AI Overviewsに加え、ChatGPT、Claude、Gemini、Perplexity、Grok、Brave全体での引用を追跡します。これらすべてを1つのサーバーで利用できます。

PyPI CI License: MIT Python 3.11+ MCP

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を実行すると、MCP クライアントが必要とするstdio経由でMCPサーバーが起動します。

MCP クライアントに追加する

Cursor

Install MCP Server

または、手動で~/.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 SearchGSCのパフォーマンス、URL検査、サイトマップ
Bing Webmasterサイト統計、クエリ/ページ統計、URL情報、URL送信、クロールの問題
Yandex Webmasterサイト品質インデックス、人気のクエリ、重要ページのステータス、再クロールキュー、診断 + 内部リンク切れ
Bing / Yandex / Naver / SeznamIndexNow送信
Google AI OverviewsSerpAPI経由のaio_check + aio_citation_check
LLMの引用ChatGPT(ウェブ検索)、Claude(ウェブ検索)、Gemini(Google Searchグラウンディング)、Perplexity(Agent API)、Grok(xAIウェブ検索)、Brave(Answers API)、さらにすべてに一括実行するmulti_llm_*ツール
ページ内タイトル/メタ/見出し/スキーマ/内部リンクの監査、0~100のスコア、オプションのJSレンダリング
内部リンクグラフ孤立ページ、行き止まり、ハブ、リンク切れ、アンカーヒント付きの関連ページ候補(デフォルトではTF-IDF、またはOpenAI/Gemini/ローカル埋め込みを使用)
llms.txtHTMLフォルダーから生成し、仕様に照らして検証
トレンド追跡GSC、LLMの引用、AIOのローカルSQLiteスナップショットとトレンドツール

MITライセンスで、ローカルファーストです。認証情報とデータはお使いのマシンから外に出ません。

引用チェックの仕組み

multi_llm_citation_check(questions, target_domain) は、LLM の回答が実行ごとに異なるため、設定済みの各エンジンに各質問を複数回(samples、デフォルトは 3)尋ねます。各エンジンについて、次の情報が得られます。

  • 95% Wilson 信頼区間付きの citation_rate に加え、質問ごとの 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 ツール検索 1,000 回あたり $10 + トークン料金
Gemini (料金)gemini-3.5-flash-lite + Google 検索グラウンディング月 5,000 件までグラウンディング済みリクエストが無料。その後は 1,000 件あたり $14 + トークン料金
Perplexity (料金)Agent API、fast プリセット検索 1,000 回あたり約 $2.50 + トークン料金
Grok (料金)Responses API、grok-4.3 + web_searchトークンごと + 検索呼び出しごとの料金
Brave (料金)Answers API、引用付きストリーミング検索 1,000 回あたり約 $4 + 100 万トークンあたり $5
Google AI Overviews (料金)SerpAPI月 250 件まで検索が無料。その後はプラン料金

4 つのエンジンで 10 件の質問をそれぞれ 3 回サンプルするチェックでは、合計 120 回の呼び出しが発生します。通常は $2 未満です。簡単なスポットチェックには samples=1 を使ってください。

認証情報を取得する

  • OpenAI:API キー。web_search ツールを使用する Responses API を利用します。モデルを変更するには、GEOSEO_OPENAI_MODEL を設定します。
  • Anthropic:API キー。サーバー側のウェブ検索ツールを使用する Claude を利用します。
  • Gemini:AI Studio の API キー。Google 検索のグラウンディング(AI Overviews と同じインデックスを使用)を利用します。
  • Perplexity:API キー。fast プリセットで Agent API を使用します。変更するには、GEOSEO_PERPLEXITY_EFFORT または GEOSEO_PERPLEXITY_MODEL を設定します。
  • xAI Grok:xAI コンソールの API キーを GEOSEO_XAI_API_KEY として設定します。web_search ツールを使用する Responses API を利用します。モデル(デフォルトは grok-4.3)を変更するには、GEOSEO_GROK_MODEL を設定します。
  • Brave Answers:Answers プランのAPI キーを GEOSEO_BRAVE_API_KEY として設定します。回答は Brave 独自のインデックスから取得されます。
  • SerpAPI:API キー。無料プランでは月 250 回検索できます。AI Overviews の追跡に使用します。
  • Google Search Console:docs/setup-gsc.md を参照してください。OAuth フローは初回のみ必要です。
  • Bing Webmaster:Bing Webmaster Tools の「Settings」→「API access」から API キーを取得します。
  • 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 文字の 16 進数文字列を https://yourdomain.com/<key>.txt でホストします。仕様。

必要なキーが設定されていないツールは明確なエラーを返します。それ以外の機能は引き続き動作します。

設定

環境変数デフォルト機能
GEOSEO_TOOLSETSall公開するツールセットをカンマ区切りで指定します:gsc,bing,yandex,indexing,llm,aio,audit,graph,trend。ツールを減らすと、エージェントに渡すコンテキストも少なくなります。
GEOSEO_CITATION_SAMPLES3multi_llm_citation_check の質問ごとのデフォルトサンプル数(最大 10)。
GEOSEO_MAX_CONCURRENCY8LLM リクエストの最大並列数。
GEOSEO_OPENAI_MODELgpt-5-miniChatGPT チェックに使用するモデル。
GEOSEO_ANTHROPIC_MODELclaude-sonnet-5-5Claude チェックに使用するモデル。
GEOSEO_GEMINI_MODELgemini-3.5-flash-liteGemini チェックに使用するモデル。
GEOSEO_GROK_MODELgrok-4.3Grok チェックに使用するモデル。
GEOSEO_PERPLEXITY_EFFORT / GEOSEO_PERPLEXITY_MODELfast / unsetPerplexity Agent API のプリセット、または固定するモデル。
GEOSEO_TRANSPORTstdiostdio または http(ストリーミング可能な HTTP)。
GEOSEO_HOST / GEOSEO_PORT127.0.0.1 / 8000HTTP のバインドアドレス。
GEOSEO_DBuser data dirトレンドのスナップショット用 SQLite ファイル。

例:キー不要の監査ツールのみを使用して、エージェントのコンテキストを軽量にする場合:

"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 を読み取ります。ページが JS の殻のように見える場合(空の SPA ルート、またはテキストがほとんどない場合)、js_rendering の検出結果を追加します。レンダリング済み DOM を監査するには、追加パッケージをインストールし、render=True(CLI では --render)を渡してください。

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
  • LLM の引用: 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 ツールでは、site に通常の URL を渡してください。メインミラーに従って、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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。