mcp-server-google-analytics
by: ruchernchong
Model Context Protocol server for Google Analytics, enabling LLMs to fetch and analyze web analytics data
📌Overview
Purpose: To provide a streamlined implementation for accessing Google Analytics 4 (GA4) data using the Model Context Protocol TypeScript SDK.
Overview: The Google Analytics MCP Server allows users to extract and analyze GA4 data effectively. It supports various metrics and dimensions, making it a robust tool for developers looking to integrate Google Analytics insights into their applications.
Key Features:
-
Customizable Page View Metrics: Enables users to gather page view data with the option for specific dimensions, allowing tailored analytics for detailed insights.
-
User Engagement Tracking: Track the active and new users over time, alongside comprehensive metrics for session duration and bounce rates, providing a clear picture of user engagement.
-
Event Analysis: Tools to analyze specific events and their metrics facilitate deeper understanding of user interactions and behaviors on the website.
-
Flexible Date Range Selection: Allows users to configure date ranges for their queries, offering flexibility to analyze data across different periods.
Google Analytics MCP Server
An MCP server implementation for accessing Google Analytics 4 (GA4) data, built using the Model Context Protocol TypeScript SDK.
Features
- Get page view metrics with customizable dimensions
- Track active and new users over time
- Analyze specific events and their metrics
- Monitor user behavior metrics (session duration, bounce rate)
- Flexible date range selection for all queries
Prerequisites
- Node.js 20 or higher
- Google Analytics 4 property
- Google Cloud project with Analytics Data API enabled
- Service account credentials with appropriate permissions
Setup
- Create a Google Cloud project and enable the Analytics Data API
- Create a service account and download the credentials JSON file
- Grant the service account appropriate access to your GA4 property
- Set up 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"
Installation
Installing via Smithery
To install Google Analytics Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install mcp-server-google-analytics --client claude
Manual Installation
pnpm install mcp-server-google-analytics
Usage
Starting the Server
pnpm start
Configuration in Claude Desktop
Add this to your Claude Desktop configuration:
{
"mcpServers": {
"google-analytics": {
"command": "npx",
"args": ["-y", "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"
}
}
}
}
Available Functions
getPageViews
Get page view metrics for a specific date range:
{
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"dimensions": ["page", "country"] // Optional
}
getActiveUsers
Get active users metrics:
{
"startDate": "2024-01-01",
"endDate": "2024-01-31"
}
getEvents
Get event metrics:
{
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"eventName": "purchase" // Optional
}
getUserBehavior
Get user behavior metrics:
{
"startDate": "2024-01-01",
"endDate": "2024-01-31"
}
Security Considerations
- Always use environment variables for sensitive credentials
- Implement appropriate CORS settings
- Follow the principle of least privilege when setting up service account permissions
- Regularly rotate service account credentials
- Monitor API usage and implement rate limiting if needed
Contributing
Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
License
This project is licensed under the MIT License - see the LICENSE file for details.