gsc-mcp-connector
gsc-mcp-connector
Selbst gehosteter Google Search Console MCP-Server, in 15 Minuten auf Cloudflare Workers bereitstellbar. Verbinden Sie ihn mit ChatGPT, Claude oder jedem MCP-fähigen Client und fragen Sie Ihre GSC-Daten in natürlicher Sprache ab.
Was Sie damit erhalten
Nach der Bereitstellung erhalten Sie einen privaten MCP-Endpunkt, der Ihrem KI-Assistenten vier Tools zur Verfügung stellt:
list_sites– entdecken Sie jede Property, auf die der authentifizierte Benutzer zugreifen kannquery_search_analytics– Klicks, Impressionen, CTR, Position, filterbar nach Suchanfrage / Seite / Land / Gerät / Sucheigenschaft / Datuminspect_url– vollständige URL Inspection API-Ausgabe (Indexierungsstatus, kanonisch, mobil, AMP)list_sitemaps– jede eingereichte Sitemap und deren Verarbeitungsstatus
Sie fragen: "Quelles sont mes 50 requêtes avec la plus grosse perte de clics entre les 28 derniers jours et les 28 jours précédents ?" und der Assistent zieht die Daten, berechnet die Differenz und schreibt die Analyse. Keine SQL-Exporte mehr.
Related MCP server: gsc-mcp-connector
Wie es funktioniert
ChatGPT/Claude ──OAuth──▶ Your Worker ──OAuth──▶ Google
│
└─ holds your Google refresh_token
(encrypted, in OAuth grant props)Zwei OAuth-Ketten:
MCP-Client → Worker: ChatGPT/Claude führen OAuth 2.1 + PKCE gegen Ihren Worker durch. Die Anmeldeoberfläche fragt nach einem statischen „Access Key", den Sie bei der Bereitstellung festlegen (das Connector-Gate).
Worker → Google: Nach der Überprüfung des Access Keys wird der Benutzer zum Google-Zustimmungsbildschirm weitergeleitet, um
webmasters.readonlyzu gewähren. Das resultierende Refresh-Token wird im OAuth-Grant gespeichert; bei jedem Tool-Aufruf frischt der Worker ein neues Access-Token auf und ruft die GSC auf.
Das Google-Konto des Benutzers steuert den Zugriff – kein Service Account, kein GSC-Benutzerverwaltungs-Tanz, keine Verzögerungen bei der Berechtigungsweitergabe.
Voraussetzungen
Posten | Kosten | Erforderlich? |
ChatGPT Plus / Pro / Team oder Claude.ai Pro / Team | ab 20 $/Monat | Benutzerdefinierte MCP-Connector sind kostenpflichtigen Plänen vorbehalten. |
Cloudflare-Konto | Kostenlose Stufe reicht | Ja |
Google Cloud-Projekt | Kostenlos | Ja – zum Erstellen eines OAuth-Clients |
Verifizierte Search Console-Property | Kostenlos | Ja (haben Sie bereits) |
Node.js 20+ + | Kostenlos | Empfohlen für die Schritte zum Setzen der Secrets |
Die kostenlose Stufe von Cloudflare Workers (100.000 Anfragen/Tag) ist für den persönlichen SEO-Einsatz völlig ausreichend. Kein kostenpflichtiger Cloudflare-Plan erforderlich.
Schnellstart (~15 Min.)
1. Worker bereitstellen
Klicken Sie auf den Deploy to Cloudflare-Button oben in dieser README. Cloudflare klont das Repository in Ihr Konto, installiert Abhängigkeiten und gibt Ihnen eine öffentliche URL wie https://gsc-mcp-connector.<your-subdomain>.workers.dev.
Hinweis: In dieser Phase werden Sie nach
MCP_BEARER_TOKEN,GOOGLE_OAUTH_CLIENT_IDundGOOGLE_OAUTH_CLIENT_SECRETgefragt. Sie haben die Google-Daten noch nicht – füllen SieMCP_BEARER_TOKENvorerst mit einem beliebigen zufälligen Hex-String (später änderbar) und fügen Sie in die beiden Google-Felder irgendetwas ein. Wir setzen sie in Schritt 4 richtig.Wenn Sie den Button überspringen möchten, klonen Sie das Repository lokal, führen Sie
npm installund dannnpx wrangler deployaus.
Notieren Sie sich nach der Bereitstellung Ihre Worker-URL. Sie benötigen sie sowohl in Schritt 3 als auch in Schritt 5.
2. Einen Connector-Access-Key generieren
Dies ist ein statischer zufälliger String, der als Gate vor Google OAuth dient. Jeder, der den Connector verwendet, muss diesen String in der Anmeldeoberfläche einfügen.
openssl rand -hex 32Speichern Sie die Ausgabe – Sie werden sie als Secret setzen und in ChatGPT/Claude verwenden.
3. Google Cloud einrichten (OAuth-Client)
Folgen Sie der Schritt-für-Schritt-Anleitung in docs/SETUP_GCP.md. Verwenden Sie Ihre Worker-URL aus Schritt 1 im Authorized redirect URI. Sie erhalten eine Client ID und ein Client Secret.
Dies ist der längste Schritt (~10 Min. beim ersten Mal), aber Sie machen ihn nur einmal.
4. Worker-Secrets konfigurieren
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 3Oder über das Cloudflare-Dashboard: Workers & Pages → Ihr Worker → Settings → Variables and Secrets → fügen Sie jedes als Typ Secret hinzu.
Tipp – Kodierungsfalle unter Windows: Wenn Sie den Inhalt einer Datei weiterleiten (z.B.
Get-Content | wrangler secret put) und diese Datei ein UTF-8-BOM enthält, landet das BOM in Ihrem Secret und zerstört das JSON-Parsing. Das Cloudflare-Dashboard oder das interaktivewrangler secret put(Einfügen an der Eingabeaufforderung) vermeidet dies vollständig.
5. In ChatGPT einbinden (Plus/Pro/Team)
ChatGPT → Settings → Connectors → Add custom connector:
Name:
gscMCP Server URL:
https://YOUR-WORKER-URL/mcp(muss auf/mcpenden)Authentication:
OAuth„I understand and want to continue" aktivieren
Create
Ein Popup öffnet sich zur Anmeldeoberfläche Ihres Workers. Fügen Sie Ihren MCP_BEARER_TOKEN ein → klicken Sie Continue with Google → → Google fordert Sie auf, sich anzumelden (verwenden Sie das Konto, dem Ihre GSC-Property gehört) und webmasters.readonly zu gewähren → Sie werden zurück zu ChatGPT geleitet, der Connector ist aktiv.
Aktivieren Sie in einem neuen Chat den gsc-Connector in der Symbolleiste und fragen Sie: „List my Google Search Console sites". Sie sollten Ihre Properties sehen.
6. (Optional) In Claude.ai einbinden (Pro/Team)
Settings → Integrations → Add custom integration → gleiche URL, gleicher Ablauf.
Lokale Entwicklung
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 devDer Entwicklungsserver läuft auf http://localhost:8787. Beachten Sie, dass die lokale Entwicklung den Google-OAuth-Fluss nicht vollständig abschließen kann, da die Weiterleitungs-URIs von Google HTTPS erfordern. Für einen echten End-to-End-Test stellen Sie auf Cloudflare bereit und testen Sie gegen die workers.dev-URL.
Einschränkungen
Nur-Lesen. Schreiboperationen (Sitemap einreichen, Indexierung anfordern) wurden bewusst ausgelassen – sie sind im LLM-Kontext riskant. Öffnen Sie einen Pull-Request, wenn Sie sie benötigen.
Einzelmandantenfähig von Grund auf. Ein Betreiber stellt bereit, ein Bearer-Token schützt den Connector, der Zugriff ist an denjenigen gebunden, der den Google-OAuth-Tanz abschließt. Multi-User-SaaS-ähnlich ist nicht vorgesehen.
OAuth-Zustimmung im Testing-Modus begrenzt Sie auf 100 Testnutzer (für den persönlichen/Team-Einsatz völlig ausreichend). Für eine breitere Verteilung müssten Sie die App zur Google-Verifizierung einreichen (
webmasters.readonlyist ein „sensibler" Bereich, erfordert manuelle Überprüfung).GSC-API-Kontingente – 1200 Abfragen/Min./Projekt, 30.000/Tag. Für interaktive Nutzung reichlich.
Datumsbereich – GSC gibt die letzten 16 Monate zurück. Frühere Daten führen zu Fehlern.
Fehlerbehebung
Symptom | Ursache | Lösung |
| Der autorisierte Weiterleitungs-URI in GCP stimmt nicht genau mit dem überein, was der Worker sendet | Überprüfen Sie, ob |
| Das angemeldete Konto ist nicht in Test users des OAuth-Zustimmungsbildschirms | Fügen Sie die Gmail-Adresse in OAuth consent screen → Audience → Test users hinzu |
| Veralteter OAuth-Grant von einem vorherigen Versuch | Löschen Sie den Connector in ChatGPT und erstellen Sie ihn neu |
| Der Grant wurde erstellt, bevor Sie v0.4+ bereitgestellt haben | Löschen Sie den Connector in ChatGPT/Claude und erstellen Sie ihn neu |
|
| Setzen Sie das Secret über interaktives |
| Das authentifizierte Google-Konto hat keine GSC-Properties (oder falsches Konto) | Überprüfen Sie, welches Konto Sie im Google-Zustimmungsschritt verwendet haben – es muss GSC-Properties besitzen |
ChatGPT sagt „no tools available" | URL endet nicht mit | Server-URL muss |
Technologie-Stack
Cloudflare Workers + Durable Objects (über
agentsSDK ≥0.12)@cloudflare/workers-oauth-providerfür OAuth 2.1 + DCR + PKCE@modelcontextprotocol/sdkfür Tool-DefinitionenKV-Namespace
OAUTH_KVfür OAuth-ZustandGoogle OAuth 2.0-Fluss, nativ über Web Crypto API signiert (keine Node-Abhängigkeiten)
Danksagungen
Erstellt von Julien Gourdon – SEO-Berater, der die Schnittstelle von Suche und KI erforscht.
Lizenz
MIT – siehe 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