Skip to main content
Glama
atmarcday

SEO Analytics MCP Server

by atmarcday

SEO Analytics MCP Server

MCP server for Google Analytics 4 and Search Console. Deploys to Railway and connects to Claude as a custom connector.

Tools

Tool

Description

ga4_run_report

Traffic, engagement, conversions by page/channel/date

gsc_query_performance

Clicks, impressions, CTR, position from Search Console

gsc_inspect_url

Index status, crawl date, canonical, mobile usability

gsc_list_sitemaps

List submitted sitemaps and their status

gsc_submit_sitemap

Submit a new sitemap URL

gsc_delete_sitemap

Remove a sitemap from Search Console


Related MCP server: Google Search Console + GA4 MCP Server

Setup

1. Google Cloud project

  1. Go to console.cloud.google.com and create a project (or use an existing one).

  2. Enable these APIs:

    • Google Analytics Data API

    • Google Search Console API

    • Web Search Analytics API

  3. Go to IAM & Admin → Service Accounts → Create Service Account.

  4. Name it (e.g. seo-mcp), skip optional fields, click Done.

  5. Click the service account → Keys → Add Key → JSON. Download the file.

  6. Keep the client_email from the JSON — you'll need it for steps below.

2. Grant the service account access

Google Analytics 4:

  1. Open GA4 → Admin → Property → Property Access Management.

  2. Click + → Add user → paste the client_email.

  3. Set role to Viewer.

Google Search Console:

  1. Open Search Console → Settings → Users and permissions.

  2. Click Add user → paste the client_email.

  3. Set permission to Full (required for sitemap submit/delete).

3. Find your IDs

  • GA4 Property ID: GA4 Admin → Property Settings → Property ID (numeric only, e.g. 123456789)

  • GSC Site URL: Exactly as it appears in Search Console (e.g. https://example.com/ with trailing slash, or sc-domain:example.com for domain properties)

4. Deploy to Railway

  1. Push this repo to GitHub.

  2. Go to railway.app → New Project → Deploy from GitHub repo → select this repo.

  3. Railway will detect Node.js and run npm install && npm run build automatically.

  4. Go to Variables and add:

MCP_AUTH_TOKEN        = <generate with: openssl rand -hex 32>
GOOGLE_CREDENTIALS_JSON = <paste the entire contents of your service account JSON key, minified to one line>
GA4_PROPERTY_ID       = 123456789
GSC_SITE_URL          = https://example.com/

To minify the credentials JSON to one line (Mac/Linux):

cat your-key-file.json | jq -c . | pbcopy
  1. Deploy. Railway will give you a public domain like https://seo-mcp-production.up.railway.app.

  2. Test the health check:

curl https://your-railway-domain.up.railway.app/health

5. Connect to Claude

Claude Pro/Max (personal):

  1. Open Claude → Customize → Connectors → + Add custom connector

  2. Enter your Railway URL: https://your-railway-domain.up.railway.app/mcp

  3. Add the Authorization header: Bearer your-mcp-auth-token

Claude Team/Enterprise:

  • Owner adds it under Organization Settings → Connectors

6. Test in Claude

Enable the connector in a chat and try:

What are my top 10 landing pages by sessions for the last 28 days?
Show me my GSC performance for the past 30 days, grouped by query.
Inspect https://example.com/blog/my-post
List all my submitted sitemaps.

Local development

cp .env.example .env
# Fill in .env with your real values

npm install
npm run dev

Test locally:

curl -X POST http://localhost:3000/mcp \
  -H "Authorization: Bearer your-token" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Environment variables

Variable

Description

MCP_AUTH_TOKEN

Secret token for bearer auth. Generate with openssl rand -hex 32

GOOGLE_CREDENTIALS_JSON

Full contents of the service account JSON key (single line)

GA4_PROPERTY_ID

GA4 numeric property ID (e.g. 123456789)

GSC_SITE_URL

Exact site URL from Search Console (e.g. https://example.com/)

PORT

Port to listen on. Set automatically by Railway. Defaults to 3000

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables querying Google Search Console and Google Analytics 4 data to retrieve search performance and site analytics. It provides tools for listing web properties and running detailed reports using secure Google OAuth authentication.
    -
  • A
    license
    B
    quality
    D
    maintenance
    Enables managing Google Analytics 4 properties, data streams, conversions, and running reports using natural language through the Admin and Data APIs.
    23
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying Google Analytics 4 data through MCP tools for running reports, listing properties, getting real-time metrics, and exploring metadata.
    1 npm
    MIT