Google Search Console MCP Server について
Google Search Console MCP Serverは、SEOに取り組むAIエージェントにSearch Consoleのデータとサイトマップ操作を提供します。検索パフォーマンスの分析、1ページ目に近い検索語の発見、URL検査を備え、現在はメンテナンスモードです。
主な機能
- 01確認済みのSearch Consoleプロパティを表示
- 02クリック数、表示回数、CTR、掲載順位を分析
- 031ページ目に近い検索語を抽出
- 04サイトマップの一覧表示、送信、削除
- 05URLのインデックスとクロール情報を検査
- 06ツールの読み書きの影響を明示
活用シーン
- 01検索結果の1ページ目に近いキーワードを探す
- 02ページや検索語ごとの検索実績を確認
- 03サイトマップの状態を確認して更新を送信
- 04指定したURLのインデックス状態を調べる
MCP 対応
MCPサーバーとして、Google Search Consoleの読み取り・書き込みツールを提供します。クライアントはツールのアノテーションで、読み取り専用操作とサイトマップ変更を区別できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
gsc-mcp
メンテナンスモード。 このプロジェクトは安定しており、セキュリティ修正が提供されます。新機能の追加予定はありませんが、問題の報告やプルリクエストは引き続き歓迎します。
AI エージェント向けの Google Search Console:検索パフォーマンス、1 ページ目目前のキーワード、サイトマップ、URL 検査。アシスタントに任せられる SEO 自動化です。
Google Search Console 用の MCP サーバーです。AI アシスタントに、オーガニック検索のデータと操作手段を提供します。クエリやページのパフォーマンス、1 ページ目まであと一歩のキーワード、サイトマップの状態、特定 URL がインデックスに登録されているかどうかを確認でき、サイトマップの送信や削除もできます。
このプロジェクトを作った理由。 SEO の実務は Search Console で行われますが、UI はクリック操作が多く、データをひと目で活用するのは困難です。最も役立つビューのひとつである、1 ページ目目前の順位にいるクエリの一覧は、標準レポートにすらありません。フィルタリングして目視で確認する必要があります。このサーバーは、こうしたビューや検索ファネル全体をエージェントに提供し、SEO の面倒な作業(惜しいキーワードの発見、インデックス状況の確認、サイトマップの健全性維持)を自動化できるようにします。
ポッドキャストと個人サイトの 2 つのサイトの SEO を行うために開発しましたが、特定のサイトに依存する機能はありません。所有権を確認済みの任意のプロパティを指定できます。
ツール
| ツール | アクセス | 返される内容 | API |
|---|---|---|---|
gsc_list_sites | 読み取り | 確認済みプロパティと権限レベル | GET webmasters/v3/sites |
gsc_search_analytics | 読み取り | クエリ、ページ、国、デバイス、日付ごとのクリック数/表示回数/CTR/掲載順位 | POST .../searchAnalytics/query |
gsc_striking_distance | 読み取り | 平均掲載順位が 8~25 位で、表示回数が十分なクエリ — 最適化対象の一覧 | 検索アナリティクスから算出 |
gsc_list_sitemaps | 読み取り | 送信済みサイトマップと、ステータス、最終ダウンロード日時、警告/エラー数 | GET .../sitemaps |
gsc_submit_sitemap | 書き込み | サイトマップを Google に送信/通知 | PUT .../sitemaps/{feedpath} |
gsc_delete_sitemap | 書き込み、破壊的操作 | Search Console からサイトマップの登録を解除 | DELETE .../sitemaps/{feedpath} |
gsc_inspect_url | 読み取り | インデックス状況、最終クロール日時、正規 URL、モバイル/リッチリザルトの判定結果 | POST searchconsole/v1/urlInspection/index:inspect |
各ツールには MCP の読み取り/書き込みアノテーションが付いているため、クライアントは呼び出す前に、書き込みツール 2 つと読み取り専用ツール 5 つを区別できます。読み取りツールは readOnlyHint: true、gsc_submit_sitemap は破壊的ではない書き込み操作、gsc_delete_sitemap は destructiveHint: true です。
一覧表示ツールの row_limit/limit のデフォルト値は小さめ(25)です。応答サイズを抑えるためです。エージェントは応答ごとにトークンを消費します。
認証
このサーバーでは、サービスアカウントや API キーではなく、OAuth のインストール型アプリ認証情報(保存済みのリフレッシュトークン)を使用します。認証情報は次の場所から読み込みます。
~/.config/gws/searchconsole_credentials.json
このファイルは google-auth の Credentials.to_json() 形式で、client_id、client_secret、refresh_token、scopes が含まれています。サーバーは fetch を使用して Google のトークンエンドポイントに直接リクエストし、短期間有効なアクセストークンを更新します。大規模な googleapis 依存関係はありません。
まだファイルがない場合は、次の手順で作成できます。
- Google Cloud Console で、タイプがデスクトップアプリのOAuth クライアントを作成し、
client_secret.jsonをダウンロードします。 - そのプロジェクトで Search Console API を有効にします。
- 必要なスコープ(下記参照)をリクエストするインストール型アプリの OAuth フローを実行し、生成された認証情報を
~/.config/gws/searchconsole_credentials.jsonに保存します。標準的なgoogle-auth-oauthlibのインストール型アプリ用スニペットを使用できます。約 10 行で、ブラウザーが開き、同意を 1 回クリックするだけです。
このパスを共有しているのは意図的です。他のツール用にすでにその場所に Search Console の認証情報がある場合、このサーバーは新たに認証情報を作成するよう求めず、それを再利用します。
スコープ:読み取り専用とフルアクセス
- 読み取りツールは
https://www.googleapis.com/auth/webmasters.readonlyで動作します。 - 書き込みツール(
gsc_submit_sitemap、gsc_delete_sitemap)と URL 検査には、フルアクセスのhttps://www.googleapis.com/auth/webmastersスコープが必要です。
保存済みの認証情報に読み取り専用スコープしかない場合、読み取りツールは動作し、書き込みツールは原因の分かりにくい 403 ではなく、「フルスコープで再作成してください」という明確なエラーを返します。フルスコープで再作成すれば、同じファイルがその場で更新され、読み取りツールはその間も引き続き動作します。
デフォルト以外の認証情報ファイルを使用する場合は、GSC_CREDENTIALS_PATH にそのパスを設定してください。
認証情報がなくても起動
認証情報がなくてもサーバーは起動し、tools/list に応答するため、MCP インスペクターで内容を確認できます。ツールの呼び出し時には、セットアップ先を示す案内が返されます(起動時には stderr に、ツールの結果としても出力されます)。stdout は MCP トランスポート専用で、クリーンな状態に保たれます。
セットアップ
1. Search Console でプロパティを確認する
search.google.com/search-console でサイトを追加します。ドメイン プロパティ(DNS TXT レコードで確認)は http/https とすべてのサブドメインを対象とするため、推奨される選択肢です。正確なプロパティ文字列を控えてください。gsc_list_sites には sc-domain:example.com(ドメイン)または https://example.com/(URL プレフィックス)として表示されます。
2. 認証情報を作成する
認証の説明に従って ~/.config/gws/searchconsole_credentials.json を作成します。書き込みツールと URL 検査ツールを使用する場合は、フルアクセスの webmasters スコープをリクエストしてください。
3. MCP クライアントを設定する
Claude Code
.mcp.json に次を追加します。
{
"mcpServers": {
"gsc": {
"command": "npx",
"args": ["-y", "@conorbronsdon/gsc-mcp"]
}
}
}
Claude Desktop
claude_desktop_config.json に次を追加します。
{
"mcpServers": {
"gsc": {
"command": "npx",
"args": ["-y", "@conorbronsdon/gsc-mcp"]
}
}
}
認証情報がデフォルトのパスにある場合、env ブロックは不要です。別の場所にある場合は GSC_CREDENTIALS_PATH を設定してください。
4. 確認する
アシスタントに「Search Console のプロパティを一覧表示して」と尋ね、続けて「そのプロパティについて、過去 28 日間のストライキングディスタンスのキーワードを表示して」と尋ねます。
制限事項
数値の意味と、このツールでできること、できないことを把握するため、以下をお読みください。
- 設計上、リクエストのインデックス登録ツールはありません。 Search Console の「インデックス登録をリクエスト」ボタンには公開 API がありません。Google の Indexing API が対応しているのは
JobPostingとBroadcastEventのページのみで、通常のコンテンツには対応していません。また、通常のページに使用すると利用規約に違反します。そのため、ここには意図的に「Google にこのページのインデックス登録を依頼する」ツールを用意していません。通常のページのインデックス登録をリクエストするには、Search Console の UI で手動操作する必要があります。クロールを促すには、サポートされている API 対応の方法であるgsc_submit_sitemapを使用してください。 - データには約2~3日の遅れがあります。 Search Analytics はリアルタイムではありません。日付範囲の終了日は今日より数日前に設定してください。そうしないと、直近の日付のデータが返されません。
searchAnalyticsの1回の呼び出しには上限があります。 ここではrow_limitの上限は1000です(API ではページネーションを使用して25,000件まで取得できます)。非常に大量のデータを取得する場合は、一度にすべてを要求するのではなく、start_dateやディメンションのフィルターを使ってページごとに取得してください。- 順位上昇が期待できる範囲はクライアント側で計算されます。 最大1000件のクエリ行を取得し、順位の範囲で絞り込みます。順位のあるクエリが数千件あるサイトでは、この範囲ビューに表示されるのはクリック数上位1000件であり、ロングテール全体ではありません。
- URL 検査にはレート制限があり、処理に時間がかかります。 Google は URL Inspection API に低い日次クォータを設定しており、各呼び出しには1~2秒かかることがあります。確認したい特定の URL を検査してください。サイトマップ全体に対してループ処理を行わないでください。
- プロパティの追加・削除ツールはありません。 プロパティの確認は、状態を伴い、エラーが発生しやすい一連の手順(DNS TXT、メタタグ、ファイルのアップロード)であり、単一のツール呼び出しには適していません。Search Console の UI でプロパティを追加して確認してください。このサーバーが操作できるのは、すでに確認済みのプロパティです。
- 一般的な API クォータが適用されます。 HTTP 429 が発生すると、サーバーは分かりやすいエラーを返します。
row_limitと検査件数は控えめにしてください。
開発
git clone https://github.com/conorbronsdon/gsc-mcp.git
cd gsc-mcp
npm install
npm run build
npm test
ローカルで実行するには:
npm start
テストでは fetch をモックするため、ネットワーク呼び出しは行いません。
コントリビューション
Issue とプルリクエストを歓迎します。Search Console のエンドポイントをツールとしてラップする価値がある場合は、どのような結果を返すべきか、また対応するエンドポイントを説明する Issue を作成してください。仕様は実態に即したものにしてください。読み取りツールは読み取り専用とし、書き込みツールには適切なアノテーションを付け、レスポンスは簡潔に保ってください。
その他のサービス
Search Console は、より広範な Google データスタックにおける認証情報の種類の1つです。関連サービスには、それぞれ独自の認証方式があります。
| データ | サーバー |
|---|---|
| Google Workspace(Gmail、Calendar、Drive、Sheets、Docs、Tasks) | gws-mcp-server — 同じく厳選されたアプローチを採用しています。対象範囲を絞り、すべてのツールで副作用を明示します |
| YouTube Analytics | yt-analytics-mcp — オーナー向けの視聴時間、視聴者維持率、トラフィックソース、再生リストの指標を提供します。読み取り専用です |
| Google Analytics 4 | googleanalytics/google-analytics-mcp — Google 公式の読み取り専用サーバーです |
| BigQuery | googleapis/mcp-toolbox — Google 公式のサーバーです |
このサーバーで使用するトークンは、ここに記載した他のサービスと共有されません。このサーバーは webmasters OAuth 認証情報を使用し、Workspace は gws auth login を使用します。YouTube Analytics は yt-analytics.readonly OAuth 認証情報を使用し、GA4 は analytics.readonly のスコープを設定した Application Default Credentials を使用します。
概要
Conor Bronsdon が構築・保守しています。Chain of Thought ポッドキャストを配信しており、AI インフラ、開発者向けツール、そして実務者がこれらの技術を実際にどのように活用しているかを取り上げています。このポッドキャストとサイトの運営に関わるエージェントのワークフローに、SEO の作業を組み込むためにこれを作りました。
関連ツール:
- op3-mcp:OP3 を通じたポッドキャスト分析 — ダウンロード数、地域、アプリ、エピソードごとの内訳。
- podcast-benchmark:公開データをもとに、番組を同業者と比較できます。
- Transistor MCP:Transistor.fm の公式 MCP サーバー。エピソード、配信、分析に対応しています。
- substack-mcp:Substack の投稿の閲覧と下書きの管理ができ、エージェントのワークフローでも安全に使えます。
- ai-tools-for-creators:アイデアを仕事にしている人向けに、AI スキルと MCP サーバーを厳選したリストです。
詳細は chainofthought.show と X をご覧ください。
免責事項
これは独立した個人プロジェクトであり、Google LLC とは提携関係になく、同社からの資金提供や推奨も受けていません。ここに記載した見解はすべて私個人のものです。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。