Skip to main content

Model Context Protocol for Google Analytics 4 (Data API) allowing autonomous agents to query dimensions and metrics. Gives agents analysis-ready GA4 access with schema discovery, server-side aggregation, and smart defaults.

Project description

Google Analytics MCP Logo

Google Analytics 4 MCP Server

mcp-name: io.github.surendranb/google-analytics-mcp

PyPI version npm version PyPI Downloads GitHub stars License: Apache 2.0

Connect Google Analytics 4 data directly to AI agents, analyst copilots, and MCP runtimes across Claude, ChatGPT, Gemini, Cursor, VS Code, and OpenClaw. Gives models analysis-ready GA4 access with live schema discovery, metric auto-aliasing, server-side aggregation, and autonomous self-healing defenses.

🌐 Website & Documentation: https://ga4mcp.com
🔗 Sister Project: Google Search Console MCP


⚡ Quickstart — 1-Line Installations

1. Universal 1-Line Installer (Recommended)

Auto-detects your system, configures Gemini CLI, Claude Desktop, Cursor, and VS Code automatically in 1 command:

curl -fsSL https://ga4.buildwithai.xyz | bash

2. Homebrew (macOS & Linux)

brew tap surendranb/tap
brew install google-analytics-mcp

3. NPX / Node.js (Claude Code, Cursor, VS Code, Windsurf)

Add to your MCP configuration file (claude_desktop_config.json or .cursor/mcp.json):

{
  "mcpServers": {
    "ga4-analytics": {
      "command": "npx",
      "args": ["-y", "google-analytics-mcp"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json",
        "GA4_PROPERTY_ID": "123456789"
      }
    }
  }
}

2. Gemini CLI Extension

Install directly into Google Gemini CLI with a single command:

gemini extensions install github.com/surendranb/google-analytics-mcp

3. Python uvx & Explicit python -m ga4_mcp

{
  "mcpServers": {
    "ga4-analytics": {
      "command": "uvx",
      "args": ["--from", "google-analytics-mcp", "ga4-mcp-server"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json",
        "GA4_PROPERTY_ID": "123456789"
      }
    }
  }
}

Or run directly via ga4-mcp-server / python -m ga4_mcp:

{
  "mcpServers": {
    "ga4-analytics": {
      "command": "python",
      "args": ["-m", "ga4_mcp"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json",
        "GA4_PROPERTY_ID": "123456789"
      }
    }
  }
}

🧠 Why AI Agents & Marketers Prefer This Server

  • Autonomous Self-Healing: System directives automatically intercept schema hallucinations (like guessing legacy metric names or incorrect filter nesting) and guide models to self-correct via get_troubleshooting_guide.
  • Metric Auto-Aliasing: Automatically maps legacy or common LLM requests like 'conversions''keyEvents', preventing unnecessary query failures.
  • Server-Side Aggregation: Computes property totals dynamically for non-time-series queries, so LLMs spend time answering business questions rather than parsing raw rows.
  • Data Volume Protection: Runs quick row-count estimates before executing large queries (>2,500 rows) to prevent crashing model context windows.
  • Multi-Platform Support: Native packages and manifests for PyPI, npm, Gemini CLI, Smithery, OpenClaw, and OpenAPI REST actions.

🔑 Setup & Credentials Guide

1. Create a Google Cloud Service Account

  1. Open the Google Cloud Console.
  2. Enable the Google Analytics Data API.
  3. Under APIs & Services → Credentials, create a Service Account.
  4. Create a JSON Key and save it locally on your machine (e.g. /Users/yourname/keys/ga4-key.json).

2. Grant Viewer Access in GA4

  1. Open Google Analytics.
  2. Select your GA4 Property → Open Admin (gear icon) → Property Access Management.
  3. Add the Service Account email (found inside the JSON key as client_email) with the Viewer role.

3. Find Your GA4 Property ID

  1. In Google Analytics Admin → Property Details.
  2. Copy the numeric Property ID (e.g., 123456789).

🛠️ Available Tools

Tool Name Purpose
get_ga4_data Execute GA4 queries with dimensions, metrics, date ranges, and optional filters.
search_schema Keyword search across 200+ GA4 dimension and metric API names.
get_property_schema Inspect all available dimensions and metrics for your specific property.
list_metric_categories Browse metric categories (User, Session, Revenue, Event).
list_dimension_categories Browse dimension categories (Geography, Traffic Source, Device).
get_troubleshooting_guide Self-healing guide for IAM permissions, setup, and filter syntax.

🔒 Telemetry & Privacy

GA4 MCP collects anonymous telemetry (mcp_started, tool_executed) to help maintainers track release adoption, improve error defenses, and optimize latency.

  • No PII, no credentials, and no GA4 property data are ever collected.
  • To opt out, set the environment variable: DISABLE_TELEMETRY=1.

📄 License & Author

Developed by Surendran B under the Apache License 2.0.
Website: https://ga4mcp.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

google_analytics_mcp-2.5.1.tar.gz (21.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

google_analytics_mcp-2.5.1-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

Details for the file google_analytics_mcp-2.5.1.tar.gz.

File metadata

  • Download URL: google_analytics_mcp-2.5.1.tar.gz
  • Upload date:
  • Size: 21.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for google_analytics_mcp-2.5.1.tar.gz
Algorithm Hash digest
SHA256 b048fea4a913077f6e96fde197f7a5d0a10195f6ab33dcd24c6d31140981c139
MD5 a61805b804304f256c588b95f743c2f6
BLAKE2b-256 8db0327722246f4e2736f6b47185324a95240a0f591069b24d7c6d94711db140

See more details on using hashes here.

Provenance

The following attestation bundles were made for google_analytics_mcp-2.5.1.tar.gz:

Publisher: release.yml on surendranb/google-analytics-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file google_analytics_mcp-2.5.1-py3-none-any.whl.

File metadata

File hashes

Hashes for google_analytics_mcp-2.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d6cbc4475c6432dbb041f24bf3b112cb36a207c37e96fd88b6db119efea9b7d8
MD5 0bfdfe16129fe54ebd5bbb07a3f31540
BLAKE2b-256 3e1892fe903069e033978709b8e80546187039b7497b8bfbc7e2a5d55e960737

See more details on using hashes here.

Provenance

The following attestation bundles were made for google_analytics_mcp-2.5.1-py3-none-any.whl:

Publisher: release.yml on surendranb/google-analytics-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page