使用说明
GA4 MCP服务器
用于Google Analytics 4(GA4)的模型上下文协议(MCP)服务器,提供通过管理API和数据API查询GA4数据的工具。
特性
- 双重认证:支持OAuth Playground令牌和服务帐户凭据
- 8 GA4工具:
- 账户和财产管理(管理API)
- 报表执行和实时数据(data API)
- GTM → GA4参数验证 (跨平台编排)
- 与Claude Desktop兼容 以及其他启用MCP的客户端
- GTM集成:与GTM MCP服务器配合使用,进行端到端事件验证
安装
npm install
npm run build
快速入门(OAuth设置)
1.创建OAuth凭据
- 首选 谷歌云控制台
- 创建新项目或选择现有项目
- 启用 谷歌分析数据API 和 Google Analytics管理员API
- 首选 凭证 → 创建凭据 → OAuth客户端ID
- 选择 桌面应用程序 作为应用程序类型
- 下载或复制客户端ID和客户端密码
2.运行安装脚本
# Set your OAuth credentials
export GA4_CLIENT_ID="your-client-id.apps.googleusercontent.com"
export GA4_CLIENT_SECRET="your-client-secret"
# Run setup to authenticate with Google
npm run setup
这将:
- 打开浏览器进行谷歌登录
- 请求以只读方式访问Google Analytics
- 将令牌保存到
~/.ga4-mcp/tokens.json
3.使用服务器
一旦通过身份验证,您就可以将MCP服务器与Claude Desktop或其他客户端一起使用。
认证
服务器支持两种身份验证方法,按以下顺序检查:
1.OAuth游乐场令牌(建议个人使用)
设置这些环境变量:
GA4_ACCESS_TOKEN-OAuth访问令牌GA4_REFRESH_TOKEN-OAuth刷新令牌GA4_CLIENT_ID-OAuth客户端IDGA4_CLIENT_SECRET-OAuth客户端密钥
或创建 ~/.ga4-mcp/tokens.json:
{
"access_token": "your-access-token",
"refresh_token": "your-refresh-token",
"client_id": "your-client-id",
"client_secret": "your-client-secret"
}
2.服务帐户(建议用于生产)
选项(按优先级顺序):
- 集
GA4_SERVICE_ACCOUNT_JSON带有JSON字符串的环境变量 - 集
GOOGLE_APPLICATION_CREDENTIALS到JSON文件路径 - 将JSON文件放置在
~/.ga4-mcp/credentials.json - 将JSON文件放入
./Credential/文件夹
用法
Claude桌面配置
添加到您的Claude Desktop配置(~/.config/claude-desktop/config.json):
{
"mcpServers": {
"ga4": {
"command": "node",
"args": ["/path/to/ga4-mcp-server/dist/index.js"],
"env": {
"GA4_ACCESS_TOKEN": "your-access-token",
"GA4_REFRESH_TOKEN": "your-refresh-token",
"GA4_CLIENT_ID": "your-client-id",
"GA4_CLIENT_SECRET": "your-client-secret"
}
}
}
}
直接执行
# With OAuth environment variables
GA4_ACCESS_TOKEN="..." GA4_REFRESH_TOKEN="..." GA4_CLIENT_ID="..." GA4_CLIENT_SECRET="..." node dist/index.js
# With Service Account
GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account.json" node dist/index.js
可用工具
管理API工具
| 工具 | 说明 |
|---|---|
ga4_account_summaries |
列出用户有权访问的所有GA4帐户和属性 |
ga4_property_details |
获取特定房产的详细信息 |
ga4_google_ads_links |
列出链接到某个属性的Google Ads帐户 |
ga4_property_annotations |
列出属性的注释(支持有限) |
API数据工具
| 工具 | 说明 |
|---|---|
ga4_run_report |
运行一个包含维度、指标和日期范围的标准GA4报告 |
ga4_run_realtime_report |
运行最后30分钟的实时报告 |
ga4_custom_dimensions_metrics |
获取为属性定义的自定义维度和指标 |
GTM验证工具
| 工具 | 说明 |
|---|---|
ga4_validate_gtm_params |
根据GA4自定义维度和数据收集验证GTM事件参数 |
示例用法
获取帐户摘要
{
"tool": "ga4_account_summaries"
}
运行报告
{
"tool": "ga4_run_report",
"arguments": {
"propertyId": "123456789",
"dateRanges": [
{"startDate": "30daysAgo", "endDate": "yesterday"}
],
"dimensions": ["country", "deviceCategory"],
"metrics": ["activeUsers", "sessions"]
}
}
运行实时报告
{
"tool": "ga4_run_realtime_report",
"arguments": {
"propertyId": "123456789",
"dimensions": ["country"],
"metrics": ["activeUsers"]
}
}
验证GTM参数
{
"tool": "ga4_validate_gtm_params",
"arguments": {
"propertyId": "123456789",
"gtmEvents": [
{
"eventName": "purchase",
"parameters": ["transaction_id", "value", "currency"]
}
],
"startDate": "7daysAgo",
"endDate": "yesterday"
}
}
或者使用GTM导出JSON:
{
"tool": "ga4_validate_gtm_params",
"arguments": {
"propertyId": "123456789",
"gtmExportJson": { "...GTM container export data..." }
}
}
GTM集成(克劳德代理编排)
该服务器与GTM MCP服务器协同工作,提供GA4中GTM事件参数的端到端验证。
建筑
┌─────────────────────────────────────────────────────────────────────┐
│ Claude Agent │
│ (Orchestrator Role) │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ① GTM MCP Server ② GA4 MCP Server │
│ (gtmAgent/mcp-server) (ga4-mcp-server) │
│ │
│ gtm_export_full() ga4_validate_gtm_params() │
│ gtm_tag().list() ga4_custom_dimensions_metrics() │
│ │ ga4_run_report() │
│ │ ▲ │
│ └───────────────────────────────────┘ │
│ Agent relays data │
│ │
└─────────────────────────────────────────────────────────────────────┘
工作流程
- GTM提取物:
gtm_export_full()→ 获取GA4事件标签和参数 - 在GA4中验证:
ga4_validate_gtm_params()→ 检查登记和领取情况 - 获取推荐:参数未注册或未收集数据
Claude桌面配置(两台服务器)
{
"mcpServers": {
"gtm": {
"command": "node",
"args": ["/path/to/gtmAgent/mcp-server/dist/index.js"],
"env": {}
},
"ga4": {
"command": "node",
"args": ["/path/to/ga4-mcp-server/dist/index.js"],
"env": {
"GA4_ACCESS_TOKEN": "your-access-token",
"GA4_REFRESH_TOKEN": "your-refresh-token",
"GA4_CLIENT_ID": "your-client-id",
"GA4_CLIENT_SECRET": "your-client-secret"
}
}
}
}
API调用效率
| 场景 | 传统 | 优化 | 减少 |
|---|---|---|---|
| 5个事件×21个参数 | 105个呼叫 | 22个呼叫 | 79% |
| 14个事件×32个参数 | 448个呼叫 | 33个呼叫 | 93% |
验证工具查询元数据一次,然后为每个唯一参数而不是每个事件-参数组合调用一个API。
API文件参考
要求的Google API范围
服务器使用以下作用域:
https://www.googleapis.com/auth/analytics.readonly
许可证
麻省理工学院