gsc-mcp-connector
gsc-mcp-connector
セルフホスト型Google Search Console MCPサーバー。Cloudflare Workersに15分でデプロイ可能。ChatGPT、Claude、またはMCP対応クライアントに接続して、自然言語でGSCデータをクエリできます。
提供する機能
デプロイ後、プライベートなMCPエンドポイントが作成され、AIアシスタントに4つのツールを公開します。
list_sites— 認証済みユーザーがアクセス可能なすべてのプロパティを検出query_search_analytics— クリック数、インプレッション数、CTR、掲載順位。クエリ/ページ/国/デバイス/検索表示/日付でフィルタリング可能inspect_url— URLインスペクションAPIの完全な出力(インデックスステータス、正規URL、モバイル、AMP)list_sitemaps— 送信されたすべてのサイトマップとその処理ステータス
「過去28日間とその前の28日間で、クリック数の減少が最も大きいクエリトップ50は?」と質問すると、アシスタントがデータを取得し、差分を計算し、分析を記述します。もはやSQLエクスポートは不要です。
Related MCP server: gsc-mcp-connector
仕組み
ChatGPT/Claude ──OAuth──▶ Your Worker ──OAuth──▶ Google
│
└─ holds your Google refresh_token
(encrypted, in OAuth grant props)2つのOAuthチェーン:
MCPクライアント → Worker : ChatGPT/ClaudeがWorkerに対してOAuth 2.1 + PKCEを実行。ログインUIは、デプロイ時に設定した静的な「アクセスキー」を要求します(コネクタゲート)。
Worker → Google : アクセスキーチェック後、ユーザーはGoogleの同意画面にリダイレクトされ、
webmasters.readonlyを許可します。結果のリフレッシュトークンはOAuth認可に保存され、ツール呼び出しのたびにWorkerが新しいアクセストークンをリフレッシュしてGSCを呼び出します。
ユーザーのGoogleアカウントがアクセスを制御します。サービスアカウント、GSCユーザー管理の手間、権限伝播の遅延は一切不要です。
前提条件
項目 | 費用 | 必須? |
ChatGPT Plus / Pro / Team または Claude.ai Pro / Team | 月額$20以上 | カスタムMCPコネクタは有料プラン限定です。 |
Cloudflareアカウント | 無料枠で十分 | はい |
Google Cloudプロジェクト | 無料 | はい — OAuthクライアント作成用 |
確認済みSearch Consoleプロパティ | 無料 | はい(すでにお持ちのはずです) |
Node.js 20+ + | 無料 | シークレット設定手順で推奨 |
Cloudflare Workersの無料枠(1日10万リクエスト)は、個人のSEO利用には十分です。有料のCloudflareプランは不要です。
クイックスタート(約15分)
1. Workerをデプロイする
このREADME上部のDeploy to Cloudflareボタンをクリックします。Cloudflareがリポジトリをアカウントにクローンし、依存関係をインストールし、https://gsc-mcp-connector.<あなたのサブドメイン>.workers.devのような公開URLを提供します。
注意 : この段階で、
MCP_BEARER_TOKEN、GOOGLE_OAUTH_CLIENT_ID、GOOGLE_OAUTH_CLIENT_SECRETの入力を求められます。Googleのものはまだありません。MCP_BEARER_TOKENには任意のランダムな16進文字列を入力し(後で変更可能)、Googleの2つのフィールドには何でも入力してください。これらはステップ4で適切に設定します。ボタンをスキップする場合は、リポジトリをローカルにクローンし、
npm installを実行し、その後npx wrangler deployを実行してください。
デプロイ後、Worker URLをメモしてください。ステップ3とステップ5の両方で必要になります。
2. コネクタアクセスキーを生成する
これは、Google OAuthの前のゲートとして使用される静的なランダム文字列です。コネクタを使用するすべてのユーザーは、ログインUIにこの文字列を貼り付ける必要があります。
openssl rand -hex 32出力を保存してください。これをシークレットとして設定し、ChatGPT/Claudeで使用します。
3. Google Cloudをセットアップする(OAuthクライアント)
docs/SETUP_GCP.mdのステップバイステップに従ってください。承認済みリダイレクトURIには、ステップ1のWorker URLを使用します。最終的にクライアントIDとクライアントシークレットが取得できます。
これが最も時間のかかる手順です(初回は約10分)が、一度だけ行えば完了です。
4. Workerシークレットを設定する
npx wrangler secret put MCP_BEARER_TOKEN
# paste the value from step 2
npx wrangler secret put GOOGLE_OAUTH_CLIENT_ID
# paste the Client ID from step 3
npx wrangler secret put GOOGLE_OAUTH_CLIENT_SECRET
# paste the Client Secret from step 3または、Cloudflareダッシュボードから: Workers & Pages → 該当Worker → Settings → Variables and Secrets → 各項目をタイプSecretとして追加します。
ヒント — Windowsでのエンコーディングの落とし穴 : ファイルの内容をパイプで渡す場合(例:
Get-Content | wrangler secret put)、そのファイルにUTF-8 BOMが含まれていると、BOMがシークレットに含まれてJSON解析が壊れます。Cloudflareダッシュボードまたは対話型のwrangler secret put(プロンプトで貼り付け)を使用すれば、この問題を完全に回避できます。
5. ChatGPTに接続する(Plus/Pro/Team)
ChatGPT → Settings → Connectors → Add custom connector :
Name :
gscMCP Server URL :
https://YOUR-WORKER-URL/mcp(/mcpで終わる必要があります)Authentication :
OAuth「I understand and want to continue」にチェック
Create
ポップアップがWorkerのログインUIを開きます。MCP_BEARER_TOKENを貼り付け → Continue with Googleをクリック → Googleがログインを求めます(GSCプロパティを所有するアカウントを使用) → webmasters.readonlyを許可 → ChatGPTにリダイレクトされ、コネクタが有効になります。
新しいチャットで、ツールバーのgscコネクタを有効にし、次のように質問します: 「Google Search Consoleのサイトを一覧表示して」。プロパティが表示されるはずです。
6. (オプション)Claude.aiに接続する(Pro/Team)
Settings → Integrations → Add custom integration → 同じURL、同じフローです。
ローカル開発
git clone https://github.com/JuJu78/gsc-mcp-connector
cd gsc-mcp-connector
npm install
cp .dev.vars.example .dev.vars
# edit .dev.vars with your real Client ID + Client Secret + bearer token
npx wrangler dev開発サーバーはhttp://localhost:8787で実行されます。ローカル開発では、GoogleのリダイレクトURIにHTTPSが必要なため、Google OAuthフローを完全に完了できません。完全なエンドツーエンドテストを行うには、Cloudflareにデプロイし、workers.dev URLに対してテストしてください。
制限事項
読み取り専用。 書き込み操作(サイトマップ送信、インデックスリクエスト)は意図的に除外されています。LLMコンテキストではリスクが伴うためです。必要な場合はPRを送信してください。
設計上シングルテナント。 1人のオペレーターがデプロイし、1つのベアラートークンがコネクタをゲートし、アクセスはGoogle OAuthフローを完了したユーザーにバインドされます。マルチユーザーSaaSスタイルは対象外です。
OAuth同意画面がテストモードの場合、テストユーザーは100人に制限されます(個人/チーム利用には十分以上)。より広く配布するには、アプリをGoogleの審査に提出する必要があります(
webmasters.readonlyは「センシティブ」スコープであり、手動レビューが必要です)。GSC APIクォータ — プロジェクトあたり1分間に1200クエリ、1日あたり3万クエリ。インタラクティブな使用には十分です。
日付範囲 — GSCは過去16ヶ月間のデータを返します。それ以前の日付はエラーになります。
トラブルシューティング
症状 | 原因 | 修正方法 |
Googleログイン中に | GCPの承認済みリダイレクトURIがWorkerの送信内容と完全に一致していない |
|
Googleログイン後に | ログインしたアカウントがOAuth同意画面のテストユーザーに含まれていない | OAuth同意画面 → 対象者 → テストユーザーにGmailを追加 |
ChatGPTでの認可後に | 以前の試行による古いOAuth認可が残っている | ChatGPTでコネクタを削除し、再作成する |
| v0.4+をデプロイする前に認可が作成された | ChatGPT/Claudeでコネクタを削除し、再作成する |
ベアラー貼り付け後に |
| 対話型の |
| 認証されたGoogleアカウントにGSCプロパティがない(またはアカウントが間違っている) | Google同意手順で使用したアカウントを確認 — GSCプロパティを所有している必要があります |
ChatGPTが「利用可能なツールがありません」と表示 | URLが | サーバーURLは |
スタック
Cloudflare Workers + Durable Objects(
agentsSDK ≥0.12経由)@cloudflare/workers-oauth-provider(OAuth 2.1 + DCR + PKCE用)@modelcontextprotocol/sdk(ツール定義用)KV名前空間
OAUTH_KV(OAuth状態用)Google OAuth 2.0フロー(Web Crypto APIでネイティブ署名、Node依存なし)
クレジット
Julien Gourdonによって構築されました — 検索とAIの交差点を探求するSEOコンサルタント。
ライセンス
MIT — LICENSEを参照してください。
Related MCP Connectors
Google Search Console, GA4 and PageSpeed MCP server for Claude, ChatGPT and Cursor. Free, hosted.
Read-only Google Search Console MCP server for AI assistants.
Ask Google Search Console in plain language. Hosted, free, no Google Cloud project.
Free Google Search Console MCP: your real GSC, Google Analytics and keyword data for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceSelf-hosted MCP server that exposes Google Search Console tools (list sites, query analytics, inspect URL, list sitemaps) via natural language to AI assistants like ChatGPT and Claude.1MIT
- AlicenseNot gradedqualityCmaintenanceSelf-hosted Google Search Console MCP server deployable to Cloudflare Workers, allowing natural language queries of GSC data via ChatGPT, Claude, or any MCP-capable client.MIT
- AlicenseNot gradedqualityCmaintenanceSelf-hosted MCP server for Google Search Console. Enables natural language queries to list sites, analyze search analytics, inspect URLs, and check sitemaps through AI assistants.MIT
- AlicenseNot gradedqualityBmaintenanceSelf-hosted Google Search Console MCP server deployable to Cloudflare Workers that enables querying GSC data (search analytics, URL inspection, sitemaps) via natural language through ChatGPT, Claude, or any MCP-capable client.1MIT