A Model Context Protocol (MCP) server providing access to Google Search Console.
- Search analytics data retrieval with dimensions support
- Rich data analysis with customizable reporting periods
- Node.js 18 or later
- Google Cloud Project with Search Console API enabled
- Service Account credentials with Search Console access
To install Google Search Console for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install mcp-server-gsc --client claude
npm install mcp-server-gsc
To obtain Google Search Console API credentials:
- Visit the Google Cloud Console
- Create a new project or select an existing one
- Enable the API:
- Go to "APIs & Services" > "Library"
- Search for and enable "Search Console API"
- Create credentials:
- Navigate to "APIs & Services" > "Credentials"
- Click "Create Credentials" > "Service Account"
- Fill in the service account details
- Create a new key in JSON format
- The credentials file (.json) will download automatically
- Grant access:
- Open Search Console
- Add the service account email (format: [email protected]) as a property administrator
{
"mcpServers": {
"gsc": {
"command": "npx",
"args": ["-y", "mcp-server-gsc"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/credentials.json"
}
}
}
}
Get search performance data from Google Search Console with customizable parameters:
Required Parameters:
siteUrl
: Site URL (format:http://www.example.com/
orsc-domain:example.com
)startDate
: Start date (YYYY-MM-DD)endDate
: End date (YYYY-MM-DD)
Optional Parameters:
dimensions
: Comma-separated list (query,page,country,device,searchAppearance
)type
: Search type (web
,image
,video
,news
)aggregationType
: Aggregation method (auto
,byNewsShowcasePanel
,byProperty
,byPage
)rowLimit
: Maximum rows to return (default: 1000)
New Filter Parameters:
pageFilter
: Filter results by a specific page URL.queryFilter
: Filter results by a specific query string.countryFilter
: Filter by a country using ISO 3166-1 alpha-3 code (e.g.,USA
,CHN
).deviceFilter
: Filter by device type (DESKTOP
,MOBILE
,TABLET
).filterOperator
: The operator forpageFilter
andqueryFilter
. Can beequals
,contains
,notEquals
, ornotContains
. Defaults toequals
.
Example with Filters:
{
"siteUrl": "https://example.com",
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"dimensions": "page,query",
"queryFilter": "ai assistant",
"filterOperator": "contains",
"deviceFilter": "MOBILE"
}
MIT
Contributions are welcome! Please read our contributing guidelines before submitting pull requests.