search-console-mcp
search-console-mcp
MCP-Server für die Google Search Console, der die offizielle Search Console API als Tools für KI-Agenten bereitstellt.
Der Fokus liegt auf Such‑Performance und Index‑Health — Abfragen von Klicks, Impressionen, CTR und Position nach Suchanfrage, Seite, Land, Gerät oder Datum, Prüfung, ob eine URL indexiert ist und falls nicht, warum, sowie die Verwaltung der Sitemaps und Properties eines Kontos.
Was er bewusst nicht tut: keine Anforderung des (Re‑)Indexierens von URLs — die getrennte Indexing API unterstützt nur Job-Ankündice- und Livestream-Seiten — keine Property-Inhabershaft (eine Eigentümer/in muss das Dienstkonto zu jeder Property hinzufügen) und keine Google-Analytics-Daten (das ist die davon getrennte Analytics Data API).
Löschungen sind Opt-in.
delete_sitemapunddelete_sitewerden nur registriert, wennGOOGLE_SEARCH_CONSOLE_ALLOW_DESTRUCTIVEgesetzt ist — siehe Konfiguration.
Installation
claude mcp add search-console \
-e GOOGLE_SERVICE_ACCOUNT_KEY_PATH=/path/to/service-account.json \
-e GOOGLE_SEARCH_CONSOLE_SITE_URL=https://example.com/ \
-- npx -y @orellbuehler/search-console-mcpDie -e Flags müssen vor dem --‑Trenner stehen; alles nach -- wird an den Server-Prozess
übergeben, statt als Konfiguration gelesen zu werden.
Related MCP server: Google Search Console MCP Server
Dienstkonto-Schlüssel besorgen
In der Google Cloud console ein Projekt auswählen oder erstellen und die Google Search Console API aktivieren.
Zu IAM & Admin → Konten → Dienstkonto erstellen wechseln. Sie können die optionalen „Zugriff erteilen“-Schritte überspringen — die Search Console verwaltet Berechtigungsdaten getrennt, nicht über Cloud-IAM-Rollen.
Das neue Dienstkonto öffnen, zum Tab Schlüssel wechseln und Schlüssel hinzufügen → Neuen Schlüssel erstellen → JSON auswählen. Die Datei wird einmalig heruntergeladen und kann nicht erneut abgerufen werden.
In der Search Console die Property öffnen, zu Einstellungen → Nutzer und Berechtigungen → Nutzer hinzufügen wechseln und die E-Mail-Adresse des Dienstkontos (
name@project-id.iam.gserviceaccount.com) einfügen. Gewähren Sie:Eingeschränkt oder Vollzugriff für die Lesetools (Analytics, Sitemaps, URL-Inspektion)
Vollzugriff für
submit_sitemapunddelete_sitemap
Schritt 4 für jede Property wiederholen, die der Server sehen soll — ein Dienstkonto kann Properties nicht selbst verifizieren.
GOOGLE_SERVICE_ACCOUNT_KEY_PATHauf die heruntergeladene JSON-Datei den.
Den JSON-Schlüssel wie ein Passwort behandeln — er besitzt die gewährten
Berechtigungen ohne einen zusätzlichen Schutz. Bewahren Sie ihn außerhalb des Repositorys auf und
erwägeen Sie chmod 600.
Konfiguration
Variable | Erforderlich | Beschreibung |
| eine von beiden | Pfad zur heruntergeladenen JSON-Schlüsseldatei des Dienstkontos |
| eine von beiden | Der Inline-JSON-Schlüssel des Dienstkontos als roher JSON-String |
| nein | Standard-Property, sodass Tools |
| nein | Auf |
Eine Property wird entweder als URL-Präfix-Property wie https://example.com/ angegeben (Protokoll
und abschließender Schrägstrich sind entscheidend — https://example.com/ und http://example.com/ sind
verschiedene Properties) oder als Domain-Property wie sc-domain:example.com, which alle Subdomains
und Protokolle einschließt. Verwenden Sie jeweils die Schreibweise, unter der die ne Property in der Search Console
hinzugefügt wurde; list_sites zeigt die exakten Zeichenketten an.
Verwendung mit Claude Code
{
"mcpServers": {
"search-console": {
"command": "npx",
"args": ["-y", "@orellbuehler/search-console-mcp"],
"env": {
"GOOGLE_SERVICE_ACCOUNT_KEY_PATH": "/path/to/service-account.json",
"GOOGLE_SEARCH_CONSOLE_SITE_URL": "https://example.com/"
}
}
}
}Beispiel-Prompts
„Was sind meine wichtigsten Suchanfragen in diesem Monat?“
„Welche Seiten erhalten die meisten Klicks von Google, und wie hat sich das gegenüber den letzten 28 Tagen verändert?“
„Zeige Suchanfragen mit „pricing“, bei denen wir unter Position 10 ranken — Kandidaten für schnelle Erfolge.“
„Wie viel unseres Traffics ist mobil im Vergleich zu Desktop?“
„Stelle unsere täglichen Klicks und Impressionen der letzten drei Monate grafisch dar.“
„Aus welchen Ländern erhalten wir Impressionen, aber fast keine Klicks?“
„Ist https://example.com/blog/launch indexiert? Wenn nicht, warum?“
„Liste unsere Sitemaps auf und sag mir, ob darin Fehler oder Warnungen festzustellen sind.“
„Reiche die Sitemap nach der Umstrukturierung der Website von gestern erneut ein.“
„Welche Seiten für ‚mcp server‘ eingegangen ges sind, konkurrieren miteinander?“
„Vergleiche unseren Google-Discover-Traffic mit dem Websuche-Traffic dieses Quartals.“
Tools
Suchanalysen
Tool | Beschreibung |
| Umfangreiche Performance-Abfrage: beliebige Dimensionen, Filter, reguläre, Suchtypen, Pagination bis 25.000 Zeilen |
| Top-Suchanfragen nach Klicks, optional eingeschränkt auf eine Seite, ein Land oder ein Gerät |
| Top-Seiten nach Klicks, optional eingeschränkt auf eine Suchanfrage-Substring, ein Land oder ein Gerät |
Sitemaps
Tool | Beschreibung |
| Eingereichte Sitemaps mit Status, Fehlern, Warnungen und Anzahl der indexierten URLs auflisten |
| Verarbeitungsstatus und Inhalt einer Sitemap abrufen |
| Neue Sitemap einreichen oder eine bestehende zur erneuten Übernehmen erneut senden |
| Sitemap aus der Search Console entfernen (Opt-in über |
Sites
Tool | Beschreibung |
| Alle Properties auflisten, auf die das Dienstkonto zugreifen kann, mit Zugriffsstufen |
| Zugriffsstufe einer einzelnen Property abrufen |
| Eine bereits verifizierte Property zum Konto hinzufügen |
| Eine Property aus der Kontenansicht entfernen (Opt-in über |
URL-Inspektion
Tool | Beschreibung |
| Google-Indexstatus einer URL: Urteil, Abdeckung, Zeichen, Wonau, letzer Crawl, Rich Results, robots |
Hinweise & Einschränkungen
Die Benutzerdaten laufen ca. 2–3 Tage hinterher. Die Komfort-Tools legen ihren Standard-Datumsbereich stehen auf 3 Tage;YE
data_state: "all"enthält aktuelle, aber möglicherweise unvollständige Daten.16‑Monats‑Speicherdauer. Ältere Suchanfragen liefern keine Datenzeilen.
Privatsphären-Filter. Zeilen für selten existierende Anfragen werden nicht ausgegeben; die Aufsummierung der Einzelzeilen unterschreitet daher die echten Gesamtwerte; Abfragen ohne Dimensionen liefern exakte Werte.
25.000 Zeilen pro Aufruf. Verwenden Sie
start_rowfür die Seitenaufteilung; eine Antwort mit weniger Zeilen alsrow_limitist die letzte Seite.URL-Inspektion-Quota liegt bei etwa 2.000 Aufrufen/Tag pro Property und 600/Minute — daher inspektion Sie gezielt, nicht in Massenabfragen.
Die
hour-Dimension erfordertdata_state: "hourly_all"und deckt nur die letzen ~10 Tage ab.Deine Suchdaten gehen an die LLM. Jedes Rückgabe-Tool-Ergebnis wird Teil des Modell-Kontexts; verbinden Sie keine Properties, deren Daten Ihre Umgebung nicht verlassen dürfen.
Entwicklung
npm install
npm run build # tsc -p tsconfig.build.json -> dist/
npm test # vitest run
npm run lint # eslint src
npm run typecheck # tsc --noEmit
npm run format # prettier --write .Smoke-Test des gebauten Servers gegen eine echte Property:
GOOGLE_SERVICE_ACCOUNT_KEY_PATH=/path/to/service-account.json \
GOOGLE_SEARCH_CONSOLE_SITE_URL=https://example.com/ \
npx @modelcontextprotocol/inspector node dist/index.jsCI / Veröffentlichung
CI führt auf Node 20 und 22 die Schritte format:check, lint, typecheck, test und build aus. Die Veröffentlichung
erfolgt über ein GitHub-Release mit npm Trusted Publishing (OIDC, keine Tokens):
npm version patch
git push --follow-tags
gh release create "v$(node -p "require('./package.json').version")" --generate-notesLizenz
MIT © Orell Bühler
This server cannot be deployed
Maintenance
Related MCP Connectors
SEO & marketing toolkit for AI agents: GA4, Search Console, AdSense, GTM, PageSpeed, Trends.
Google Search Console in your AI: overview, opportunities, index gaps, page checks, long history.
SEO rankings and traffic from Google Search Console for AI assistants, read-only
Related MCP Servers
- AlicenseAqualityAmaintenanceProvides AI agents with read-only access to Google Search Console data, including search analytics, index coverage, and sitemap status. It enables users to query clicks, impressions, and ranking performance or check URL indexing status through natural language.494 npm10MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to query Google Search Console data including search analytics, URL inspection, sitemap management, and site performance monitoring, with per-user OAuth authentication.-
- AlicenseAqualityCmaintenanceEnables AI assistants to query and manage Google Search Console data, including search analytics, URL indexing status, and sitemap management, for SEO and LLMO analysis directly from a conversation.154,526 npmMIT
- AlicenseAqualityCmaintenanceEnables AI assistants to analyze Google Search Console SEO data through natural language, including search analytics, URL inspection, sitemap management, and property management.21MIT