Google Analytics 4

io.github.stucchiPublished by GitHub account stucchiv0.1.1Updated Oct 24, 2026

Manage GA4 properties, data streams, conversions, and run reports via Admin & Data APIs.

VerifiedSTDIODesktop onlyData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

MCP server for Google Analytics 4 that lets an assistant manage GA4 properties, data streams and conversions and run reports via the Admin and Data APIs.

What you can do
  • Check authentication status of the configured service account
  • List accounts and properties, create, inspect and soft-delete properties
  • List, create and delete web data streams and generate the gtag.js tracking snippet
  • List, create and delete key events (conversions), custom dimensions and custom metrics
  • List and create Google Ads links, and get or create a Measurement Protocol secret
  • Run reports and real-time reports with dimensions, metrics, dates and filters, and list available dimensions and metrics
When to use it
Useful when you want an assistant to set up GA4 tracking for a site, adjust conversions or custom dimensions, or pull session, country and real-time metrics without opening the GA4 interface.
Requirements
Runs locally as a PyPI package (google-analytics-4-mcp) launched via uvx, so Python tooling is needed. Requires a Google Cloud service account JSON key supplied through GA_CREDENTIALS or GA_CREDENTIALS_PATH, the Analytics Admin and Data APIs enabled in that project, and the service account email added as Editor in GA4 property access management.
Before you install
The service account JSON key is a long-lived credential; storing it in GA_CREDENTIALS puts it in the MCP config file. The README asks for Editor access, which allows creating and deleting properties, data streams, conversions and Ads links, so assistant actions can change live analytics configuration. Soft-deleting a property or removing a data stream affects tracking.

Installation

In SourceWeft

  1. Open Google Analytics 4 in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Google Analytics 4 MCP Server

MCP server for Google Analytics 4 — create properties, configure data streams, manage conversions, and run reports via the Admin & Data APIs.

Setup (one-time, ~3 minutes)

  1. Google Cloud Console → IAM & Admin → Service Accounts

    • Create a service account (any name)
    • Click it → Keys → Add Key → JSON → Download
  2. Enable APIs in your GCP project:

  3. GA4 Admin → Property Access Management → Add the service account email (from the JSON) as Editor

  4. Configure credentials (pick one):

    • Option A (recommended): Copy the JSON content into the GA_CREDENTIALS env var in your MCP config
    • Option B: Save the file to ~/.google-analytics-4-mcp/credentials.json

Done. No browser flow, no consent screen, no tokens to refresh.

Installation

Claude Code

bash
claude mcp add google-analytics -e GA_CREDENTIALS='{"type":"service_account",...}' -- uvx google-analytics-4-mcp

Claude Desktop

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "google-analytics": {      "command": "uvx",      "args": ["google-analytics-4-mcp"],      "env": {        "GA_CREDENTIALS": "{\"type\":\"service_account\",\"project_id\":\"...\", ...}"      }    }  }}

From source

bash
git clone https://github.com/stucchi/mcp-google-analytics.gitcd mcp-google-analyticsuv run google-analytics-4-mcp

Getting Started

  1. Check auth: Call check_auth_status to verify the service account is configured
  2. List accounts: Call list_accounts to see your GA4 accounts
  3. Setup a property: Use create_property → create_web_data_stream → get_tracking_snippet
  4. Query data: Use run_report with dimensions and metrics

Tools (23)

Auth

ToolDescription
check_auth_statusVerify service account is configured and valid

Admin API

ToolDescription
list_accountsList accessible GA4 accounts
list_propertiesList properties for an account
create_propertyCreate a GA4 property
get_propertyGet property details
delete_propertySoft-delete a property
list_data_streamsList data streams
create_web_data_streamCreate web stream → get Measurement ID
delete_data_streamDelete a data stream
get_tracking_snippetGenerate gtag.js HTML snippet
list_key_eventsList conversion events
create_key_eventMark event as conversion
delete_key_eventRemove conversion
list_custom_dimensionsList custom dimensions
create_custom_dimensionCreate custom dimension
list_custom_metricsList custom metrics
create_custom_metricCreate custom metric
list_google_ads_linksList Google Ads links
create_google_ads_linkLink Google Ads account
get_measurement_protocol_secretGet/create Measurement Protocol secret

Data API

ToolDescription
run_reportRun report with dimensions, metrics, dates, filters
run_realtime_reportReal-time active users and events
get_metadataList available dimensions and metrics

Environment Variables

VariableDefaultDescription
GA_CREDENTIALS—Service Account JSON key content (copy-paste the entire JSON)
GA_CREDENTIALS_PATH~/.google-analytics-4-mcp/credentials.jsonAlternative: path to the JSON key file

GA_CREDENTIALS takes priority over GA_CREDENTIALS_PATH.

Example Usage

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)

License

MIT

Source: README.md at commit bb4b629

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.