Wraps both the GA4 Admin and Data APIs so you can spin up properties, configure web data streams, pull tracking snippets, and run dimension/metric reports without leaving Claude. The setup uses a GCP service account with JSON key auth, sidestepping the usual OAuth dance. You get 23 tools covering the full lifecycle: create properties and streams, mark events as conversions, define custom dimensions, link Google Ads accounts, and query historical or real-time data. Reach for this when you're provisioning analytics infrastructure or need to pull session breakdowns by country, device, or custom parameters directly in a conversation.
MCP server for Google Analytics 4 — create properties, configure data streams, manage conversions, and run reports via the Admin & Data APIs.
Google Cloud Console → IAM & Admin → Service Accounts
Enable APIs in your GCP project:
GA4 Admin → Property Access Management → Add the service account email (from the JSON) as Editor
Configure credentials (pick one):
GA_CREDENTIALS env var in your MCP config~/.google-analytics-4-mcp/credentials.jsonDone. No browser flow, no consent screen, no tokens to refresh.
claude mcp add google-analytics -e GA_CREDENTIALS='{"type":"service_account",...}' -- uvx google-analytics-4-mcp
Add to claude_desktop_config.json:
{
"mcpServers": {
"google-analytics": {
"command": "uvx",
"args": ["google-analytics-4-mcp"],
"env": {
"GA_CREDENTIALS": "{\"type\":\"service_account\",\"project_id\":\"...\", ...}"
}
}
}
}
git clone https://github.com/stucchi/mcp-google-analytics.git
cd mcp-google-analytics
uv run google-analytics-4-mcp
check_auth_status to verify the service account is configuredlist_accounts to see your GA4 accountscreate_property → create_web_data_stream → get_tracking_snippetrun_report with dimensions and metrics| Tool | Description |
|---|---|
check_auth_status | Verify service account is configured and valid |
| Tool | Description |
|---|---|
list_accounts | List accessible GA4 accounts |
list_properties | List properties for an account |
create_property | Create a GA4 property |
get_property | Get property details |
delete_property | Soft-delete a property |
list_data_streams | List data streams |
create_web_data_stream | Create web stream → get Measurement ID |
delete_data_stream | Delete a data stream |
get_tracking_snippet | Generate gtag.js HTML snippet |
list_key_events | List conversion events |
create_key_event | Mark event as conversion |
delete_key_event | Remove conversion |
list_custom_dimensions | List custom dimensions |
create_custom_dimension | Create custom dimension |
list_custom_metrics | List custom metrics |
create_custom_metric | Create custom metric |
list_google_ads_links | List Google Ads links |
create_google_ads_link | Link Google Ads account |
get_measurement_protocol_secret | Get/create Measurement Protocol secret |
| Tool | Description |
|---|---|
run_report | Run report with dimensions, metrics, dates, filters |
run_realtime_report | Real-time active users and events |
get_metadata | List available dimensions and metrics |
| Variable | Default | Description |
|---|---|---|
GA_CREDENTIALS | — | Service Account JSON key content (copy-paste the entire JSON) |
GA_CREDENTIALS_PATH | ~/.google-analytics-4-mcp/credentials.json | Alternative: path to the JSON key file |
GA_CREDENTIALS takes priority over GA_CREDENTIALS_PATH.
You: "Set up Google Analytics for my website https://mcpadvisor.stucchi.consulting"
Assistant calls: list_accounts → create_property → create_web_data_stream → get_tracking_snippet
Result: Property created with Measurement ID G-XXXXXXXXXX and ready-to-paste HTML snippet.
You: "Show me the top 10 countries by sessions in the last 7 days"
Assistant calls: run_report(property_id="...", dimensions=["country"], metrics=["sessions"], start_date="7daysAgo", limit=10)
MIT
GA_CREDENTIALSGoogle Service Account JSON key content (copy-paste the entire JSON)
GA_CREDENTIALS_PATHdefault: ~/.google-analytics-mcp/credentials.jsonAlternative: path to the Service Account JSON key file
io.github.infoinlet-marketplace/mcp-observability
betterdb-inc/monitor
com.mcparmory/datadog
thotischner/observability-mcp
io.github.tantiope/datadog-mcp
io.github.us-all/datadog