About gsc
gsc is an MCP server for Google Search Console and Google Indexing APIs, aimed at site owners and agents working with search data. It covers API operations for properties, sitemaps, analytics, URL inspection, and eligible indexing notifications.
Key features
- 01List and manage Search Console sites
- 02List, inspect, submit, and delete sitemaps
- 03Query clicks, impressions, CTR, and position
- 04Inspect URL indexing and crawl details
- 05Publish eligible URLs individually or in batches
Use cases
- 01Review site search performance by query or device
- 02Find indexing or crawl issues on a page
- 03Submit a sitemap to Google
- 04Notify Google of eligible job or livestream URL changes
MCP support
Exposes Google Search Console and Indexing API operations as MCP tools, including site and sitemap management, analytics queries, URL inspection, and indexing notifications. Authentication supports OAuth2 refresh tokens or a service account.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @mikusnuz/gsc-mcpGSC_CLIENT_IDSecretGoogle OAuth2 Client IDGSC_CLIENT_SECRETSecretGoogle OAuth2 Client SecretGSC_REFRESH_TOKENSecretGoogle OAuth2 Refresh TokenGSC_SERVICE_ACCOUNT_KEY_PATHSecretPath to Google service account JSON key fileLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
13Saved tool list · updated 1w ago
This tool takes no parameters.
Details
From the project READMEgsc-mcp
MCP server for Google Search Console API and Google Indexing API — full API coverage.
Requires Node.js 20 or newer, matching the MCP SDK's installed runtime dependencies.
When to Use
| Task | Tool |
|---|---|
| "Check which queries my site ranks for" | search_analytics_query |
| "Notify Google about an eligible job posting or livestream URL" | indexing_publish |
| "Find pages with indexing errors" | url_inspection_inspect |
| "Get search performance data for the last 30 days" | search_analytics_query |
| "Compare click-through rates between mobile and desktop" | search_analytics_query (group by device) |
| "Submit my sitemap to Google" | sitemaps_submit |
| "Batch notify eligible job posting/livestream URLs" | indexing_batch_publish |
For AI agents: See
llms.txtfor a machine-readable summary. Copytemplates/CLAUDE.mdortemplates/AGENTS.mdinto your project to teach your agent about this MCP.
Unlike other GSC MCP servers that only wrap searchAnalytics.query, this server exposes every endpoint available in the Google Search Console and Indexing APIs.
Tools (13)
Sites
| Tool | Description |
|---|---|
sites_list | List all sites (properties) in your Search Console |
sites_get | Get details of a specific site |
sites_add | Add a new site (property) |
sites_delete | Remove a site |
Sitemaps
| Tool | Description |
|---|---|
sitemaps_list | List all submitted sitemaps for a site |
sitemaps_get | Get details of a specific sitemap |
sitemaps_submit | Submit a sitemap |
sitemaps_delete | Delete a sitemap |
Search Analytics
| Tool | Description |
|---|---|
search_analytics_query | Query search performance data (clicks, impressions, CTR, position) with filtering and grouping. Supports hourly data with the hour dimension. |
URL Inspection
| Tool | Description |
|---|---|
url_inspection_inspect | Inspect a URL's index status, crawl info, rich results, and AMP (the deprecated mobile-usability field may be absent) |
Indexing API
| Tool | Description |
|---|---|
indexing_publish | Notify Google about an eligible JobPosting or BroadcastEvent URL update/removal |
indexing_get_metadata | Get latest notification metadata for an eligible URL (requires contentType; not index status) |
indexing_batch_publish | Batch notify up to 100 eligible URLs and report every embedded request status |
Indexing API eligibility: Google supports this API only for pages with
JobPostingstructured data or livestream pages withBroadcastEventembedded in aVideoObject. The tools requirecontentTypeso callers must identify which supported type applies. A successful API response confirms receipt of the notification; it does not guarantee that Google indexed the URL. Useurl_inspection_inspectto check index status. See Google's Indexing API usage guide.
Indexing API quotas
Google's default per-project limits are 200 publish requests per day, 180 metadata requests per minute, and 380 requests per minute across endpoints. The daily limit resets at midnight Pacific Time. A batch of 100 URLs still consumes 100 requests; batching reduces connections, not quota usage. Check your project's actual quota before sending notifications. See the official quota reference.
Authentication
Two authentication methods are supported:
Option 1: OAuth2 Refresh Token
{
"mcpServers": {
"gsc-mcp": {
"command": "npx",
"args": ["-y", "@mikusnuz/gsc-mcp"],
"env": {
"GSC_CLIENT_ID": "your-client-id",
"GSC_CLIENT_SECRET": "your-client-secret",
"GSC_REFRESH_TOKEN": "your-refresh-token"
}
}
}
}
Required OAuth2 scopes:
https://www.googleapis.com/auth/webmastershttps://www.googleapis.com/auth/indexing
Option 2: Service Account
{
"mcpServers": {
"gsc-mcp": {
"command": "npx",
"args": ["-y", "@mikusnuz/gsc-mcp"],
"env": {
"GSC_SERVICE_ACCOUNT_KEY_PATH": "/path/to/service-account-key.json"
}
}
}
}
For Search Console read/write tools, add the service account as an owner or user with sufficient permission. For Indexing API tools, Google requires the service account to be added as a delegated owner of the property; user-level access is not sufficient.
Setup Guide
OAuth2 Setup
- Go to Google Cloud Console
- Create a project (or select existing)
- Enable Search Console API and Indexing API
- Create OAuth 2.0 credentials (Desktop app type)
- Use the OAuth Playground to generate a refresh token with scopes:
https://www.googleapis.com/auth/webmastershttps://www.googleapis.com/auth/indexing
Service Account Setup
- Go to Google Cloud Console
- Create a service account
- Download the JSON key file
- Enable Search Console API and Indexing API
- In Search Console, add the service account email as an owner for your sites
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.