Connects Claude to Google Search Console via a service account. Exposes read-only access to search analytics (clicks, impressions, CTR, position) with filtering by query, page, country, device, and date range. Also includes URL inspection for indexing status and mobile usability checks, plus sitemap verification. Useful when you're debugging SEO issues, tracking keyword performance trends, or want Claude to spot high-impression, low-click opportunities without switching to the web console. Requires setting up a service account in Google Cloud and adding it as a restricted user to each Search Console property you want to query.
A Model Context Protocol (MCP) server that gives AI agents direct access to your Google Search Console data.
Read-only access — this server cannot submit URLs, modify settings, or make any changes to your Search Console properties.
[!IMPORTANT] This server uses service account authentication. The service account must be added as a user on each Search Console property you want to access.
list_sitesList all sites (properties) you have access to in Google Search Console.
No parameters required.
search_analyticsQuery search analytics data — clicks, impressions, CTR, and position.
| Parameter | Type | Required | Description |
|---|---|---|---|
siteUrl | string | Yes | Site URL as it appears in Search Console (e.g. https://example.com/ or sc-domain:example.com) |
startDate | string | Yes | Start date in YYYY-MM-DD format |
endDate | string | Yes | End date in YYYY-MM-DD format |
dimensions | string | No | Comma-separated: query, page, country, device, searchAppearance, date |
rowLimit | number | No | Max rows to return (default 100, max 25000) |
searchType | string | No | web, image, video, news, discover, or googleNews (default web) |
queryFilter | string | No | Filter by query. Prefix with regex: for regex matching |
pageFilter | string | No | Filter by page URL. Prefix with regex: for regex matching |
countryFilter | string | No | ISO 3166-1 alpha-3 country code (e.g. USA, GBR) |
deviceFilter | string | No | DESKTOP, MOBILE, or TABLET |
inspect_urlCheck indexing status, crawl info, and mobile usability for a URL.
| Parameter | Type | Required | Description |
|---|---|---|---|
siteUrl | string | Yes | Site URL as it appears in Search Console |
inspectionUrl | string | Yes | The full URL to inspect (must belong to the site) |
list_sitemapsList all submitted sitemaps and their status for a site.
| Parameter | Type | Required | Description |
|---|---|---|---|
siteUrl | string | Yes | Site URL as it appears in Search Console |
Already have your service account key? Paste this prompt into Claude Code or Claude Desktop and it will configure everything for you:
Clone and build the Google Search Console MCP server from https://github.com/sarahpark/google-search-console-mcp, then add it to my global MCP config. My service account key is at
/path/to/service-account-key.json. After setup, calllist_sitesto verify it works.
Replace the key path with your actual file location.
git clone https://github.com/sarahpark/google-search-console-mcp.git
cd google-search-console-mcp
npm install
npm run build
.json key file will download — save it somewhere safe (e.g. ~/.config/gcloud/service-account-key.json)[!CAUTION] Treat this key file like a secret key. Do not save it inside your project repo or commit it to git. Store it outside your project directory and reference it by absolute path in your MCP config.
name@project-id.iam.gserviceaccount.com — you can find it on the service account details page)Add to your claude_desktop_config.json:
{
"mcpServers": {
"gsc": {
"command": "node",
"args": ["/absolute/path/to/google-search-console-mcp/build/index.js"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
}
}
}
}
Add to the "mcpServers" object in ~/.claude.json:
{
"mcpServers": {
"gsc": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/google-search-console-mcp/build/index.js"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
}
}
}
}
Once configured, ask Claude naturally:
MIT
GOOGLE_APPLICATION_CREDENTIALS*secretPath to Google service account JSON key file
com.mcparmory/google-search
io.github.pipeworx-io/brave-search
marcopesani/mcp-server-serper
brave/brave-search-mcp-server
com.mcparmory/google-search-console
acamolese/google-search-console-mcp