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 "Install 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 ServerShow 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: Google Analytics MCP Server
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
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/stucchi/mcp-google-analytics'
If you have feedback or need assistance with the MCP directory API, please join our Discord server