Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ruchernchong/mcp-server-google-analytics
Model Context Protocol server for Google Analytics, enabling LLMs to fetch and analyze web analytics data
https://github.com/ruchernchong/mcp-server-google-analytics
Last synced: about 10 hours ago
JSON representation
Model Context Protocol server for Google Analytics, enabling LLMs to fetch and analyze web analytics data
- Host: GitHub
- URL: https://github.com/ruchernchong/mcp-server-google-analytics
- Owner: ruchernchong
- License: mit
- Created: 2024-11-29T18:29:22.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-12-29T14:52:48.000Z (22 days ago)
- Last Synced: 2025-01-18T02:40:41.519Z (3 days ago)
- Language: TypeScript
- Size: 51.8 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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
1. Create a Google Cloud project and enable the Analytics Data API
2. Create a service account and download the credentials JSON file
3. Grant the service account appropriate access to your GA4 property
4. Set up environment variables:```bash
export GOOGLE_CLIENT_EMAIL="[email protected]"
export GOOGLE_PRIVATE_KEY="your-private-key"
export GA_PROPERTY_ID="your-ga4-property-id"
```## Installation
```bash
pnpm install mcp-server-google-analytics
```## Usage
### Starting the Server
```bash
pnpm start
```### Configuration in Claude Desktop
Add this to your Claude Desktop configuration:
```json
{
"mcpServers": {
"google-analytics": {
"command": "npx",
"args": ["-y", "mcp-server-google-analytics"],
"env": {
"GOOGLE_CLIENT_EMAIL": "[email protected]",
"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:
```json
{
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"dimensions": ["page", "country"] // Optional
}
```### getActiveUsers
Get active users metrics:
```json
{
"startDate": "2024-01-01",
"endDate": "2024-01-31"
}
```### getEvents
Get event metrics:
```json
{
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"eventName": "purchase" // Optional
}
```### getUserBehavior
Get user behavior metrics:
```json
{
"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](CONTRIBUTING.md) 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](LICENSE) file for details.