Skip to main content
Glama

gsc-mcp

En MCP-koppling som ger Claude (Claude Code, Claude Desktop) läsåtkomst till Google Search Console: sökdata, indexeringsstatus för enskilda sidor och sitemaps. Kopplingen körs lokalt på din egen dator och kan inte ändra något på sajten eller i Search Console.

Exempel på frågor när den är kopplad:

Ursprung

Byggd på sarahpark/google-search-console-mcp, version 1.1.0 (commit 88af746, MIT-licens, se LICENSE). Koden är granskad rad för rad. Historiken från originalet finns kvar i repot.

Ändringar mot originalet:

  • Egen inloggning i webbläsaren (npm run login) med teamets egen inloggningsklient. Ingen Google Cloud CLI och ingen roll i Google Cloud-projektet behövs för den som använder kopplingen.

  • Lista över tillåtna sajter (GSC_ALLOWED_SITES). Är den satt syns och nås bara de sajterna, oavsett vad inloggningen har åtkomst till.

  • Låsta versioner. Alla beroenden är låsta till exakta versioner i package-lock.json och uppgraderade så att npm audit inte hittar några kända sårbarheter (googleapis 188, zod 4).

  • Inget npm-paket. Kopplingen körs från den här koden, inte från npm, så ingen uppdatering kommer in utan att någon har granskat den.

  • Tester för inloggningen och listan över tillåtna sajter, och testerna anpassade till nyare Google-bibliotek.

Related MCP server: Google Search Console MCP Server

Säkerhet i korthet

  • Kopplingen ber Google om behörigheten webmasters.readonly. Google nekar alltså alla försök att ändra något, även om koden skulle försöka.

  • Den har fyra verktyg, alla läsande: list_sites, search_analytics, inspect_url, list_sitemaps.

  • Den pratar bara med Googles API (googleapis.com). Ingen statistik eller data skickas någon annanstans. Inloggningen tar emot Googles svar på din egen dator (127.0.0.1) och nås inte utifrån.

  • Inloggningen sparas i ~/.gsc-mcp/token.json på din dator. Den ger läsåtkomst till dina Search Console-sajter, så behandla filen som ett lösenord.

  • Tre beroenden: MCP-paketet, Googles API-bibliotek och zod.

  • Search Console-data om kunders sajter hamnar i Claude-konversationen. Följ det som gäller för kunddata i AI-verktyg.

Uppsättning för dig som ska använda kopplingen

Du behöver Node.js 20 eller senare, git, åtkomst till minst en egendom i Search Console och klientfilen (client.json) som du fått av den som administrerar kopplingen.

Enklast: be Claude göra det. Klistra in:

Klona https://github.com/jonathan-holmqvist/gsc-mcp och sätt upp kopplingen enligt README, avsnittet "Uppsättning för dig som ska använda kopplingen". Klientfilen ligger här: [sökväg till client.json].

Claude gör stegen nedan. Du behöver bara välja ditt jobbkonto i webbläsaren och godkänna (steg 3).

1. Hämta och bygg

git clone https://github.com/jonathan-holmqvist/gsc-mcp.git
cd gsc-mcp && npm ci && npm run build && npm test

npm ci installerar exakt de låsta versionerna. Testerna körs utan nät och utan riktiga inloggningsuppgifter.

2. Lägg klientfilen på plats

Kopiera client.json till mappen .gsc-mcp i din hemkatalog:

  • Mac: ~/.gsc-mcp/client.json

  • Windows: C:\Users\<ditt namn>\.gsc-mcp\client.json

Lägg den aldrig i repot.

3. Logga in (en gång)

npm run login

Webbläsaren öppnas. Välj ditt jobbkonto och godkänn läsåtkomsten. När sidan säger "Klart" är du inloggad. Kopplingen ser samma sajter som du ser i Search Console med det kontot.

Är appen satt som External visar Google först en varning om att appen inte är verifierad: klicka Avancerat och sedan Fortsätt till gsc-mcp. Är den satt som Internal kan bara konton i samma organisation logga in, och ingen varning visas.

4. Koppla in i Claude Code

Byt sökvägen mot var du klonade repot. Utelämna --env-raden om du vill nå alla dina sajter.

claude mcp add gsc --scope user --env "GSC_ALLOWED_SITES=sc-domain:example.com,https://shop.example.com/" -- node "/full/sökväg/till/gsc-mcp/build/index.js"

Sajterna i GSC_ALLOWED_SITES skrivs exakt som i Search Console, kommaseparerade.

Lägg till i claude_desktop_config.json, inuti det befintliga mcpServers:

{
  "mcpServers": {
    "gsc": {
      "command": "node",
      "args": ["/full/sökväg/till/gsc-mcp/build/index.js"],
      "env": {
        "GSC_ALLOWED_SITES": "sc-domain:example.com"
      }
    }
  }
}

5. Kontrollera

Starta om Claude och fråga:

Använd gsc och lista mina Search Console-egendomar.

Använd sedan egendomen exakt som den listas (till exempel sc-domain:example.com) i följande frågor.

Uppsättning för den som administrerar (en gång)

