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: Google Search Console MCP
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
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceSelf-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.MIT
- Alicense-qualityAmaintenanceOAuth-protected Google Search Console MCP for analytics, URL inspection, sitemap management, indexing requests, and SEO diagnostics. Open-source Cloudflare Workers implementation with 17 tools.145MIT
- Alicense-qualityCmaintenanceSelf-hosted MCP server that connects Google Search Console to AI assistants, enabling natural language queries about search analytics, sitemaps, and URL inspection data.MIT
- Alicense-qualityCmaintenanceSelf-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
Related MCP Connectors
SEO MCP server: crawl your site, find AI-visibility gaps, and ship the fix from your coding agent.
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/pradeepoct/gsc-mcp-connector'
If you have feedback or need assistance with the MCP directory API, please join our Discord server