mcp-server-google-search-console
mcp-server-google-search-console
Community-built MCP server for the Google Search Console API. Provides search analytics, performance summaries, URL inspection, sitemap management, and property listing through the Model Context Protocol.
Features
9 tools covering search analytics, performance summaries, URL inspection, sitemap management, and property listing
3 prompts for guided multi-step SEO workflows
2 resources for automatic property and sitemap discovery
Service Account & OAuth — choose headless or interactive authentication
Read-only by default — write tools are only registered when write scope is configured
Safety gates —
delete_sitemaprequires explicitconfirm: trueMinimal dependencies — only
@modelcontextprotocol/sdkandzod
Quick Start
1. Set Up Credentials
Service Account (recommended for servers & CI):
Go to Google Cloud Console
Create or select a project
Enable the Google Search Console API
Create a Service Account and download the JSON key file
In Google Search Console, add the service account email as a user to your properties
OAuth (recommended for personal use):
In Google Cloud Console, create OAuth 2.0 Client ID (type: Desktop app)
Download the client credentials JSON
Set
GSC_OAUTH_CLIENT_FILE— the server will open a browser for consent on first runTokens are cached at
~/.config/gsc-mcp/oauth-token.json(orGSC_OAUTH_TOKEN_FILE)
2. Configure Your Client
claude mcp add google-search-console \
-e GSC_SERVICE_ACCOUNT_KEY_FILE=/path/to/service-account-key.json \
-- npx -y mcp-server-google-search-consoleOr add to .mcp.json manually:
{
"mcpServers": {
"google-search-console": {
"command": "npx",
"args": ["-y", "mcp-server-google-search-console"],
"env": {
"GSC_SERVICE_ACCOUNT_KEY_FILE": "/path/to/service-account-key.json"
}
}
}
}Add to claude_desktop_config.json:
{
"mcpServers": {
"google-search-console": {
"command": "npx",
"args": ["-y", "mcp-server-google-search-console"],
"env": {
"GSC_SERVICE_ACCOUNT_KEY_FILE": "/path/to/service-account-key.json"
}
}
}
}Add to .cursor/mcp.json:
{
"mcpServers": {
"google-search-console": {
"command": "npx",
"args": ["-y", "mcp-server-google-search-console"],
"env": {
"GSC_SERVICE_ACCOUNT_KEY_FILE": "/path/to/service-account-key.json"
}
}
}
}Add to .vscode/mcp.json:
{
"servers": {
"google-search-console": {
"command": "npx",
"args": ["-y", "mcp-server-google-search-console"],
"env": {
"GSC_SERVICE_ACCOUNT_KEY_FILE": "/path/to/service-account-key.json"
}
}
}
}docker build -t gsc-mcp .{
"mcpServers": {
"google-search-console": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "GSC_SERVICE_ACCOUNT_KEY_FILE=/key.json",
"-v", "/path/to/service-account-key.json:/key.json:ro",
"gsc-mcp"
]
}
}
}Tools
Always available (read-only scope)
Tool | Description |
| List all GSC properties accessible by the current credentials |
| Get details for a specific property (permission level, verification) |
| Query search performance data with dimensions, filters, date ranges, and comparison mode |
| Quick performance overview: current vs previous period metrics, deltas, and top 10 queries in a single call |
| Check a URL's indexing status, mobile usability, and rich results |
| Inspect multiple URLs concurrently (up to 20) with a single call |
| List all sitemaps for a property with aggregated health summary |
Write scope required
These tools are only registered when GSC_SCOPES includes the full write scope. They do not appear in the tool list otherwise.
Tool | Description |
| Submit a sitemap to Google |
| Delete a sitemap (requires |
Prompts
Guided multi-step SEO workflows that guide LLMs through structured analysis.
Prompt | Parameters | Description |
|
| 5-step analysis: Top Queries → Top Pages → Device Split → Country Split → Trends. Produces a structured report with actionable insights. |
|
| Batch URL inspection with structured coverage report — flags indexing issues, canonical mismatches, and mobile problems. |
|
| Full-funnel analysis: Low-Hanging Fruit (positions 5–20), Keyword Cannibalization detection, and Trending queries via comparison mode. |
Resources
URI | Description |
| Auto-discovery of all GSC properties accessible with current credentials. Enables LLMs to discover available sites without calling |
| Sitemaps for a specific property (e.g. |
Environment Variables
Variable | Required | Description |
| * | Path to service account JSON key file |
| * | Inline service account JSON (alternative to file) |
| * | Path to OAuth client credentials JSON (Desktop app type) |
| No | Custom path for cached OAuth tokens (default: |
| No | OAuth scope. Default: |
* Auth priority: OAuth (GSC_OAUTH_CLIENT_FILE) > Service Account (GSC_SERVICE_ACCOUNT_KEY_FILE or GSC_SERVICE_ACCOUNT_KEY). At least one must be configured.
Development
npm install # Install dependencies
npm run build # Build
npm run dev # Watch mode
npm test # Run testsLicense
Note: This is an unofficial community project. It is not affiliated with or endorsed by Google.
Built by Tobias Hein at artaxo — a digital marketing agency specializing in AI Search Optimization.