by surendranb
Google Analytics MCP Server is a Python-based tool that enables Large Language Models (LLMs) to access and analyze Google Analytics 4 (GA4) data using natural language, providing conversational querying of over 200 GA4 dimensions and metrics.
Google Analytics MCP Server is a Python-based tool that allows Large Language Models (LLMs) like Claude and Cursor to access and analyze Google Analytics 4 (GA4) data using natural language. It provides access to over 200 GA4 dimensions and metrics, enabling users to query website traffic, user behavior, and analytics data conversationally.
To use the Google Analytics MCP Server, you need Python 3.10+ and a GA4 property with data. The setup involves:
pip
(recommended) or by cloning the GitHub repository.Once configured, you can ask your MCP client natural language questions to retrieve and analyze GA4 data.
get_ga4_data
, list_dimension_categories
, list_metric_categories
, get_dimensions_by_category
, get_metrics_by_category
.Q: What if I get "No module named ga4_mcp_server"?
A: Try pip3 install --user google-analytics-mcp
.
Q: What if I get "executable file not found"?
A: Try using the other Python command (python
vs python3
) or pip3
instead of pip
.
Q: How to resolve permission errors?
A: Try pip install --user google-analytics-mcp
for user-specific installation.
Q: My credentials are not working. What should I do? A: Verify the JSON file path, check service account permissions in Google Cloud Console, ensure the service account has "Viewer" access in GA4, and confirm you are using the numeric GA4 Property ID (not the Measurement ID starting with G-).
Q: I am encountering API quota/rate limit errors. A: GA4 has daily quotas and rate limits. Try reducing the date range in your queries or wait a few minutes between large requests.
Connect Google Analytics 4 data to Claude, Cursor and other MCP clients. Query your website traffic, user behavior, and analytics data in natural language with access to 200+ GA4 dimensions and metrics.
Compatible with: Claude, Cursor and other MCP clients.
I also built a Google Search Console MCP that enables you to mix & match the data from both the sources
Check your Python setup:
# Check Python version (need 3.10+)
python --version
python3 --version
# Check pip
pip --version
pip3 --version
Required:
client_email
fieldga4-mcp-server@your-project.iam.gserviceaccount.com
)123456789
)
Verify your credentials:
pip install google-analytics-data
Create a test script (test_ga4.py
):
import os
from google.analytics.data_v1beta import BetaAnalyticsDataClient
# Set credentials path
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "/path/to/your/service-account-key.json"
# Test connection
client = BetaAnalyticsDataClient()
print("✅ GA4 credentials working!")
Run the test:
python test_ga4.py
If you see "✅ GA4 credentials working!" you're ready to proceed.
Choose one method:
pip install google-analytics-mcp
MCP Configuration:
First, check your Python command:
python3 --version
python --version
Then use the appropriate configuration:
If python3 --version
worked:
{
"mcpServers": {
"ga4-analytics": {
"command": "python3",
"args": ["-m", "ga4_mcp_server"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json",
"GA4_PROPERTY_ID": "123456789"
}
}
}
}
If python --version
worked:
{
"mcpServers": {
"ga4-analytics": {
"command": "python",
"args": ["-m", "ga4_mcp_server"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json",
"GA4_PROPERTY_ID": "123456789"
}
}
}
}
git clone https://github.com/surendranb/google-analytics-mcp.git
cd google-analytics-mcp
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
MCP Configuration:
{
"mcpServers": {
"ga4-analytics": {
"command": "/full/path/to/ga4-mcp-server/venv/bin/python",
"args": ["/full/path/to/ga4-mcp-server/ga4_mcp_server.py"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json",
"GA4_PROPERTY_ID": "123456789"
}
}
}
}
Replace these placeholders in your MCP configuration:
/path/to/your/service-account-key.json
with your JSON file path123456789
with your GA4 Property ID/full/path/to/ga4-mcp-server/
with your download path (Method B only)Once configured, ask your MCP client questions like:
Try these example queries to see the MCP's analytical capabilities:
Show me a map of visitors by city for the last 30 days, with a breakdown of new vs returning users
This demonstrates:
Compare average session duration and pages per session by device category and browser over the last 90 days
This demonstrates:
Show me conversion rates and revenue by traffic source and campaign, comparing last 30 days vs previous 30 days
This demonstrates:
What are my top 10 pages by engagement rate, and how has their performance changed over the last 3 months?
This demonstrates:
The server provides 5 main tools:
get_ga4_data
- Retrieve GA4 data with custom dimensions and metricslist_dimension_categories
- Browse available dimension categorieslist_metric_categories
- Browse available metric categoriesget_dimensions_by_category
- Get dimensions for a specific categoryget_metrics_by_category
- Get metrics for a specific categoryAccess to 200+ GA4 dimensions and metrics organized by category:
If you get "No module named ga4_mcp_server" (Method A):
pip3 install --user google-analytics-mcp
If you get "executable file not found":
python
vs python3
)pip3
instead of pip
if neededPermission errors:
# Try user install instead of system-wide
pip install --user google-analytics-mcp
Credentials not working:
123456789
) ✅G-XXXXXXXXXX
) ❌API quota/rate limit errors:
google-analytics-mcp/
├── ga4_mcp_server.py # Main MCP server
├── ga4_dimensions.json # All available GA4 dimensions
├── ga4_metrics.json # All available GA4 metrics
├── requirements.txt # Python dependencies
├── pyproject.toml # Package configuration
├── README.md # This file
└── claude-config-template.json # MCP configuration template
MIT License
Please log in to share your review and rating for this MCP.
Discover more MCP servers with similar functionality and use cases
by mckinsey
Build high-quality data visualization apps quickly with low‑code configuration, leveraging Plotly, Dash, and Pydantic while allowing deep customisation through Python, JavaScript, HTML, and CSS.
by antvis
mcp-server-chart is a Model Context Protocol (MCP) server developed by AntV that generates over 25 types of visual charts. It provides robust chart generation and data analysis capabilities, integrating with various AI clients and platforms.
by reading-plus-ai
mcp-server-data-exploration is an MCP server designed for autonomous data exploration on CSV-based datasets. It acts as a personal Data Scientist assistant, providing intelligent insights with minimal effort.
by Canner
Wren Engine is a semantic engine designed for Model Context Protocol (MCP) clients and AI agents, enabling accurate and context-aware access to enterprise data.
by GongRzhe
A Model Context Protocol (MCP) server for generating various types of charts using QuickChart.io, enabling chart creation through MCP tools.
by ergut
mcp-bigquery-server is a Model Context Protocol (MCP) server that enables Large Language Models (LLMs) to securely and efficiently interact with Google BigQuery datasets. It acts as a translator, allowing LLMs to query and analyze data in BigQuery using natural language instead of SQL.
by isaacwasserman
Provides tools for saving data tables and generating Vega‑Lite visualizations via an MCP interface, supporting both textual specifications and PNG image output.
by tinybirdco
Provides a Model Context Protocol server implementation for Tinybird, allowing analytics agents to forward data to Tinybird's platform.
by GongRzhe
JSON-MCP-Server is a JSON Model Context Protocol (MCP) server that enables Large Language Models (LLMs) to query and manipulate JSON data. It provides advanced data interaction capabilities through standardized tools and JSONPath syntax.