Skip to main content
Glama
@lomi./gsc-mcp

@lomi./gsc-mcp

by lomiafrica

@lomi./gsc-mcp

Public Model Context Protocol server for Google Search Console.

Repository: github.com/lomiafrica/gsc-mcp — standalone project. In the lomi. monorepo it is checked out as a submodule at apps/tools/gsc-mcp.

Features

  • Portfolio health across every accessible property (or GSC_PORTFOLIO_SITES)

  • Typed Search Analytics with dimensions, filters, pagination, and freshness controls

  • Performance overview, period comparison, and quick-win opportunity detection

  • URL inspection with bounded batch support

  • Sitemap and property discovery

  • Read-only by default; mutation tools require explicit write scope and GSC_ENABLE_WRITES=true

  • Local stdio for Cursor and Claude Desktop

  • Secure self-hosted Streamable HTTP for teams

Related MCP server: GSC MCP Server

Monorepo checkout

Inside the lomi. monorepo:

git submodule update --init apps/tools/gsc-mcp
cd apps/tools/gsc-mcp
pnpm install
pnpm run build

Quick start

Preferred: Application Default Credentials plus a quota project that has the Search Console API enabled.

gcloud auth application-default login \
  --scopes=https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/webmasters.readonly

Then add to Cursor:

{
  "mcpServers": {
    "google-search-console": {
      "command": "npx",
      "args": ["-y", "@lomi./gsc-mcp"],
      "env": {
        "GOOGLE_CLOUD_QUOTA_PROJECT": "your-gcp-project-id",
        "GSC_PORTFOLIO_SITES": "sc-domain:example.com"
      }
    }
  }
}

Cursor Connect only reconnects this local server. It does not sign in to Google.

Authentication

Choose one:

  • Application Default Credentials (gcloud auth application-default login) plus GOOGLE_CLOUD_QUOTA_PROJECT

  • Desktop OAuth with PKCE: put a Google Desktop client JSON at ~/.config/lomi-gsc-mcp/oauth_credentials.json, then npx -y @lomi./gsc-mcp auth

  • Service account JSON via GSC_SERVICE_ACCOUNT_KEY_FILE

Default OAuth scope is read-only. Set GSC_OAUTH_SCOPE=write and GSC_ENABLE_WRITES=true only when you need sitemap or property mutations.

Start with gsc_portfolio_health. Sitemap contents.indexed is often 0 even when pages are indexed; use homepage inspection.

Self-hosted HTTP

GSC_MCP_TRANSPORT=http \
GSC_MCP_CLIENT_BEARER_TOKEN=replace-me \
GSC_MCP_ALLOWED_HOSTS=localhost \
GSC_MCP_ALLOWED_ORIGINS=http://localhost:3000 \
npx -y @lomi./gsc-mcp-http

Non-loopback HTTP requires GSC_MCP_CLIENT_BEARER_TOKEN.

Docs

See https://docs.lomi.africa/build/mcp.

License

MIT

Available Tools

5 tools
gsc_capabilitiesSearch Console capabilitiesA
Read-onlyIdempotent

Return active auth mode, scopes, limits, and disclosure notes for this server.

Inputs: no named parameters.

gsc_compare_periodsCompare search periodsA
Read-onlyIdempotent

Compare top rows between two date ranges for the same dimensions.

Inputs: site_url (required), period1_end (required), period2_end (required), period1_start (required), +4 more.

gsc_inspect_urlInspect URLB
Read-onlyIdempotent

Inspect one URL indexing status in Google Search Console.

Inputs: site_url (required), inspection_url (required), language_code.

gsc_quick_winsFind quick-win queriesB
Read-onlyIdempotent

Identify queries with meaningful impressions, low CTR, and positions in a target range.

Inputs: end_date (required), site_url (required), start_date (required), max_ctr, +4 more.

gsc_search_analyticsSearch analytics queryC
Read-onlyIdempotent

Query clicks, impressions, CTR, and position with dimensions, filters, pagination, and data freshness controls.

Inputs: end_date (required), site_url (required), start_date (required), filters, +6 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool has a distinct purpose: capabilities (metadata), search analytics (raw data), quick wins (heuristic analysis), compare periods (comparative analysis), inspect URL (individual URL status). No overlap.

    Naming Consistency4/5

    All tools start with 'gsc_' and follow a verb_noun or noun phrase pattern. Most are nouns or adjective-noun (e.g., quick_wins), while compare_periods and inspect_url use verbs. Consistent prefix but minor variation in verb usage.

    Tool Count4/5

    5 tools is appropriate for a focused GSC server covering analytics, insights, and URL inspection. Not overly many nor too few, though additional tools could be justified.

    Completeness3/5

    Covers core search analytics and URL inspection, but missing tools for sitemap management, index coverage, site listing, or mobile usability. Notable gaps for a full GSC integration.

    Maintenance

    ActivityActive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables interaction with Google Search Console via MCP, offering search analytics, performance summaries, URL inspection, sitemap management, and property listing for SEO workflows.
      262 npm
      1
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Connects MCP clients to the Google Search Console API, enabling search analytics queries, URL inspection, sitemap management, and performance comparison across time periods.
      20
      66 PyPI
      MIT
    • A
      license
      A
      quality
      F
      maintenance
      Enables natural language interaction with Google Search Console data, including property management, search analytics, URL inspection, and sitemap management via MCP.
      21
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables MCP clients to query Google Search Console search performance, inspect indexing, analyze sitemaps, and run SEO analyses such as cannibalisation detection, query clustering, and wins/losses, all with read-only access.
      20
      119 npm
      Apache 2.0