About Google Analytics 4
Google Analytics 4 is an MCP server for administering GA4 properties and querying analytics data. It serves teams that manage tracking and reporting through the Google Analytics Admin and Data APIs.
Key features
- 01Create and manage GA4 properties
- 02Configure data streams and conversions
- 03Manage dimensions and metrics
- 04Run standard and realtime reports
- 05Generate tracking snippets
Use cases
- 01Setting up a property and web data stream
- 02Reviewing sessions by country over a date range
- 03Checking realtime users and events
MCP support
Exposes tools to MCP clients for GA4 account and property administration, configuration, and report queries via the Admin and Data APIs.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
uvx google-analytics-4-mcpGA_CREDENTIALSSecretGoogle Service Account JSON key content (copy-paste the entire JSON)GA_CREDENTIALS_PATHSecretAlternative: path to the Service Account JSON key fileLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEGoogle 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 config - Option B: Save the file to
~/.google-analytics-4-mcp/credentials.json
- Option A (recommended): Copy the JSON content into the
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_statusto verify the service account is configured - List accounts: Call
list_accountsto see your GA4 accounts - Setup a property: Use
create_property→create_web_data_stream→get_tracking_snippet - Query data: Use
run_reportwith 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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.