Site Analyst
FreeNot checkedAn MCP server that provides Google Analytics and Search Console data as tools for AI assistants, enabling natural language queries for web analytics, SEO perfor
About
An MCP server that provides Google Analytics and Search Console data as tools for AI assistants, enabling natural language queries for web analytics, SEO performance, and site insights.
README
An MCP (Model Context Protocol) server that provides Google Analytics (GA4) and Google Search Console data as tools for AI assistants.
Features
- 13 tools across two Google services
- Google Analytics (GA4): Custom reports, realtime data, metadata discovery, top pages, traffic sources, demographics
- Google Search Console: Search analytics, sitemaps, URL inspection, site listing, top queries, top pages
- Dual transport: stdio (local) and stateless HTTP (remote)
- Flexible auth: Service account key file, inline JSON credentials, Application Default Credentials, or CLI argument
- Configurable GA4 Property ID: Set once at server level or per-tool call
- Optional Bearer token auth for HTTP mode
Prerequisites
Google Cloud Project with these APIs enabled:
Service Account with a downloaded JSON key file:
- Go to IAM & Admin > Service Accounts
- Create a service account → Keys → Add Key → JSON
Grant access to the service account:
- GA4: Admin > Property Access Management > Add the service account email as Viewer
- Search Console: Settings > Users and permissions > Add the service account email
Installation
npm install
npm run build
Usage
stdio mode (Claude Desktop, Gemini CLI, etc.)
# Using CLI argument
node build/index.js --key-file /path/to/key.json
# Using environment variable
GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json node build/index.js
# With a default GA4 Property ID
node build/index.js --key-file /path/to/key.json --property-id 123456789
HTTP mode
# Default port 3000
node build/index.js --http --key-file /path/to/key.json
# Custom port
node build/index.js --http --port 8080 --key-file /path/to/key.json
# With Bearer token authentication
MCP_AUTH_TOKEN=my-secret-token node build/index.js --http --key-file /path/to/key.json
The HTTP endpoint is available at POST http://localhost:3000/mcp (Streamable HTTP, stateless).
A health check endpoint is available at GET http://localhost:3000/health.
Authentication
The server resolves Google credentials in this order:
| Priority | Method | Description |
|---|---|---|
| 1 | --key-file <path> |
CLI argument pointing to a service account JSON key file |
| 2 | GOOGLE_CREDENTIALS_JSON |
Environment variable containing the full JSON key as a string (useful for containers/CI) |
| 3 | GOOGLE_APPLICATION_CREDENTIALS |
Environment variable pointing to a key file path |
| 4 | Application Default Credentials | Automatic on Cloud Run, GCE, or when authenticated via gcloud auth application-default login |
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"site-analyst": {
"command": "node",
"args": [
"/absolute/path/to/mcp-site-analyst/build/index.js",
"--key-file",
"/absolute/path/to/key.json",
"--property-id",
"YOUR_GA4_PROPERTY_ID"
]
}
}
}
Gemini CLI Configuration
Add to your .gemini/settings.json:
{
"mcpServers": {
"site-analyst": {
"command": "node",
"args": [
"/absolute/path/to/mcp-site-analyst/build/index.js",
"--key-file",
"/absolute/path/to/key.json"
]
}
}
}
Remote HTTP Configuration
If deployed to a remote server (e.g. Cloud Run), configure your client to use the HTTP endpoint:
{
"mcpServers": {
"site-analyst": {
"httpUrl": "https://your-service-url/mcp",
"headers": {
"Authorization": "Bearer YOUR_AUTH_TOKEN"
}
}
}
}
Deploying to Cloud Run
A deployment script is included for Google Cloud Run.
Setup
# Copy the example env file and fill in your values
cp .env.example .env
# Edit .env with your GCP project ID, region, and GA4 property ID
See .env.example for all available configuration options.
Deploy
# Deploy with Cloud Build (no local Docker required)
./deploy.sh --cloud-build
# Deploy with local Docker build
./deploy.sh
# Deploy with Bearer token auth enabled
./deploy.sh --token "my-secret-token"
On Cloud Run the server uses Application Default Credentials automatically via the configured service account — no key file is needed.
Tools Reference
Google Analytics (GA4)
| Tool | Description |
|---|---|
ga4_run_report |
Run a custom report with flexible dimensions, metrics, date ranges, filters, and sorting |
ga4_realtime_report |
Get real-time active user data (last 30 minutes) |
ga4_get_metadata |
Discover all available dimensions and metrics |
ga4_top_pages |
Shortcut: Top pages by pageviews |
ga4_top_traffic_sources |
Shortcut: Top traffic sources by sessions |
ga4_user_demographics |
Shortcut: User breakdown by country/city/language |
Google Search Console
| Tool | Description |
|---|---|
gsc_search_analytics |
Query search performance (clicks, impressions, CTR, position) with filters |
gsc_list_sitemaps |
List all submitted sitemaps |
gsc_get_sitemap |
Get details for a specific sitemap |
gsc_inspect_url |
Inspect a URL's index status and mobile usability |
gsc_list_sites |
List all sites accessible by the service account |
gsc_top_queries |
Shortcut: Top search queries by clicks |
gsc_top_pages |
Shortcut: Top pages by clicks in search |
Development
# Run in dev mode (no build step needed)
npx tsx src/index.ts --key-file /path/to/key.json
# Build
npm run build
# Test with MCP Inspector
npx @modelcontextprotocol/inspector node build/index.js --key-file /path/to/key.json
License
MIT
Installing Site Analyst
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/danishm/mcp-site-analystFAQ
Is Site Analyst MCP free?
Yes, Site Analyst MCP is free — one-click install via Unyly at no cost.
Does Site Analyst need an API key?
No, Site Analyst runs without API keys or environment variables.
Is Site Analyst hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Site Analyst in Claude Desktop, Claude Code or Cursor?
Open Site Analyst on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Site Analyst with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
