Skip to main content
Glama
OrellBuehler

search-console-mcp

by OrellBuehler

search-console-mcp

npm CI node license: MIT

Google Search Console 用の MCP サーバーで、公式の Search Console API を AI エージェント向けのツールとして公開します。

焦点は 検索パフォーマンスとインデックスの健全性 です — クエリ、ページ、国、デバイス、日付ごとのクリック数、インプレッション数、CTR、掲載位置を照会し、URL がインデックスされているかどうか、されていない場合の理由を確認し、アカウントのサイトマップとプロパティを管理します。

意図的に行わないこと: URL の(再)インデックス要求は行いません — 別の Indexing API は求人投稿ページとライブ配信ページのみをサポートしているため —、プロパティの所有権確認も行いません(所有権を確認するには、所有者がサービスアカウントを各プロパティに追加する必要があります)、Google Analytics のデータも扱いません(これは無関係な Analytics Data API の対象です)。

削除はオプトインです。 delete_sitemapdelete_site は、GOOGLE_SEARCH_CONSOLE_ALLOW_DESTRUCTIVE が設定されている場合にのみ登録されます。構成 を参照してください。

インストール

claude mcp add search-console \
  -e GOOGLE_SERVICE_ACCOUNT_KEY_PATH=/path/to/service-account.json \
  -e GOOGLE_SEARCH_CONSOLE_SITE_URL=https://example.com/ \
  -- npx -y @orellbuehler/search-console-mcp

-e フラグは -- セパレータのに置く必要があります。-- 以降のものはすべてサーバープロセスに渡され、設定としては読み込まれません。

サービスアカウントキーの取得

  1. Google Cloud コンソール でプロジェクトを選択または作成し、Google Search Console API を有効にします。

  2. IAM と管理 → サービスアカウント → サービスアカウントを作成 に進みます。省略可能な「アクセス権限を付与」の手順はスキップしてかまいません — Search Console の権限は Cloud IAM ロール経由ではなく、個別に付与されます。

  3. 新しいサービスアカウントを開き、[キー] タブで [鍵を追加 → 新しい鍵を作成 → JSON] を選択します。ファイルは一度だけダウンロードされ、再度取得することはできません。

  4. Search Console でプロパティを開き、[設定 → ユーザーと権限 → ユーザーを追加] に移動し、サービスアカウントのメールアドレス(name@project-id.iam.gserviceaccount.com)を貼り付けます。付与する権限:

    • 読み取りツール(アナリティクス、サイトマップ、URL 検査)には制限付きまたはフル

    • submit_sitemapdelete_sitemap にはフル

  5. サーバーに表示させたいすべてののプロパティで手順 4 を繰り返します。サービスアカウントが自らプロパティを検証することはできません。

  6. ダウンロードした JSON ファイルを GOOGLE_SERVICE_ACCOUNT_KEY_PATH に指定します。

JSON キーはパスワードと同じように扱ってください。付与したすべての権限をそのまま持ち、事前の第二要素もありません。リポジトリの外に保管し、chmod 600 を検討してください。

構成

変数

必須

説明

GOOGLE_SERVICE_ACCOUNT_KEY_PATH

いずれか

ダウンロードしたサービスアカウントの JSON キーへのパス

GOOGLE_SERVICE_ACCOUNT_KEY

いずれか

サービスアカウントの JSON キーを生の JSON 文字列として直接指定

GOOGLE_SEARCH_CONSOLE_SITE_URL

不要

デフォルトのプロパティ。ツールで site_url を省略できる

GOOGLE_SEARCH_CONSOLE_ALLOW_DESTRUCTIVE

不要

1trueyes のいずれかを設定すると、delete_sitemapdelete_site が登録される

プロパティは、https://example.com/ のような URL プレフィックスプロパティ(プロトコルと末尾のスラッシュが区別されます — https://example.com/http://example.com/ は別のプロパティです)または、sc-domain:example.com のような ドメインプロパティ(すべてのサブドメインとプロトコルをカバーします)のいずれかとして識別されます。プロパティが Search Console に追加されたときの形式を使ってください。正確な文字列は list_sites で確認できます。

Claude Code での使い方

{
  "mcpServers": {
    "search-console": {
      "command": "npx",
      "args": ["-y", "@orellbuehler/search-console-mcp"],
      "env": {
        "GOOGLE_SERVICE_ACCOUNT_KEY_PATH": "/path/to/service-account.json",
        "GOOGLE_SEARCH_CONSOLE_SITE_URL": "https://example.com/"
      }
    }
  }
}

