Skip to main content

MCP Server for Google Analytics 4

A Model Context Protocol (MCP) server that allows Large Language Models (LLMs) to interact with Google Analytics 4 (GA4) data through the Google Analytics Data API.

Features

  • Run standard GA4 reports with customizable dimensions, metrics, and date ranges
  • Get real-time data for the past 30 minutes
  • Retrieve metadata about available metrics and dimensions
  • Secure authentication using Google Cloud's Application Default Credentials
  • Configurable for easy deployment via Smithery

Installation

Using pip

pip install mcp-server-ga4

From source

git clone https://github.com/yourusername/mcp-server-ga4.git
cd mcp-server-ga4
pip install -e .

Authentication

This server uses Google Cloud's Application Default Credentials (ADC) for authentication. Before using the server, you'll need to:

  1. Create a Google Cloud project
  2. Enable the Google Analytics Data API
  3. Set up authentication:
gcloud auth application-default login

For more details, see the Google Cloud Authentication documentation.

Usage

Command Line

Start the server with your GA4 property ID:

mcp-server-ga4 --property-id YOUR_GA4_PROPERTY_ID

The server will use the standard MCP stdio transport by default.

Environment Variables

You can also set configuration via environment variables:

  • GA4_PROPERTY_ID: Your Google Analytics 4 property ID

Using with Claude Desktop

  1. Install the server globally: pip install mcp-server-ga4
  2. Set up your Google Cloud authentication: gcloud auth application-default login
  3. Edit your Claude Desktop configuration:
{
    "mcpServers": {
        "ga4": {
            "command": "mcp-server-ga4",
            "args": ["--property-id", "YOUR_GA4_PROPERTY_ID"]
        }
    }
}

Available Tools

run-report

Runs a standard GA4 report with configurable metrics, dimensions, and date ranges.

Parameters:

  • property_id (optional): GA4 property ID (overrides the default)
  • metrics: List of metric names (e.g., ["activeUsers", "sessions"])
  • dimensions (optional): List of dimension names (e.g., ["date", "country"])
  • date_range: Date range in one of these formats:
    • {"start_date": "YYYY-MM-DD", "end_date": "YYYY-MM-DD"}
    • "last7days", "last30days", "today", "yesterday"
  • limit (optional): Number of rows to return (default: 10)

run-realtime-report

Gets real-time data for the past 30 minutes.

Parameters:

  • property_id (optional): GA4 property ID (overrides the default)
  • metrics: List of metric names (e.g., ["activeUsers", "screenPageViews"])
  • dimensions (optional): List of dimension names (e.g., ["country", "city"])
  • limit (optional): Number of rows to return (default: 10)

get-metadata

Retrieves available metrics and dimensions for a GA4 property.

Parameters:

  • property_id (optional): GA4 property ID (overrides the default)
  • type (optional): Type of metadata to retrieve ("metrics", "dimensions", or "all", default: "all")

Examples

Running a standard report

What were the top 5 countries by active users in the last 30 days?

Checking real-time data

How many users are currently active on the site?

Getting metadata information

What metrics are available for me to query in GA4?

Development

  1. Clone the repository
  2. Install development dependencies: pip install -e ".[dev]"
  3. Run tests: pytest

License

MIT

Metadata

Release files for iflow-mcp_harshfolio_mcp-server-ga4 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_harshfolio_mcp-server-ga4 0.1.0
File Size Uploaded
iflow_mcp_harshfolio_mcp_server_ga4-0.1.0.tar.gz 8.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_harshfolio_mcp-server-ga4 0.1.0
File Interpreter ABI Platform
iflow_mcp_harshfolio_mcp_server_ga4-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 18.1 kB

Release files / iflow_mcp_harshfolio_mcp_server_ga4-0.1.0.tar.gz

Download URL iflow_mcp_harshfolio_mcp_server_ga4-0.1.0.tar.gz
Size 8.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4ad08cdbe22fe6604e9b8aa9c0b442cba995ed698419654dcdfe31e1501363ac
BLAKE2b-256 checksum
How to use checksums
dc8078293b548dd23596c0dacffb0587456b8a9567b39eae832d5fed5790489c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_harshfolio_mcp_server_ga4-0.1.0-py3-none-any.whl

Download URL iflow_mcp_harshfolio_mcp_server_ga4-0.1.0-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3dc400a1c0cc4579a2b121f56a96f5f037470983d63e6295a2963def4f719c69
BLAKE2b-256 checksum
How to use checksums
e0ad9c7cd542b3d318412188ea08f5467b3e5615f9277a592974b6dfbd873e45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page