Skip to main content
Glama
SEO Data MCP

SEO Data MCP

by pabsamuel

SEO Data MCP

Local stdio MCP server for Google Search Console, Bing Webmaster, IndexNow, PageSpeed Insights and CrUX. Your SEO data goes directly from those APIs to your MCP client; it does not pass through Atesen Software. No LLM APIs, hosted proxy or telemetry.

Install in five lines

# Node.js 22+; download the .tgz from the GitHub release while npm publication is pending
npx -y --package ./pabsamuel-seo-data-mcp-0.1.0.tgz seo-data-mcp --help
# Put your own Google service_account or authorized_user JSON in a private directory
claude mcp add --transport stdio --env GOOGLE_APPLICATION_CREDENTIALS=/private/google.json seo-data -- npx -y --package /absolute/path/pabsamuel-seo-data-mcp-0.1.0.tgz seo-data-mcp
# Restart your MCP client, then ask it to list sitemaps for sc-domain:your-domain.example

After npm publication the command becomes npx -y @pabsamuel/seo-data-mcp@0.1.0. npm installation, authentication and Claude-specific GUI installation are not claimed as complete; real stdio MCP integration is tested.

Claude Desktop config (merge this inside mcpServers):

{"seo-data":{"command":"npx","args":["-y","--package","C:/absolute/path/pabsamuel-seo-data-mcp-0.1.0.tgz","seo-data-mcp"],"env":{"GOOGLE_APPLICATION_CREDENTIALS":"C:/private/google.json"}}}

Use an absolute npx.cmd path on Windows if your client cannot locate npx. Never commit client config containing credentials.

Related MCP server: mcp-server-google-search-console

Tools and plans

Tool

Purpose

Free

gsc_query

Search analytics, dates, dimensions, pagination

Yes

gsc_sitemaps

List sitemaps

Yes

gsc_inspect

Indexed URL inspection, not a live test

No

bing_query_stats

Verified-site query statistics

No

bing_crawl_issues

Verified-site crawl issues

No

indexnow_submit

Submit same-host URLs; requires confirm:true

No

pagespeed

Lighthouse performance summary

Yes

crux

Origin field metrics; low traffic can return 404

No

Free: 3 tools / 20 attempts per UTC day. Starter: $12/month, all tools / 1,000 attempts per UTC day. Pro: $29/month, all tools / 5,000 attempts per UTC day. Billing is currently preview/closed, not a live paid offering. Provider quotas are separate. Starter/Pro limits are product implementation decisions; the brief specifies only the free cap and prices.

Why pay: URL inspection, Bing diagnostics, IndexNow and CrUX plus larger daily capacity. Attempts count even when credentials/provider calls fail; schema-invalid requests do not count. Quota uses a local lock and persistent counter shared by processes. This is local software: users control their filesystem and clock, so limits are not a tamper-proof remote meter.

Bring your own credentials

GOOGLE_APPLICATION_CREDENTIALS: path to Google service-account JSON or user-owned OAuth authorized_user JSON. Enable Search Console API. First try adding the service-account email to the Search Console property's Settings → Users and permissions as Full user. No site membership was available in this build session, so real SA acceptance is pending.

Fallback: create your own Desktop OAuth client and, with Google Cloud CLI, run:

gcloud auth application-default login --client-id-file=/private/desktop-client.json --scopes=https://www.googleapis.com/auth/webmasters.readonly

Point the env variable to the generated application_default_credentials.json. Configure yourself as a test user in your Google project; testing-mode refresh tokens may need reauthorization. No publisher OAuth verification is required because there is no shared publisher client.

Other environment variables:

Variable

Meaning

BING_API_KEY

Your Bing Webmaster key for a verified site

GOOGLE_API_KEY

Your API key with PageSpeed and Chrome UX Report APIs enabled

INDEXNOW_KEY

8–128 character verification key hosted on your domain

SEO_MCP_LICENSE_FILE

Private text file containing the offline license (preferred)

SEO_MCP_LICENSE

Alternative inline license; avoid shell history/config sharing

SEO_MCP_STATE_DIR

Private quota directory; default ~/.seo-data-mcp

No credentials are read from project .env files. The client must explicitly pass env variables. Read-only Google scope only. Tokens are cached in memory and refreshed directly with Google; credential-file token endpoints are ignored. IndexNow never fetches arbitrary URLs itself, and refuses URLs/keyLocation on other hosts.