プロンプト例

  • 今月の上位検索クエリはどのようなものですか?

  • Google から最も多くのクリックを得ているページはどこですか? また、前の28日間と比べてどう変化しましたか?

  • 「pricing」を含むクエリのうち、順位が 10 位未満のものを表示して — クイックウィン候補です。

  • モバイルとデスクトップのトラフィックの内訳はどうなっていますか?

  • 過去3か月の日ごとのクリック数とインプレッション数をグラフにして。

  • インプレッションはあるのにクリックがほとんどない国はどこか?

  • https://example.com/blog/launch はインデックスされていますか? されていない場合、その理由は?

  • サイードマップを一覧にして、エラーや警告があるものがあれば教えて。

  • 昨日のサイト再構築後、サイトマップを再送信して。

  • 「mcp server」でランキングされるページのうち、互いに競合しているページはどれか?

  • 今四半期の Discover のトラフィクと、ウェブ検索のトラフィックを比較して。

ツール

検索アナリティクス

ツール

説明

query_search_analytics

フルパワーのパフォーマンスクエリ: 任意のディメンション、フィルタ、正規表現、検索タイプ、最大 25,000 行のページングに対応

top_queries

クリック数が上位の検索クエリ。ページ、国、デバイスで絞り込み可能

top_pages

クリック数が上位のペざ。クエリの部分文字列、国、デバイスで絞り込み可能

サイトマップ

ツール

説明

list_sitemaps

送信済みサイトマップを、ステータス、エラー、警告、インデックス済み URL 数ととも一覧表示

get_sitemap

1 つのサイトマップの処理ステータスと内容を取得

submit_sitemap

新しいサイトマップを送信、または既存のサイトマップを再送信して再処理を依頼

delete_sitemap

Search Console からサイトマップを削除(..._ALLOW_DESTRUCTIVE でオプトイン)

サイト

ツール

説明

list_sites

サービスアカウントがアクセスできるすべてのプロパティを権限レベル付きで一覧表示

get_site

1 つのプロパティの権限レベルを取得

add_site

検証済みプロパティをアカウントに追加

delete_site

アカウントの閲覧リストからプロパティを削除(..._ALLOW_DESTRUCTIVE でオプトイン)

URL 検査

ツール

説明

inspect_url

URL の Google インデックスの状況: 判定、カバレッジ、カノニカル、最終クロール、リッチ結果、robots を確認

メモと注意点

  • パフォーマンスデータは約 2〜3 日遅れます。 便利ツールはデフォルトで 3 日前までの日付範囲を対象とします。data_state: "all" は最新のデータを含みますが、不完全な可能性があります。

  • データ保持期間は 16 か月です。 それより古いクエリは行を返しません。

  • プライバシーフィルタ。 まれなクエリの行は非表示になるため、クエリごとの行の合計は実際の合計よりも小さくなります。正確な合計が必要な場合は、ディメンションなしでクエリしてください。

  • 1 回の呼び出しで約 25,000 行。 start_row でページングしてください。row_limit 未満の行数を返す応答が最後のページです。

  • URL 検査の割り当ては、プロパティごとに 1 日あたり約 2,000 回、1 分あたり 600 回です。 一括ではなく、選択して検査してください。

  • hour ディメンションdata_state: "hourly_all" が必要で、直近の約 10日間のみを対象とします。

  • 検索データは LLM に渡されます。 ツールが返すものはすべてモデルのコンテキストになります。データが環境の外へ出てはならないプロパティは接続しないでください。

開発

npm install
npm run build         # tsc -p tsconfig.build.json -> dist/
npm test              # vitest run
npm run lint          # eslint src
npm run typecheck     # tsc --noEmit
npm run format        # prettier --write .

ビルドしたサーバーを実際のプロパティに対してスモークテスト:

GOOGLE_SERVICE_ACCOUNT_KEY_PATH=/path/to/service-account.json \
GOOGLE_SEARCH_CONSOLE_SITE_URL=https://example.com/ \
npx @modelcontextprotocol/inspector node dist/index.js

CI / リリース

CI は Node 20 と Node 22 で format:checklinttypechecktestbuild を実行します。公開は npm のトラステッド パブリッシング(OIDC、トークンなし)による GitHub release で行われます:

npm version patch
git push --follow-tags
gh release create "v$(node -p "require('./package.json').version")" --generate-notes

ライセンス

MIT © Orell Bühler

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.

  • Turn Search Console data into SEO actions, content, publishing, indexing, and AI insights.

  • Open-source SEO manager for coding agents: keyword research, content PRs, rank + Search Console.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/OrellBuehler/search-console-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server