io.github.pijusz/mcp-gsc

Registre officiel Recherche et web

Google Search Console MCP server — query performance, sitemaps, indexing & more

Que pouvez-vous faire avec io.github.pijusz/mcp-gsc ?

  • Content gap analysis (requires competitor data integration)
  • Core Web Vitals integration (via PageSpeed Insights API)
  • Multi-property comparison
  • Search appearance deep analysis
  • Integration with Google Analytics for conversion data
  • Automated reporting schedules

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package mcp-gsc
Claude Code
claude mcp add mcp-gsc -- npx -y mcp-gsc@0.1.7
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "mcp-gsc": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-gsc@0.1.7"
            ]
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. mcp-gsc
  2. Quick Start
  3. Tools (25)
  4. Configuration
  5. Examples
  6. Future Tool Ideas
  7. Updates
  8. Development
  9. License

mcp-gsc

Google Search Console MCP server — query search analytics, inspect URLs, manage sitemaps & more via natural language.

Built with Bun + TypeScript. Works with Claude, Cursor, and any MCP client.


Quick Start

1. Get Credentials

You need OAuth client credentials from Google Cloud Console.

  1. Go to Google Cloud Console
  2. Create a project (or select existing)
  3. Enable the Google Search Console API:
    • APIs & Services → Library → search "Google Search Console API" → Enable
  4. Configure OAuth consent screen (if not done):
    • APIs & Services → OAuth consent screen → External
    • Fill in app name + your email, add scope https://www.googleapis.com/auth/webmasters
  5. Create credentials:
    • APIs & Services → Credentials → Create Credentials → OAuth client ID
    • Application type: Desktop app (allows localhost redirects automatically)
    • Download the JSON file
  6. Set the credentials path:
export GOOGLE_GSC_CREDENTIALS_PATH=/path/to/credentials.json
  1. Run setup to authorize:
npx mcp-gsc setup

This opens your browser for OAuth consent, saves a refresh token, verifies access to your GSC properties, and prints config snippets for your MCP client.

2. Add to Claude Code
claude mcp add gsc --scope user --transport stdio \
  -e GOOGLE_GSC_CREDENTIALS_PATH=/path/to/credentials.json \
  -- npx -y mcp-gsc@latest

That's it. Restart Claude Code and the tools are available.

Also works with bunx mcp-gsc@latest if you have Bun. Requires Node 22+ when running via npx.

Claude Desktop / Cursor

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "gsc": {
      "command": "npx",
      "args": ["-y", "mcp-gsc@latest"],
      "env": {
        "GOOGLE_GSC_CREDENTIALS_PATH": "/path/to/credentials.json"
      }
    }
  }
}
Codex CLI

Add to ~/.codex/config.toml (TOML, not JSON):

[mcp_servers.gsc]
command = "npx"
args = ["-y", "mcp-gsc@latest"]
startup_timeout_sec = 30
env = { GOOGLE_GSC_CREDENTIALS_PATH = "/path/to/credentials.json" }

Codex defaults to a 10s startup timeout, which is often too short for a cold npx fetch. Bump startup_timeout_sec (30 is safe) or install the package globally (npm i -g mcp-gsc) and use command = "mcp-gsc" instead.

Service Account (alternative)

For server-to-server auth without browser-based OAuth:

  1. Create a service account in Google Cloud Console
  2. Download the JSON key file
  3. In Google Search Console, add the service account email as a user for each property
  4. Point GOOGLE_GSC_CREDENTIALS_PATH to the key file — auth type is auto-detected

Tools (25)

Core Tools (always available)
Sites
ToolDescription
list_propertiesList all GSC properties with permission levels
get_property_detailsVerification info, ownership, permissions for a property
Search Analytics
ToolDescription
search_analyticsQuery search performance (clicks, impressions, CTR, position) with dimensions, filters, and brand segmentation

Dimensions: query, page, country, device, date, searchAppearance, hour

Types: web, image, video, news, discover, googleNews

Note: searchAppearance cannot combine with query or page. hour requires data_state="hourly_all" (last 10 days only). Country codes are ISO 3166-1 alpha-3 (usa, gbr, deu).

Sitemaps
ToolDescription
list_sitemapsList sitemaps with status, type, indexed counts, errors
get_sitemapDetailed sitemap info with content breakdown
URL Inspection
ToolDescription
inspect_urlURL indexing status, crawl info, rich results, canonicals
batch_inspect_urlsInspect up to 10 URLs at once with categorized results

Rate limits: 600/minute + 2,000/day per site (tracked automatically).

