🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

google-analytics-4-mcp

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

google-analytics-4-mcp

MCP server for Google Analytics 4 - setup properties, streams, and query reports via Admin & Data APIs

pipPyPI
Version
0.1.1
Weekly downloads
50
Maintainers
1

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)

  • Google Cloud ConsoleIAM & Admin → Service Accounts

    • Create a service account (any name)
    • Click it → Keys → Add Key → JSON → Download
  • 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):

    • 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

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

  • Check auth: Call check_auth_status to verify the service account is configured
  • List accounts: Call list_accounts to see your GA4 accounts
  • Setup a property: Use create_propertycreate_web_data_streamget_tracking_snippet
  • 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_CREDENTIALSService 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

Keywords

mcp

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts