Search Console Mcp について
Search Console Mcpは、Google Search Consoleのデータを分析する人向けの読み取り専用MCPサーバーです。Google Cloudプロジェクトを作成せずにローカルでGoogleにサインインでき、組み込みのSEOプロンプトが検索実績やインデックス情報を優先度付きで分析します。
主な機能
- 01クエリ、ページ、セグメント別の検索実績
- 02期間間の変化を計算した比較
- 03URLの単体・一括インデックス確認
- 04サイトマップの状態確認
- 0510種類の組み込みSEO分析プロンプト
活用シーン
- 01クリック数が減ったページやクエリの特定
- 02検索結果1ページ目に近いクエリの優先付け
- 03URLのインデックス状態とクロール情報の確認
- 04Google Discoverのトラフィック確認
MCP 対応
ローカルでstdio接続し、互換クライアントに6種類の読み取り専用Google Search Consoleツールと10種類のMCPプロンプトを提供します。Google OAuthトークンはローカルマシンに保存されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
search-console-mcp
Search Console はダッシュボード向けに作られています。こちらなら会話形式で利用できます。
Claude、Cursor、または任意の MCP クライアントから Google Search Console に話しかけましょう。
サインインは1回だけ。30秒で完了します。Google Cloud プロジェクトは不要です。API キーも不要です。トークンがマシンの外に出ることはありません。
Google Search Console
│
▼
search-console-mcp ← runs on your machine, read-only
│
▼
Claude / Cursor / any MCP client
│
▼
"Why did my traffic drop?"
ほかの Search Console MCP サーバーでは、Google Cloud プロジェクトの作成や API の有効化、サービスアカウントの JSON の扱いが必要です。このサーバーでは不要です。
npx search-console-mcp-server login
ブラウザーが開いたら、Google でサインインするだけです。これで完了です。トークンは Google から直接マシンに発行され、~/.search-console-mcp/ にのみ保存されます。誰かのサーバーを経由することはありません。
| このサーバー | 一般的な GSC MCP の設定 | |
|---|---|---|
| セットアップ | npx … login を実行してサインインするだけ(約30秒) | Google Cloud プロジェクトを作成し、API を有効化して、OAuth 認証情報を作成、JSON をダウンロードし、そのファイルを指すように設定 |
| 実行環境 | Node — npx を使うため、インストール不要 | Python + uv/venv |
| サイトデータを変更できるか | 不可能 — 読み取り専用スコープとして構成されています | 破壊的な操作を「デフォルトで無効」にした書き込みスコープ |
| 分析 | 組み込みの分析が10種類(診断、トラフィック減少、トラフィックの衰退、上位表示目前のクエリ、キーワードの機会、キーワードの競合、タイトル/CTR の書き換え、更新か新規作成か、内部リンク、インデックス登録の監査) | プロンプトは自分で用意 |
初回実行時の流れ
$ npx search-console-mcp-server login
Opening your browser to sign in with Google…
Connected. Your Search Console is ready — tokens stored in
~/.search-console-mcp (this machine only).
Google から有効な認証情報が返され、ローカルに保存された後にのみ、ブラウザーでセットアップページが開きます。トークンの交換や保存に失敗した場合は、成功ページではなくエラーが表示されます。クローンも Google Cloud コンソールも必要ありません。
どのように使えるか
You: Which of my pages are closest to page one?
Claude: Three real opportunities, by impressions at stake:
1. /pricing — "scoreboard app pricing" sits at position 11.2 with
2,400 impressions/mo and almost no clicks. One position-group
jump is worth ~90 clicks/mo. The title doesn't contain the
query; start there.
2. /templates/trivia — position 12.8 on "trivia scoreboard",
1,100 impressions/mo. The page ranks but has no H2 matching
the intent.
3. /blog/keep-score-online — position 9.4, already page one on
some days. It's cannibalizing with /features — run
cannibalization_check before touching it.
(出力例 — 形式と数値は、ツールが実際のデータから返すものです。)
組み込み SEO 分析
すぐに使える10種類の分析が MCP プロンプトとして用意されています。対応クライアントではスラッシュコマンドとして利用できます。それぞれ実際の SEO 手法(しきい値、原因の分類、CTR のベンチマーク)を適用し、データを羅列するのではなく、優先順位付きのアクションを提示します。
| プロンプト | 得られる内容 |
|---|---|
seo_checkup | 先月とのトレンド、最も大きく変動した項目、すぐできる改善策に加え、効果 ÷ 工数で評価した上位3つの施策 |
traffic_drop | 減少の開始時期、影響を受けた対象、そして順位、CTR、インデックス登録、需要、季節性のどれが原因かという判定 |
traffic_decay | 月ごとにクリック数がひそかに減っているページを、急落する前に検出して優先順位付け |
striking_distance | 推定クリック増加数で順位付けした掲載順位4~20位のクエリと、各ページに対する1つの改善策 |
keyword_opportunities | CTR の改善、1ページ目への押し上げ、2ページ目からの上昇、需要の高まりなど、成長の機会を一度に提示 |
cannibalization_check | 自分のページ同士が競合しているクエリ、勝っているページ、各ケースの改善策1つ、回復の見込み |
title_ctr_rewrite | 掲載順位に対して実績が振るわないページと、実際のクエリに基づいて書き換えたタイトルおよびメタ情報 |
refresh_vs_new | 任意のトピックについて、既存のサイト実績をもとに、更新、統合、削除、新規作成のいずれかを判定 |
internal_links | Google がすでに把握しているクエリの重複に基づく、リンク元 → リンク先 → アンカーテキストのリンク計画 |
indexing_audit | サイトマップと重要ページのインデックス状況を確認し、トラフィックへのリスクに応じて優先順位付け |
セットアップ
1. サインインします(初回のみ)。
npx search-console-mcp-server login
2. MCP クライアントに追加します。
Claude Code:
claude mcp add gsc -- npx -y search-console-mcp-server
Claude Desktop/Cursor/その他(mcpServers 設定):
{
"mcpServers": {
"gsc": { "command": "npx", "args": ["-y", "search-console-mcp-server"] }
}
}
3. 質問します。
- 「今月、先月と比べてクリック数が最も減ったページはどれですか?」
- 「実際に表示されているクエリのうち、掲載順位が8~15位のものを表示してください。1ページ目に最も近いのはどれですか?」
- 「https://mysite.com/pricing はインデックスに登録されていますか?登録されていない場合、その理由は何ですか?」
- 「Google Discover からのトラフィックはどのくらいありますか?」
ツール
| ツール | 機能 |
|---|---|
list_properties | お使いの GSC プロパティ(最初に呼び出してください。正確な siteUrl の値を取得できます) |
query_search_analytics | クエリ、ページ、日付、国、デバイス別のクリック数/表示回数/CTR/掲載順位。フィルター、ページネーション、Google Discover を含むすべてのトラフィックソースに対応 |
compare_periods | 変動の大きい項目を自動計算します。この期間とその前の期間を比較し、ページ別またはクエリ別の差分を変化量順に表示します |
inspect_url | URL の Google インデックス登録状況(登録の有無、理由、選択された正規 URL、最終クロール) |
inspect_urls | 同じ情報をまとめて取得します。インデックス監査では、1回の呼び出しで最大10件の URL を処理できます |
list_sitemaps | 送信済みサイトマップとそのステータス |
設計上、読み取り専用です。このツールが要求する Google のスコープ(webmasters.readonly)では、プロパティの変更、サイトマップの送信、その他の変更はできません。「デフォルトで無効」なのではなく、実行不可能です。
compare_periods の呼び出しでモデルに渡される内容(モデルが日付計算を行うことはありません):
{ "key": "https://example.com/pricing",
"current": { "clicks": 1040, "impressions": 20502, "position": 6.4 },
"previous": { "clicks": 1070, "impressions": 17176, "position": 5.8 },
"deltaClicks": -30, "deltaImpressions": 3326, "deltaPosition": 0.6 }
プライバシー
- Google のスコープは読み取り専用です(
webmasters.readonly)。 - トークンはお使いのマシンの
~/.search-console-mcp/credentials.jsonに保存され、権限はchmod 600です。npx search-console-mcp-server logoutを実行すると削除されます。 - MCP の利用状況を追跡するテレメトリーやプロキシはありません。Search Console API の呼び出しは、お使いのマシンから Google に直接送信されます。ログインに成功すると、URL に MCP のソースとパッケージのバージョンのみを含む Percy のセットアップページがブラウザーで開きます。認証情報、認可コード、プロパティデータは含まれません。
- 独自の Google Cloud プロジェクトを使う場合は、
SEARCH_CONSOLE_MCP_CLIENT_ID/SEARCH_CONSOLE_MCP_CLIENT_SECRETを設定すると、その認証情報が使用されます。
FAQ/トラブルシューティング
Google の認証情報を作成していないのに、ログインできるのはなぜですか?
CLI には Google の「デスクトップアプリ」OAuth クライアントが含まれています。これは gcloud や GitHub の CLI が使用する、Google がサポートしているものと同じ方式です。トークンは引き続き Google からお使いのマシンに直接発行されます(PKCE + localhost コールバック)。当社のサーバーを経由することはありません。認証の仕組みは src/auth.ts にあります。ご自身で確認してください。共有されるものを一切なくしたい場合は、ご自身の認証情報を使って SEARCH_CONSOLE_MCP_CLIENT_ID/SEARCH_CONSOLE_MCP_CLIENT_SECRET を設定してください。
Google アカウントを切り替えるには?
npx search-console-mcp-server login を再度実行してください。Google のアカウント選択画面が表示されます。
MCP クライアントで「Not signed in」というエラーが表示されます。
クライアントを実行するのと同じユーザーアカウントでログインしてください。認証情報は ~/.search-console-mcp/ に保存されます。
list_properties にプロパティが表示されません。
サインイン中の Google アカウントには、Search Console でそのプロパティへの「制限付き」以上のアクセス権が必要です。
データに昨日の分がないのはなぜですか? Google Search Console のデータには約2~3日の遅れがあります。これは Google 側の仕様であり、ツールの問題ではありません。履歴は約16か月分さかのぼって確認できます。
アクセスを取り消すには?
npx search-console-mcp-server logout でローカルトークンを削除できます。付与した権限自体を取り消すには、myaccount.google.com/permissions にアクセスしてください。
開発
git clone https://github.com/sudomichael/search-console-mcp
cd search-console-mcp && npm install
npm run dev # run from source
npm run build # bundle to dist/ (no googleapis dependency)
npm test # mocked login tests; no Google calls or credential writes
認証の仕組みは src/auth.ts にあります。上記のプライバシーに関する説明を確認するには、ソースコードを読んでください。
調査を公開する改善につなげる
MCPは引き続き無料です。特定のページの改善案をまとめるサポートをご希望の場合、PercyがSearch Consoleのデータを調査し、焦点を絞った変更案を作成して、保存した作業と次のアクションをまとめて管理します。内容を確認してご自身のCMSで公開した後、変更を検証し、結果を追跡できます。
Percyは独立した有料ワークスペースです。7日間無料で、クレジットカードは不要です。その後も利用を続ける場合、プランは月額$29からです。利用にはPercy専用のGoogle接続が必要です。ローカルのMCP認証情報や会話はインポートされません。
MITライセンスです。IssueやPRを歓迎します。Percyが開発しました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。