Export
ToolDescription
export_csvExport full search analytics to a local CSV file (auto-paginates 25K rows per call, up to 1M rows)
Extended Tools (disabled by default)

Enable with GOOGLE_GSC_ENABLE_EXTENDED_TOOLS=true:

Reporting Suite
ToolDescription
performance_overviewAggregate metrics + daily trend breakdown
compare_periodsCompare two date ranges with delta calculations
top_moversBiggest gains and drops between periods
device_country_breakdownPerformance by device and/or country
SEO Suite
ToolDescription
quick_winsHigh-impression, low-CTR queries in striking distance (position 4-20)
cannibalizationMultiple pages competing for the same query
opportunity_finderEmerging queries, growing impressions with low CTR, declining performers
position_trackingPosition changes over time for specific queries/pages
ctr_anomaliesQueries with abnormal CTR relative to position
content_decayPages/queries with impressions dropping >50% from historical peak
weekly_seo_reportAll-in-one report: overview + quick wins + top movers
Technical SEO Suite
ToolDescription
indexing_coverageBatch URL inspection with categorized indexing status
sitemap_healthSitemap error patterns, freshness, indexed vs submitted ratio
Write Tools (disabled by default)

Enable with GOOGLE_GSC_ENABLE_WRITES=true:

ToolDescription
add_siteAdd a new site to GSC
delete_siteRemove a site from GSC
submit_sitemapSubmit a new sitemap
delete_sitemapRemove/unsubmit a sitemap
request_indexingAsk Google to crawl a URL via the Indexing API
get_indexing_statusWhen a URL was last submitted for indexing

Indexing API prerequisites. The last two use a different Google API to the rest of this server, so they need three things the other tools don't:

  1. Re-run mcp-gsc setup — credentials created before this feature lack the auth/indexing scope. The tools say so explicitly if yours do.
  2. Enable the Indexing API on your Google Cloud project — console.cloud.google.com/apis/library/indexing.googleapis.com
  3. Be a verified owner of the property in Search Console. Full-user access is not enough.

Google officially supports the Indexing API only for pages carrying JobPosting or BroadcastEvent structured data, with a default quota of 200 URLs/day. It requests a crawl — it never guarantees indexing.

Configuration

VariableRequiredDefaultDescription
GOOGLE_GSC_CREDENTIALS_PATHYes—Path to OAuth client JSON or service account key
GOOGLE_GSC_TOKEN_PATHNoDerivedPath to cached OAuth token (default: *_token.json next to credentials)
GOOGLE_GSC_PROPERTYNo—Default property URL (e.g., sc-domain:example.com). Accepts bare domains.
GOOGLE_GSC_ENABLE_WRITESNofalseEnable write tools
GOOGLE_GSC_ENABLE_EXTENDED_TOOLSNofalseEnable extended analytics tools (13 extra)
GOOGLE_GSC_ENV_FILENo.envPath to .env file
DEBUGNo—Enable debug logging

Property resolution: You can pass bare domains like example.com — the server auto-resolves to sc-domain:example.com or https://example.com/ by matching against your verified properties.

Examples

Ask your AI assistant:

  • "Show me my top 10 queries this month"
  • "Find quick wins for example.com"
  • "Which pages have declining traffic over the last 3 months?"
  • "Check if these URLs are indexed: url1, url2, url3"
  • "Compare this week's performance to last week"
  • "Export all search analytics data to CSV for the last 28 days"
  • "Run a weekly SEO report for my site"
  • "Find keyword cannibalization issues"

Future Tool Ideas

  • Content gap analysis (requires competitor data integration)
  • Core Web Vitals integration (via PageSpeed Insights API)
  • Multi-property comparison
  • Search appearance deep analysis
  • Integration with Google Analytics for conversion data
  • Automated reporting schedules

Updates

Using npx @latest (recommended): You always get the latest version.

Using a binary: The server checks for new releases on startup and logs to stderr if outdated.

mcp-gsc --version

Development

Requires Bun.

git clone https://github.com/pijusz/mcp-gsc.git
cd mcp-gsc
bun install
bun test           # tests
bun run build      # standalone binary
bun run inspect    # MCP Inspector
bun run check      # biome format + lint

License

MIT

Questions fréquentes

Qu'est-ce que io.github.pijusz/mcp-gsc ?

Google Search Console MCP server — query performance, sitemaps, indexing & more

Comment installer io.github.pijusz/mcp-gsc ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add mcp-gsc -- npx -y mcp-gsc@0.1.7. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.pijusz/mcp-gsc ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

io.github.pijusz/mcp-gsc est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.pijusz/mcp-gsc ?

Il est publié par pijusz. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.