Privacy and licensing

Only these hosts can receive MCP requests: oauth2.googleapis.com, www.googleapis.com, searchconsole.googleapis.com, ssl.bing.com, api.indexnow.org, chromeuxreport.googleapis.com. No redirects or automatic retries. Trace records omit query strings, headers and bodies. npm installation and your MCP/AI host are separate from tool traffic; your chosen host may process the reports.

License format: SEO1.<base64url JSON>.<Ed25519 signature>. Public key ships with the package; private key is excluded. Product, tier, issue/expiry timestamps and signature are checked locally. Subscription keys expire at the paid period end. Retrieve a fresh key after renewal; there are no background activation calls. Refunds/cancellations cannot instantly revoke an offline key. See LICENSE, privacy and terms.

Build and evidence

npm ci
npm test
npm audit --omit=dev
npm pack --pack-destination artifacts
npm run live

Tests use explicit synthetic responses; these are not live API evidence. test/stdio.test.mjs runs the actual MCP SDK client against the spawned stdio executable. test/billing.test.mjs uses real SQLite and Ed25519 with signed synthetic Paddle payloads; no sandbox checkout/payment occurred. evidence/live.json records live blockers without secrets. SUBMIT.md contains exact browser handoff and billing provisioning steps. STATE.md tracks acceptance.

Primary references

Historical research anchor: Advanced GSC MCP, $4,766 MRR / 147 subscriptions recorded in the 22 October portfolio brief. Not independently reverified here; no earnings claims are used in the listing.

Available Tools

8 tools
bing_crawl_issuesB
Read-onlyIdempotent

Read Bing Webmaster crawl issues for a verified site. Paid.

Inputs: site (required).

bing_query_statsA
Read-onlyIdempotent

Read Bing Webmaster query statistics for a verified site. Paid.

Inputs: site (required).

cruxB
Read-onlyIdempotent

Chrome UX Report 28-day field metrics; low-traffic sites may have no record. Paid.

Inputs: origin (required), formFactor.

gsc_inspectA
Read-onlyIdempotent

Read Google indexed URL inspection; does not request indexing. Paid.

Inputs: url (required), site (required).

gsc_queryC
Read-onlyIdempotent

Read Search Console search performance. Paginate using startRow. Free tier.

Inputs: site (required), endDate (required), startDate (required), rowLimit, +2 more.

gsc_sitemapsC
Read-onlyIdempotent

List Search Console sitemaps. Free tier.

Inputs: site (required).

indexnow_submitB

WRITE: submit URLs to IndexNow, requires explicit confirm:true and a hosted verification key. Paid.

Inputs: host (required), urls (required), confirm (required), keyLocation.

pagespeedC
Read-onlyIdempotent

PageSpeed Lighthouse score and selected audits. Free tier.

Inputs: url (required), strategy.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool targets a distinct SEO data source or operation: GSC querying, GSC inspection, GSC sitemaps, Bing stats, Bing crawl issues, IndexNow submission, PageSpeed, and CrUX. The read-only tools are separated from the explicit write tool, and performance tools are split into lab (PageSpeed) versus field (CrUX) data.

    Naming Consistency3/5

    Most names use snake_case and a service_action pattern (gsc_query, bing_query_stats, indexnow_submit), which is readable. However, pagespeed and crux are bare product names with no verb, and action placement varies across prefixes, so the set is mixed rather than fully consistent.

    Tool Count5/5

    Eight tools is well-scoped for an SEO data server, covering the main integrations without obvious padding. Each tool corresponds to a meaningful data source or action.

    Completeness4/5

    The surface covers key SEO data sources: GSC performance, inspection, sitemaps, Bing stats and crawl issues, IndexNow submission, PageSpeed, and CrUX. Minor gaps remain, such as sitemap submission/management and broader keyword or backlink data, but core read and submission workflows are present.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables interaction with Google Search Console to query search analytics, inspect URL indexing status, and manage sitemaps. It allows users to monitor SEO performance and site health through natural language commands in MCP-compatible clients.
      153 npm
      3
      MIT
    • 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
      B
      quality
      B
      maintenance
      Enables Google Search Console data queries via MCP, including search analytics, performance comparisons, URL inspection, and sitemap management.
      12
      1
      MIT