Gsc

io.github.mikusnuzPublished by GitHub account mikusnuzv1.3.6Updated Oct 26, 2026

MCP server for Google Search Console & Indexing API — search analytics, sitemaps, URL inspection

VerifiedSTDIODesktop onlyWeb Search & ScrapingData & Analytics

Overview

AI-generated overview

Local MCP server that gives an assistant Google Search Console and Indexing API access: search analytics, sitemaps, URL inspection and indexing notifications.

What you can do
  • List, get, add and remove Search Console properties
  • List, get, submit and delete sitemaps
  • Query search performance data (clicks, impressions, CTR, position) with filtering, grouping and hourly data
  • Inspect a URL's index status, crawl info, rich results and AMP
  • Send Indexing API notifications for eligible job posting or livestream URLs, including batches of up to 100
When to use it
Useful when you want an assistant to answer questions about a site's search performance, find pages with indexing problems, manage sitemaps, or notify Google about eligible job posting and livestream URLs without leaving the chat.
Requirements
Runs locally via npx as the npm package @mikusnuz/gsc-mcp and needs Node.js 20 or newer. Authentication is either OAuth2 (GSC_CLIENT_ID, GSC_CLIENT_SECRET, GSC_REFRESH_TOKEN with webmasters and indexing scopes) or a service account key file path in GSC_SERVICE_ACCOUNT_KEY_PATH. The Search Console API and Indexing API must be enabled in a Google Cloud project, and the account needs owner or sufficient access to the properties.
Before you install
Requires Google OAuth credentials or a service account private key file, which grant read and write access to your Search Console properties. Several tools change data: adding or removing sites, submitting or deleting sitemaps, and sending indexing notifications. Indexing API calls consume a daily quota (default 200 publish requests per day) and a successful response only confirms receipt, not indexing. Service accounts need delegated owner access for Indexing API tools.

Installation

In SourceWeft

  1. Open Gsc in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

gsc-mcp

[npm version]

English | 한국어

[MCP Badge]

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

TaskTool
"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.txt for a machine-readable summary. Copy templates/CLAUDE.md or templates/AGENTS.md into 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

ToolDescription
sites_listList all sites (properties) in your Search Console
sites_getGet details of a specific site
sites_addAdd a new site (property)
sites_deleteRemove a site

Sitemaps

ToolDescription
sitemaps_listList all submitted sitemaps for a site
sitemaps_getGet details of a specific sitemap
sitemaps_submitSubmit a sitemap
sitemaps_deleteDelete a sitemap

Search Analytics

ToolDescription
search_analytics_queryQuery search performance data (clicks, impressions, CTR, position) with filtering and grouping. Supports hourly data with the hour dimension.

URL Inspection

ToolDescription
url_inspection_inspectInspect a URL's index status, crawl info, rich results, and AMP (the deprecated mobile-usability field may be absent)

Indexing API

ToolDescription
indexing_publishNotify Google about an eligible JobPosting or BroadcastEvent URL update/removal
indexing_get_metadataGet latest notification metadata for an eligible URL (requires contentType; not index status)
indexing_batch_publishBatch notify up to 100 eligible URLs and report every embedded request status

Indexing API eligibility: Google supports this API only for pages with JobPosting structured data or livestream pages with BroadcastEvent embedded in a VideoObject. The tools require contentType so 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. Use url_inspection_inspect to 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

json
{  "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/webmasters
  • https://www.googleapis.com/auth/indexing

Option 2: Service Account

json
{  "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

  1. Go to Google Cloud Console
  2. Create a project (or select existing)
  3. Enable Search Console API and Indexing API
  4. Create OAuth 2.0 credentials (Desktop app type)
  5. Use the OAuth Playground to generate a refresh token with scopes:
    • https://www.googleapis.com/auth/webmasters
    • https://www.googleapis.com/auth/indexing

Service Account Setup

  1. Go to Google Cloud Console
  2. Create a service account
  3. Download the JSON key file
  4. Enable Search Console API and Indexing API
  5. In Search Console, add the service account email as an owner for your sites

License

MIT

Source: README.md at commit 16a3f5a

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

3
  1. v1.3.6LatestOct 19, 2026
  2. v1.3.4Oct 8, 2026
  3. v1.3.1Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts