I wanted to analyze Google Search Console data without jumping between GSC, spreadsheets, and my codebase.
So I connected GSC to Claude Code using Amin Forou's open-source mcp-gsc server.
Now I can ask: Which high-impression queries are close to page one? Which ranking pages have low CTR? Are multiple pages competing for the same keyword? Which important URLs have indexing problems?
Claude retrieves the relevant data, analyzes it alongside my code, and helps me decide what to change.
The MCP server converts Search Console operations into tools Claude can call. It supports performance analysis, URL inspection, sitemap management, period comparisons, and property discovery.
I used OAuth so the server could access the same GSC properties as my Google account. Create the Google Cloud test app
Then: Go to APIs & Services → Library. Find and enable the Google Search Console API. Open Google Auth Platform. Configure the app name and support email under Branding. Set the audience to External and keep the app in Testing. Add your Google account under Test users.
The authorized Google account must already have access to the Search Console property.
This is the read/write Search Console scope. Destructive mcp-gsc operations remain disabled unless GSCALLOWDESTRUCTIVE=true is explicitly set.
Important: for an external app in Testing, Google normally expires the authorization and refresh token after seven days. If authentication suddenly stops, run the reauthentication tool and approve access again. Download the OAuth client
In Google Auth Platform → Clients: Create an OAuth client. Select Desktop app. Download the JSON file. Store it in a permanent private location.
The simplest method uses uvx, which runs the package in an isolated Python environment.
Keep the full path returned by which uvx. Claude Code may not inherit your terminal's PATH, so using only uvx can cause a spawn uvx ENOENT error. Connect it to Claude Code
I used user scope so the integration was available across my local projects without committing credential paths to a repository.
The first request opens Google's OAuth flow in your browser. Sign in with the test-user account and approve access.
The protocol, hostname, and trailing slash must match exactly for URL-prefix properties.
The server exposes tools including: getperformanceoverview getsearchanalytics getadvancedsearchanalytics comparesearchperiods getsearchbypagequery inspecturlenhanced batchurlinspection checkindexingissues listsitemapsenhanced reauthenticate
For recent dashboard-like data, keep the default GSCDATASTATE=all. For stable reporting with a short delay, use GSCDATASTATE=final.