Görs av en person, som sedan delar klientfilen med användarna.

  1. Skapa ett projekt i Google Cloud Console. Använd ett eget projekt för den här kopplingen, inte ett som andra kopplingar redan använder. Lägg till en kollega som andra ägare (IAM, rollen Owner) så att projektet inte hänger på ett enda konto.

  2. Slå på Search Console API i projektet. API:t är gratis och kräver ingen betalning.

  3. Inloggningsskärmen (Google Auth Platform → Branding / Audience):

    • Appnamn gsc-mcp, din mejl som support- och kontaktadress.

    • Målgrupp: Internal om projektet ligger under en organisation. Annars External, och tryck sedan Publish app så att den ligger i produktion. I testläge måste varje användare läggas till som testanvändare och logga in igen var sjunde dag.

    • Data access: lägg till behörigheten https://www.googleapis.com/auth/webmasters.readonly.

    • Skicka inte appen på Googles granskning. Utan granskning visar Google en varning vid inloggning, och högst 100 personer kan använda den. Det räcker internt.

  4. Skapa klienten (Google Auth Platform → Clients → Create client): typ Desktop app, namn gsc-mcp. Ladda ner JSON-filen och döp om den till client.json.

  5. Dela client.json med användarna via Drive eller Slack, aldrig i repot. Filen räknas inte som en riktig hemlighet hos Google (den kan inte ensam ge åtkomst till någons data), men den ska inte vara öppen.

Utan client.json faller kopplingen tillbaka på Googles vanliga inloggning:

  • gcloud: gcloud auth application-default login --scopes=https://www.googleapis.com/auth/webmasters.readonly,https://www.googleapis.com/auth/cloud-platform, följt av gcloud auth application-default set-quota-project PROJEKT_ID. Kräver rollen Service Usage Consumer i projektet.

  • Tjänstekonto: skapa ett tjänstekonto och en JSON-nyckel i projektet, lägg till tjänstekontots mejl med Begränsad behörighet på varje Search Console-egendom, och lägg till --env "GOOGLE_APPLICATION_CREDENTIALS=/full/sökväg/till/nyckel.json" i kommandot i steg 4. Nyckeln ger åtkomst till allt kontot är tillagt på. Är GOOGLE_APPLICATION_CREDENTIALS satt används den före client.json.

Verktyg

Verktyg

Gör

list_sites

Listar egendomarna du har åtkomst till (filtrerat av GSC_ALLOWED_SITES).

search_analytics

Klick, visningar, CTR och position, uppdelat på query, page, country, device, searchAppearance, date. Filter på sökord, sida (även regex), land och enhet. Upp till 25 000 rader.

inspect_url

Indexeringsstatus, senaste genomsökning, robots.txt och mobilanpassning för en URL.

list_sitemaps

Inskickade sitemaps med fel och varningar.

Inställningar

Variabel

Gör

GSC_ALLOWED_SITES

Kommaseparerad lista över sajter kopplingen får nå. Tom betyder alla dina sajter.

GSC_CONFIG_DIR

Mappen för client.json och token.json. Standard ~/.gsc-mcp.

GSC_OAUTH_CLIENT_FILE

Annan sökväg till klientfilen än GSC_CONFIG_DIR/client.json.

GOOGLE_APPLICATION_CREDENTIALS

Nyckelfil för tjänstekonto. Används före klientfilen om den är satt.

Begränsningar

  • Högst 25 000 rader per anrop, utan sidvisning.

  • Search Console visar data 16 månader bakåt, med 2-3 dygns fördröjning, och döljer ovanliga sökord av integritetsskäl.

  • URL-kontroll tar en sida åt gången (Google tillåter cirka 2 000 per dag och egendom).

Uppdatera från originalet

Originalet är inte kopplat automatiskt. För att se vad som ändrats där:

git remote add upstream https://github.com/sarahpark/google-search-console-mcp.git && git fetch upstream && git diff 88af746 upstream/main -- src package.json

Granska ändringarna innan något tas in. Kör npm audit och npm test efter varje uppdatering.

Felsökning

  • "Not signed in to Google": kör npm run login i mappen gsc-mcp och starta om Claude.

  • Inloggningen säger "access_denied" eller "app blocked": appen är i testläge och ditt konto är inte testanvändare, eller behörigheten saknas på inloggningsskärmen. Be den som administrerar kontrollera steg 3.

  • "invalid_grant" efter en tid: inloggningen har gått ut eller dragits tillbaka. Kör npm run login igen.

  • Inga egendomar visas: kontrollera att kontot har åtkomst i Search Console och att GSC_ALLOWED_SITES är skriven exakt som egendomen.

  • "is not in GSC_ALLOWED_SITES": sajten finns inte i listan. Lägg till den i kopplingens inställning och starta om Claude.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides read-only access to Google Search Console data, allowing AI assistants to query site performance metrics like keywords, clicks, and rankings using natural language. It supports listing verified properties, querying search analytics with dimension filters, and retrieving sitemap information.
    3
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides 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.
    4
    92 npm
    9
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    189 npm
    11
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables querying Google Search Console data, including search analytics, indexing status, and sitemap management, through natural language conversations with Claude.
    189 npm
    6
    MIT