Skip to main content
Glama
Google Analytics 4 MCP Server

Google Analytics 4 MCP Server

by stucchi

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.

Related MCP server: Delmain GA4 MCP

Installation

Claude Code

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

Claude Desktop

Add to claude_desktop_config.json:

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

From source

git clone https://github.com/stucchi/mcp-google-analytics.git
cd mcp-google-analytics
uv 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

Tool

Description

check_auth_status

Verify service account is configured and valid

Admin API

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

Data API

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

Environment Variables

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.

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

Available Tools

23 tools
check_auth_statusA

Check if the Google Analytics service account is configured and valid.

Inputs: no named parameters. Returns: result

create_custom_dimensionC

Create a custom dimension.

Inputs: property_id (required), display_name (required), parameter_name (required), scope, +1 more. Returns: result

create_custom_metricC

Create a custom metric.

Inputs: property_id (required), display_name (required), parameter_name (required), scope, +2 more. Returns: result

create_key_eventC

Mark an event as a key event (conversion).

Inputs: event_name (required), property_id (required). Returns: result

create_propertyC

Create a new GA4 property.

Inputs: account_id (required), display_name (required), time_zone, currency_code. Returns: result

create_web_data_streamC

Create a web data stream and get the Measurement ID (G-XXXXX).

Inputs: default_uri (required), property_id (required), display_name. Returns: result

delete_data_streamC

Delete a data stream.

Inputs: stream_id (required), property_id (required). Returns: result

delete_key_eventC

Remove an event from key events (conversions).

Inputs: property_id (required), key_event_id (required). Returns: result

delete_propertyA

Soft-delete a GA4 property (can be restored within 35 days).

Inputs: property_id (required). Returns: result

get_measurement_protocol_secretC

Get or create a Measurement Protocol API secret for server-side event tracking.

Inputs: stream_id (required), property_id (required), display_name. Returns: result

get_metadataA

List all available dimensions and metrics for a GA4 property.

Useful to discover which dimension/metric names you can use in run_report.

Inputs: property_id (required). Returns: result

get_propertyC

Get details of a GA4 property.

Inputs: property_id (required). Returns: result

get_tracking_snippetB

Generate the gtag.js HTML tracking snippet ready to paste into your website.

Inputs: measurement_id (required). Returns: result

list_accountsA

List all Google Analytics accounts accessible by the authenticated user.

Inputs: no named parameters. Returns: result

list_custom_dimensionsC

List custom dimensions for a property.

Inputs: property_id (required). Returns: result

list_custom_metricsC

List custom metrics for a property.

Inputs: property_id (required). Returns: result

list_data_streamsB

List all data streams for a GA4 property.

Inputs: property_id (required). Returns: result

list_key_eventsC

List key events (conversions) configured for a property.

Inputs: property_id (required). Returns: result

list_propertiesC

List all GA4 properties for an account.

Inputs: account_id (required). Returns: result

run_realtime_reportC

Run a real-time report showing active users and live events.

Inputs: property_id (required), metrics, dimensions. Returns: result

run_reportC

Run a GA4 report with dimensions, metrics, date range, and optional filters.

Inputs: metrics (required), dimensions (required), property_id (required), limit, +5 more. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 23 tools

    Disambiguation5/5

    Each tool targets a distinct resource or action: accounts, properties, data streams, custom dimensions/metrics, key events, Google Ads links, reports, metadata, auth, snippet. No two tools have overlapping purposes; even similar pairs like create/delete are clearly differentiated.

    Naming Consistency5/5

    All tools use a consistent verb_noun pattern with underscores, e.g., 'create_custom_dimension', 'run_realtime_report', 'list_properties'. No mixing of styles or unclear verb choices.

    Tool Count4/5

    23 tools cover a wide range of GA4 management tasks. While slightly on the higher side, each tool serves a specific need without redundancy, making the count reasonable for comprehensive server scope.

    Completeness3/5

    Covers core CRUD and reporting but lacks update operations for custom dimensions/metrics, properties, and key events. Missing some advanced features (e.g., user management, filters), limiting full lifecycle coverage.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables querying Google Analytics 4 properties using natural language through MCP clients. Supports customizable reports with any dimensions and metrics, listing properties, and real-time data.
      4
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Connects to Google Analytics 4 to run reports, manage configurations, and retrieve admin data using natural language.
      1
      GPL 3.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables querying Google Analytics data and configuration through natural language using the Data and Admin APIs.
      Apache 2.0