GunnarGriese/mcp-server-google-analytics
If you are the rightful owner of mcp-server-google-analytics and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol (MCP) server for accessing Google Analytics Data API using Python.
Google Analytics MCP Server (Python)
A Model Context Protocol (MCP) server that provides access to Google Analytics Data API. This Python implementation allows LLMs to retrieve reports, real-time data, and metadata from Google Analytics 4 properties.
Features
- get_report: Retrieve reports based on specified date ranges, metrics, and dimensions
- get_realtime_data: Fetch real-time analytics data
- Metadata Resources: Access metadata for Google Analytics properties including available metrics and dimensions
Prerequisites
- Google Cloud Project: Create a Google Cloud project and enable the Analytics Data API
- Service Account: Create a service account and download the credentials JSON file
- GA4 Access: Grant the service account appropriate access to your GA4 property
For detailed setup instructions, see the Google Analytics Data API documentation.
Installation
Option 1: Using pip (recommended)
pip install mcp-server-google-analytics
Option 2: From source
# Clone the repository
git clone https://github.com/GunnarGriese/mcp-server-google-analytics.git
cd mcp-server-google-analytics
# Install dependencies
pip install -e .
Configuration
Set the following environment variables:
export GOOGLE_CLIENT_EMAIL="your-service-account@project.iam.gserviceaccount.com"
export GOOGLE_PRIVATE_KEY="your-private-key"
export GA_PROPERTY_ID="your-ga4-property-id"
Finding Your Configuration Values
- GOOGLE_CLIENT_EMAIL: Found in your service account JSON file as
client_email
- GOOGLE_PRIVATE_KEY: Found in your service account JSON file as
private_key
- GA_PROPERTY_ID: Your GA4 property ID (numeric, e.g., "123456789")
Usage
Running the Server
# Using the installed script
mcp-server-google-analytics
# Or directly with Python
python -m mcp_server_google_analytics.server
Claude Desktop Integration
Add the following to your Claude Desktop configuration file:
{
"mcpServers": {
"google-analytics": {
"command": "python",
"args": ["-m", "mcp_server_google_analytics.server"],
"env": {
"GOOGLE_CLIENT_EMAIL": "your-service-account@project.iam.gserviceaccount.com",
"GOOGLE_PRIVATE_KEY": "your-private-key",
"GA_PROPERTY_ID": "your-ga4-property-id"
}
}
}
}
Alternative: Using the pip-installed script
{
"mcpServers": {
"google-analytics": {
"command": "mcp-server-google-analytics",
"env": {
"GOOGLE_CLIENT_EMAIL": "your-service-account@project.iam.gserviceaccount.com",
"GOOGLE_PRIVATE_KEY": "your-private-key",
"GA_PROPERTY_ID": "your-ga4-property-id"
}
}
}
}
Examples
Get Report
Use the get_report
tool to retrieve analytics data:
# Example arguments:
{
"start_date": "7daysAgo",
"end_date": "today",
"metrics": ["activeUsers", "screenPageViews"],
"dimensions": ["date"],
"limit": 10
}
Get Real-time Data
Use the get_realtime_data
tool to get current active users:
# Example arguments:
{
"metrics": ["activeUsers"],
"dimensions": ["deviceCategory"],
"limit": 10
}
Access Metadata
Access the ga4://property/123456789/metadata
or ga4://default/metadata
resource to see available metrics and dimensions.
Supported Date Formats
- Absolute dates:
"2024-01-01"
- Relative dates:
"today"
,"yesterday"
- Days ago:
"7daysAgo"
,"30daysAgo"
- Months ago:
"1monthAgo"
,"2monthsAgo"
Common Metrics and Dimensions
Popular Metrics
activeUsers
- Number of distinct usersscreenPageViews
- Number of page/screen viewssessions
- Number of sessionsbounceRate
- Bounce rate percentageaverageSessionDuration
- Average session duration
Popular Dimensions
date
- Date of the sessioncountry
- Country of origincity
- City of origindeviceCategory
- Device category (desktop, mobile, tablet)browser
- Browser usedoperatingSystem
- Operating system
Error Handling
The server includes comprehensive error handling for:
- Missing environment variables
- Invalid Google API credentials
- API rate limits and quotas
- Invalid property IDs
- Malformed requests
Development
Setting up for development
# Clone the repository
git clone https://github.com/your-username/mcp-server-google-analytics-python.git
cd mcp-server-google-analytics-python
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e ".[dev]"
Troubleshooting
Authentication Issues
- Verify your service account has the correct permissions
- Check that the Analytics Data API is enabled in your Google Cloud project
- Ensure your private key is properly formatted (newlines should be
\n
)
Property Access Issues
- Confirm your service account has been added to your GA4 property
- Verify the property ID is correct (numeric format)
- Check that the property has data for the requested date range
Common Error Messages
"Google Analytics client not initialized"
: Check environment variables"No property ID provided"
: Set GA_PROPERTY_ID environment variable"Google API error"
: Check API credentials and permissions
License
This project is licensed under the MIT License - see the file for details.
Contributing
Please feel free to submit a Pull Request.
Support
If you encounter any issues or have questions, please file an issue on the GitHub repository.