seo-geo
Provides read-only access to Google Search Console data, including top search queries and pages with clicks, impressions, CTR, and position; striking distance opportunities (positions 8-20 with high potential); and URL inspection status (indexing status, coverage, last crawl, canonical URL).
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@seo-geoshow me my top search queries from Google Search Console this month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SEO- und GEO-Werkzeuge für Claude
Ein kleiner MCP-Server, der Claude direkten Zugriff auf Ihre Google Search Console, auf IndexNow und auf eine Prüfung von Title und Meta-Description gibt. Fragen Sie Claude, welche Seiten fast auf Seite eins stehen, ob eine neue URL schon im Index ist oder ob Ihre Metadaten zu lang sind. Die Antworten beruhen auf echten Daten Ihrer Property statt auf Schätzungen.
Tools
Tool | Was es tut |
| Top-Suchanfragen einer Property mit Klicks, Impressionen, Klickrate und Position für einen wählbaren Zeitraum |
| Top-Seiten einer Property mit denselben Kennzahlen |
| Striking Distance: Suchanfragen auf Position 8 bis 20 mit genügend Impressionen, sortiert nach Potenzial (geschätzte Zusatzklicks bei 10 % Klickrate) |
| URL Inspection: Indexierungsstatus, Abdeckung, robots.txt, letzter Crawl und Canonical-URL aus Sicht von Google |
| Meldet URLs (direkt oder aus einer Sitemap) per IndexNow an Bing, Yandex und weitere Suchmaschinen |
| Lädt eine Seite und prüft Title (maximal 60 Zeichen) und Meta-Description (70 bis 155 Zeichen) gegen die strengeren Bing-Grenzen, mit Befund und Kürzungshinweis |
meta_laengen_pruefen funktioniert ohne jede Einrichtung. Für die gsc_*-Tools brauchen Sie ein Google-Dienstkonto, für indexnow_melden einen IndexNow-Schlüssel.
Related MCP server: google-search-console
Voraussetzungen
Node.js 20 oder neuer
Eine bestätigte Property in der Google Search Console
Ein Google-Cloud-Projekt (kostenlos), in dem Sie ein Dienstkonto anlegen dürfen
Für IndexNow: Schreibzugriff auf das Stammverzeichnis Ihrer Website
Installation
Laden Sie das Repository herunter oder klonen Sie es, dann im Projektordner:
npm install
npm run buildDer Server liegt danach unter dist/index.js. Ein kurzer Selbsttest ohne Zugangsdaten startet den Server, listet die Tools und prüft die Metadaten einer Seite:
npm run selbsttest https://www.example.com/Einrichtung
1. Dienstkonto in Google Cloud anlegen
In der Google Cloud Console ein Projekt anlegen oder auswählen.
Unter "APIs und Dienste" die Google Search Console API aktivieren.
Unter "IAM und Verwaltung", "Dienstkonten" ein neues Dienstkonto anlegen. Rollen im Projekt sind nicht nötig.
Beim Dienstkonto unter "Schlüssel" einen neuen Schlüssel vom Typ JSON erstellen und die Datei an einem sicheren Ort außerhalb des Repositorys speichern.
Falls Ihre Organisation das Erstellen von Schlüsseln per Richtlinie blockiert, muss eine Administratorin oder ein Administrator die Richtlinie für dieses Projekt freigeben.
2. Dienstkonto in der Search Console freigeben
In der Search Console die Property öffnen.
"Einstellungen", "Nutzer und Berechtigungen", "Nutzer hinzufügen".
Die E-Mail-Adresse des Dienstkontos eintragen (Feld
client_emailin der JSON-Datei, endet aufiam.gserviceaccount.com).Berechtigung "Uneingeschränkt" wählen. Leistungsdaten funktionieren auch eingeschränkt, die URL-Prüfung braucht uneingeschränkten Zugriff.
Der Server nutzt nur den Lese-Scope webmasters.readonly. Er kann in der Search Console nichts verändern.
3. IndexNow-Schlüsseldatei anlegen
Einen Schlüssel erzeugen (8 bis 128 Zeichen, Buchstaben, Ziffern und Bindestriche), zum Beispiel:
node -e "console.log(crypto.randomUUID())"Eine Textdatei
<schluessel>.txtim Stammverzeichnis der Website ablegen, deren einziger Inhalt der Schlüssel ist. Sie muss unterhttps://www.example.com/<schluessel>.txterreichbar sein.Den Schlüssel als
INDEXNOW_KEYkonfigurieren (siehe unten) oder beim Aufruf als Parameter übergeben.
Umgebungsvariablen
Variable | Bedeutung |
| Pfad zur Service-Account-JSON oder deren kompletter Inhalt |
| Alternative zu |
| Standard-Property, z. B. |
| IndexNow-Schlüssel |
| Optional: Host, z. B. |
| Optional: abweichende URL der Schlüsseldatei |
| Optional: anderer IndexNow-Endpunkt, Standard |
Property, Host und Schlüssel lassen sich bei jedem Aufruf auch als Parameter übergeben. So arbeiten Sie mit mehreren Websites in einer Konfiguration.
Konfiguration für Claude Code
claude mcp add seo-geo --scope user \
--env GSC_SA_JSON=/pfad/zu/service-account.json \
--env GSC_PROPERTY=sc-domain:example.com \
--env INDEXNOW_KEY=ihr-indexnow-schluessel \
-- node /pfad/zu/mcp-seo-geo-werkzeuge/dist/index.jsMit claude mcp list prüfen Sie, ob der Server verbunden ist. In einer Sitzung zeigt /mcp die verfügbaren Tools.
Konfiguration für Claude Desktop
Tragen Sie den Server in claude_desktop_config.json ein (Windows: %APPDATA%\Claude\, macOS: ~/Library/Application Support/Claude/) und starten Sie Claude Desktop neu:
{
"mcpServers": {
"seo-geo": {
"command": "node",
"args": ["C:/pfad/zu/mcp-seo-geo-werkzeuge/dist/index.js"],
"env": {
"GSC_SA_JSON": "C:/pfad/zu/service-account.json",
"GSC_PROPERTY": "sc-domain:example.com",
"INDEXNOW_KEY": "ihr-indexnow-schluessel",
"INDEXNOW_HOST": "www.example.com"
}
}
}
}Beispiel-Prompts
"Welche Seiten stehen fast auf Seite eins? Zeig mir die zehn mit dem größten Potenzial und schlag für die ersten drei konkrete Verbesserungen vor."
"Was waren in den letzten 90 Tagen die Top-Suchanfragen, und bei welchen ist die Klickrate auffällig niedrig?"
"Ist https://www.example.com/neue-seite schon im Google-Index? Wann wurde sie zuletzt gecrawlt?"
"Prüf Title und Meta-Description von https://www.example.com/leistungen und formulier eine Fassung, die in die Längen passt."
"Melde alle URLs aus https://www.example.com/sitemap.xml per IndexNow."
Wichtige Hinweise
Zugangsdaten nie committen. Service-Account-JSON und
.env-Dateien gehören nicht ins Repository. Die mitgelieferte.gitignoreschließt JSON-Dateien außer den Projektdateien aus. Wurde ein Schlüssel versehentlich veröffentlicht, löschen Sie ihn sofort in der Google Cloud Console und erstellen einen neuen.Search-Console-Daten sind 2 bis 3 Tage verzögert. Der Zeitraum endet deshalb automatisch drei Tage vor heute. Neue Seiten tauchen erst nach Indexierung und einigen Tagen in den Leistungsdaten auf.
IndexNow erreicht Google nicht. Für Google bleiben Sitemap und die Search Console der Weg, die URL-Prüfung zeigt den Stand.
Längen sind Zeichen, keine Pixel. Google kürzt pixelbasiert, die Zeichen-Grenzen sind eine sichere Faustregel für Bing und Google.
Autor
André Heiner, KI-Engineer aus Wiesbaden. Ich baue KI-Agenten und Automatisierungen, die im Betrieb laufen, und schule Teams zur KI-Kompetenz nach Artikel 4 der EU-KI-Verordnung.
heiner.io · Termin: heiner.io/termin
Lizenz: MIT
Available Tools
6 toolsgsc_fast_seite_einsSearch Console: fast auf Seite einsARead-only
Findet Suchanfragen in Striking Distance: Kombinationen aus Suchanfrage und Seite auf Position 8 bis 20 mit genügend Impressionen. Sortiert nach Potenzial (geschätzte zusätzliche Klicks bei 10 % Klickrate). Ideal, um zu entscheiden, welche Seiten zuerst überarbeitet werden.
| Name | Required | Description | Default |
|---|---|---|---|
| tage | No | Zeitraum in Tagen bis zum letzten verfügbaren Datentag (Standard 28, maximal 480). | |
| limit | No | Anzahl der Zeilen (Standard 25). | |
| pos_bis | No | Schlechteste Position im Band (Standard 20). | |
| pos_von | No | Beste Position im Band (Standard 8). | |
| property | No | Search-Console-Property, z. B. sc-domain:example.com (Domain-Property) oder https://www.example.com/ (URL-Präfix). Ohne Angabe wird GSC_PROPERTY verwendet. | |
| min_impressionen | No | Mindestanzahl Impressionen, damit eine Zeile zählt (Standard 10). |
gsc_seitenSearch Console: Top-SeitenARead-only
Liefert die Seiten einer Google-Search-Console-Property mit den meisten Klicks, inklusive Impressionen, Klickrate und durchschnittlicher Position.
| Name | Required | Description | Default |
|---|---|---|---|
| tage | No | Zeitraum in Tagen bis zum letzten verfügbaren Datentag (Standard 28, maximal 480). | |
| limit | No | Anzahl der Zeilen (Standard 25). | |
| property | No | Search-Console-Property, z. B. sc-domain:example.com (Domain-Property) oder https://www.example.com/ (URL-Präfix). Ohne Angabe wird GSC_PROPERTY verwendet. |
gsc_suchanfragenSearch Console: Top-SuchanfragenARead-only
Liefert die Top-Suchanfragen einer Google-Search-Console-Property mit Klicks, Impressionen, Klickrate und durchschnittlicher Position, sortiert nach Klicks.
| Name | Required | Description | Default |
|---|---|---|---|
| tage | No | Zeitraum in Tagen bis zum letzten verfügbaren Datentag (Standard 28, maximal 480). | |
| limit | No | Anzahl der Zeilen (Standard 25). | |
| property | No | Search-Console-Property, z. B. sc-domain:example.com (Domain-Property) oder https://www.example.com/ (URL-Präfix). Ohne Angabe wird GSC_PROPERTY verwendet. |
gsc_url_pruefenSearch Console: URL prüfenARead-only
Prüft eine einzelne URL über die URL Inspection API: Indexierungsstatus, Abdeckung, robots.txt, letzter Crawl und von Google gewählte Canonical-URL. Das Dienstkonto braucht in der Property Vollzugriff.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Vollständige URL, die zur Property gehört. | |
| sprache | No | Sprache der Statusmeldungen als BCP-47-Code (Standard de). | de |
| property | No | Search-Console-Property, z. B. sc-domain:example.com (Domain-Property) oder https://www.example.com/ (URL-Präfix). Ohne Angabe wird GSC_PROPERTY verwendet. |
indexnow_meldenIndexNow: URLs meldenAIdempotent
Meldet neue oder geänderte URLs per IndexNow an Bing, Yandex und weitere Suchmaschinen. URLs direkt oder über eine Sitemap übergeben. Schlüssel und Host kommen aus den Parametern oder aus INDEXNOW_KEY und INDEXNOW_HOST. Die Schlüsseldatei muss unter https:///.txt erreichbar sein.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | IndexNow-Schlüssel. Standard: INDEXNOW_KEY. | |
| host | No | Host ohne Protokoll, z. B. www.example.com. Standard: INDEXNOW_HOST oder Host der ersten URL. | |
| urls | No | Liste vollständiger URLs desselben Hosts. | |
| sitemap_url | No | Alternativ oder zusätzlich: URL einer Sitemap (auch Sitemap-Index), deren URLs gemeldet werden. | |
| key_location | No | URL der Schlüsseldatei. Standard: https://<host>/<key>.txt. |
meta_laengen_pruefenTitle und Meta-Description prüfenARead-only
Lädt eine Seite, liest title und meta description und prüft die Längen gegen die strengeren Bing-Grenzen, die auch für Google passen: Title maximal 60 Zeichen, Meta-Description 70 bis 155 Zeichen. Liefert Befund und einen Kürzungshinweis. Braucht keine Zugangsdaten.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Vollständige URL der zu prüfenden Seite. |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v0.1.0- First observed
gsc_fast_seite_eins - First observed
gsc_seiten - First observed
gsc_suchanfragen - First observed
gsc_url_pruefen - First observed
indexnow_melden - First observed
meta_laengen_pruefen
TDQS
Scored across 6 tools
Each tool targets a distinct SEO operation: GSC queries, GSC pages, striking-distance query-page pairs, URL inspection, IndexNow submission, and meta-length checks. Even the two inspection-like tools (URL indexing vs. meta lengths) are clearly separated by description.
All names are lowercase snake_case, but the semantic pattern is mixed: some are noun phrases (gsc_suchanfragen, gsc_seiten), one is an adjective/number phrase (gsc_fast_seite_eins), and others end with a verb (gsc_url_pruefen, indexnow_melden, meta_laengen_pruefen). The set is readable but lacks a predictable verb/noun convention.
Six tools is well within the recommended range and each appears to earn its place for a focused SEO/GSC plus IndexNow workflow. There is no obvious redundancy or bloat.
The surface covers GSC performance analysis, URL inspection, IndexNow submission, and meta checks, but notable gaps remain for a server named seo-geo: no property/site listing, no sitemap submission or validation to Google, no bulk URL inspection, and no GEO-specific or content optimization tools. Agents can do core technical SEO tasks but will hit limits on broader SEO/GEO workflows.
Maintenance
Related MCP Connectors
SEO research, Search Console, GA4 and PPC tools for Claude and ChatGPT.
Google Search Console, Bing, GA4 and SEO reports for Claude, ChatGPT and any MCP client
Keyword research, Google SERPs, backlinks, rank checks and SEO audits in Claude.
Google Search Console, Bing, Yandex and IndexNow for AI assistants, with live SEO analyses.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Claude to access Google Search Console data including search performance, URL indexation, sitemaps, and built-in SEO analysis tools such as trending queries, cannibalization detection, and traffic drop diagnostics.178 npm11MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying Google Search Console data, including search analytics, indexing status, and sitemap management, through natural language conversations with Claude.178 npm6MIT
- AlicenseNot gradedqualityBmaintenanceEnables querying Google Search Console search analytics (clicks, impressions, CTR, position) with flexible dimensions, inspecting URL indexing and mobile usability, and listing verified properties, all via Claude.146 npm2MIT
- AlicenseNot gradedqualityCmaintenanceEnables Claude to query Google Search Console data, including search analytics, sitemaps, URL inspection, and page indexing audits.86 npmMIT