Google Analytics 4 MCP Server
Allows linking Google Ads accounts to GA4 properties and managing those links.
Allows managing GA4 properties, data streams, conversions, custom dimensions/metrics, and running reports via Admin & Data APIs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Analytics 4 MCP Server Show top 5 countries by sessions last 7 days"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 Console → IAM & 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_CREDENTIALSenv var in your MCP configOption 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-mcpClaude 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-mcpGetting Started
Check auth: Call
check_auth_statusto verify the service account is configuredList accounts: Call
list_accountsto see your GA4 accountsSetup a property: Use
create_property→create_web_data_stream→get_tracking_snippetQuery data: Use
run_reportwith dimensions and metrics
Tools (23)
Auth
Tool | Description |
| Verify service account is configured and valid |
Admin API
Tool | Description |
| List accessible GA4 accounts |
| List properties for an account |
| Create a GA4 property |
| Get property details |
| Soft-delete a property |
| List data streams |
| Create web stream → get Measurement ID |
| Delete a data stream |
| Generate gtag.js HTML snippet |
| List conversion events |
| Mark event as conversion |
| Remove conversion |
| List custom dimensions |
| Create custom dimension |
| List custom metrics |
| Create custom metric |
| List Google Ads links |
| Link Google Ads account |
| Get/create Measurement Protocol secret |
Data API
Tool | Description |
| Run report with dimensions, metrics, dates, filters |
| Real-time active users and events |
| List available dimensions and metrics |
Environment Variables
Variable | Default | Description |
| — | Service Account JSON key content (copy-paste the entire 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 toolscheck_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_google_ads_linkC
Link a Google Ads account to a GA4 property.
Inputs: customer_id (required), property_id (required). 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_google_ads_linksC
List Google Ads links for a 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
Scored across 23 tools
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.
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.
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.
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
Related MCP Connectors
Connect Google Analytics to ChatGPT. Query GA4 data in plain English and get instant insights.
Read-only Google Analytics 4 MCP server for AI assistants.
Read-only Google Search Console and Google Analytics for AI agents.
SEO & marketing toolkit for AI agents: GA4, Search Console, AdSense, GTM, PageSpeed, Trends.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to query Google Analytics accounts, properties, and run reports using natural language through the Admin and Data APIs.62Apache 2.0
- AlicenseAqualityDmaintenanceEnables 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.4MIT
- AlicenseNot gradedqualityDmaintenanceConnects to Google Analytics 4 to run reports, manage configurations, and retrieve admin data using natural language.1GPL 3.0
- AlicenseNot gradedqualityDmaintenanceEnables querying Google Analytics data and configuration through natural language using the Data and Admin APIs.Apache 2.0