{
  "markdown": "# gsc-mcp\n\n[![npm version](https://img.shields.io/npm/v/@mikusnuz%2Fgsc-mcp)](https://www.npmjs.com/package/@mikusnuz/gsc-mcp)\n\n[English](README.md) | [한국어](README.ko.md)\n\n[![MCP Badge](https://lobehub.com/badge/mcp/mikusnuz-gsc-mcp)](https://lobehub.com/mcp/mikusnuz-gsc-mcp)\n\nMCP server for **Google Search Console API** and **Google Indexing API** — full API coverage.\n\n## When to Use\n\n| Task | Tool |\n|------|------|\n| \"Check which queries my site ranks for\" | `search_analytics_query` |\n| \"Notify Google about an eligible job posting or livestream URL\" | `indexing_publish` |\n| \"Find pages with indexing errors\" | `url_inspection_inspect` |\n| \"Get search performance data for the last 30 days\" | `search_analytics_query` |\n| \"Compare click-through rates between mobile and desktop\" | `search_analytics_query` (group by `device`) |\n| \"Submit my sitemap to Google\" | `sitemaps_submit` |\n| \"Batch notify eligible job posting/livestream URLs\" | `indexing_batch_publish` |\n\n> **For AI agents:** See [`llms.txt`](llms.txt) for a machine-readable summary. Copy [`templates/CLAUDE.md`](templates/CLAUDE.md) or [`templates/AGENTS.md`](templates/AGENTS.md) into your project to teach your agent about this MCP.\n\nUnlike other GSC MCP servers that only wrap `searchAnalytics.query`, this server exposes **every endpoint** available in the Google Search Console and Indexing APIs.\n\n## Tools (13)\n\n### Sites\n| Tool | Description |\n|------|-------------|\n| `sites_list` | List all sites (properties) in your Search Console |\n| `sites_get` | Get details of a specific site |\n| `sites_add` | Add a new site (property) |\n| `sites_delete` | Remove a site |\n\n### Sitemaps\n| Tool | Description |\n|------|-------------|\n| `sitemaps_list` | List all submitted sitemaps for a site |\n| `sitemaps_get` | Get details of a specific sitemap |\n| `sitemaps_submit` | Submit a sitemap |\n| `sitemaps_delete` | Delete a sitemap |\n\n### Search Analytics\n| Tool | Description |\n|------|-------------|\n| `search_analytics_query` | Query search performance data (clicks, impressions, CTR, position) with filtering and grouping. Supports hourly data with the `hour` dimension. |\n\n### URL Inspection\n| Tool | Description |\n|------|-------------|\n| `url_inspection_inspect` | Inspect a URL's index status, crawl info, rich results, and AMP (the deprecated mobile-usability field may be absent) |\n\n### Indexing API\n| Tool | Description |\n|------|-------------|\n| `indexing_publish` | Notify Google about an eligible `JobPosting` or `BroadcastEvent` URL update/removal |\n| `indexing_get_metadata` | Get latest notification metadata for an eligible URL (requires `contentType`; not index status) |\n| `indexing_batch_publish` | Batch notify up to 100 eligible URLs and report every embedded request status |\n\n> **Indexing API eligibility:** Google supports this API only for pages with\n> `JobPosting` structured data or livestream pages with `BroadcastEvent`\n> embedded in a `VideoObject`. The tools require `contentType` so callers must\n> identify which supported type applies. A successful API response confirms\n> receipt of the notification; it does not guarantee that Google indexed the\n> URL. Use `url_inspection_inspect` to check index status. See Google's\n> [Indexing API usage guide](https://developers.google.com/search/apis/indexing-api/v3/using-api).\n\n## Authentication\n\nTwo authentication methods are supported:\n\n### Option 1: OAuth2 Refresh Token\n\n```json\n{\n  \"mcpServers\": {\n    \"gsc-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@mikusnuz/gsc-mcp\"],\n      \"env\": {\n        \"GSC_CLIENT_ID\": \"your-client-id\",\n        \"GSC_CLIENT_SECRET\": \"your-client-secret\",\n        \"GSC_REFRESH_TOKEN\": \"your-refresh-token\"\n      }\n    }\n  }\n}\n```\n\nRequired OAuth2 scopes:\n- `https://www.googleapis.com/auth/webmasters`\n- `https://www.googleapis.com/auth/indexing`\n\n### Option 2: Service Account\n\n```json\n{\n  \"mcpServers\": {\n    \"gsc-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@mikusnuz/gsc-mcp\"],\n      \"env\": {\n        \"GSC_SERVICE_ACCOUNT_KEY_PATH\": \"/path/to/service-account-key.json\"\n      }\n    }\n  }\n}\n```\n\nFor Search Console read/write tools, add the service account as an owner or user\nwith sufficient permission. For **Indexing API** tools, Google requires the\nservice account to be added as a **delegated owner** of the property; user-level\naccess is not sufficient.\n\n## Setup Guide\n\n### OAuth2 Setup\n\n1. Go to [Google Cloud Console](https://console.cloud.google.com/)\n2. Create a project (or select existing)\n3. Enable **Search Console API** and **Indexing API**\n4. Create OAuth 2.0 credentials (Desktop app type)\n5. Use the [OAuth Playground](https://developers.google.com/oauthplayground/) to generate a refresh token with scopes:\n   - `https://www.googleapis.com/auth/webmasters`\n   - `https://www.googleapis.com/auth/indexing`\n\n### Service Account Setup\n\n1. Go to [Google Cloud Console](https://console.cloud.google.com/)\n2. Create a service account\n3. Download the JSON key file\n4. Enable **Search Console API** and **Indexing API**\n5. In Search Console, add the service account email as an owner for your sites\n\n## License\n\nMIT\n",
  "bytes": 5124,
  "sha": "27521dd924ffee00ffb61ab445bb36bc464e7ec7b74fa26cde5e5c3394448b45",
  "repo_slug": "mikusnuz/gsc-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_mikusnuz_gsc_3d5fce6e/readme"
}