SEO Analytics MCP Server
Provides analytics and SEO insights from Google Analytics 4 and Google Search Console. Supports querying traffic, engagement, conversions, search performance, URL inspection, and sitemap management.
README
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 |
Setup
1. Google Cloud project
- Go to console.cloud.google.com and create a project (or use an existing one).
- Enable these APIs:
- Google Analytics Data API
- Google Search Console API
- Web Search Analytics API
- Go to IAM & Admin → Service Accounts → Create Service Account.
- Name it (e.g.
seo-mcp), skip optional fields, click Done. - Click the service account → Keys → Add Key → JSON. Download the file.
- Keep the
client_emailfrom the JSON — you'll need it for steps below.
2. Grant the service account access
Google Analytics 4:
- Open GA4 → Admin → Property → Property Access Management.
- Click + → Add user → paste the
client_email. - Set role to Viewer.
Google Search Console:
- Open Search Console → Settings → Users and permissions.
- Click Add user → paste the
client_email. - 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, orsc-domain:example.comfor domain properties)
4. Deploy to Railway
- Push this repo to GitHub.
- Go to railway.app → New Project → Deploy from GitHub repo → select this repo.
- Railway will detect Node.js and run
npm install && npm run buildautomatically. - 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
- Deploy. Railway will give you a public domain like
https://seo-mcp-production.up.railway.app. - Test the health check:
curl https://your-railway-domain.up.railway.app/health
5. Connect to Claude
Claude Pro/Max (personal):
- Open Claude → Customize → Connectors → + Add custom connector
- Enter your Railway URL:
https://your-railway-domain.up.railway.app/mcp - 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 |
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.