mcp-name: io.github.surendranb/google-analytics-mcp
连接 Google Analytics 4 数据到 Claude、Cursor 和其他 MCP 客户端。使用自然语言查询您的网站流量、用户行为和分析数据,访问超过 200 个 GA4 维度和指标。
兼容性: Claude、Cursor 和其他 MCP 客户端。
我还构建了一个 Google 搜索控制台 MCP,使您可以混合匹配来自两个来源的数据。
</p>检查您的 Python 设置:
# 检查 Python 版本(需要 3.10 或更高)
python --version
python3 --version
# 检查 pip
pip --version
pip3 --version
必需项:
client_email 字段ga4-mcp-server@your-project.iam.gserviceaccount.com)123456789)
验证您的凭据:
pip install google-analytics-data
创建一个测试脚本(test_ga4.py):
import os
from google.analytics.data_v1beta import BetaAnalyticsDataClient
# 设置凭据路径
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "/path/to/your/service-account-key.json"
# 测试连接
client = BetaAnalyticsDataClient()
print("✅ GA4 凭据正常工作!")
运行测试:
python test_ga4.py
如果您看到“✅ GA4 凭据正常工作!”则可以继续进行下一步。
选择一种方法:
pip install google-analytics-mcp
MCP 配置:
首先,检查您的 Python 命令:
python3 --version
python --version
然后使用适当的配置:
如果 python3 --version 工作:
{
"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"
}
}
}
}
如果 python --version 工作:
{
"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 配置:
{
"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"
}
}
}
}
在您的 MCP 配置中替换这些占位符:
/path/to/your/service-account-key.json 替换为您 JSON 文件的路径123456789 替换为您的 GA4 属性 ID/full/path/to/ga4-mcp-server/ 替换为您下载的路径(仅限方法 B)配置完成后,向您的 MCP 客户端提问如下:
尝试这些示例查询以了解 MCP 的分析能力:
显示过去 30 天内按城市的访客地图,并按新访客和回访者细分
这展示了:
比较过去 90 天内按设备类别和浏览器划分的平均会话时长和每会话页面数
这展示了:
显示过去 30 天与前 30 天相比按流量源和活动划分的转化率和收入
这展示了:
我的前 10 个页面按参与率排名如何,它们的表现在过去 3 个月内有何变化?
这展示了:
此 MCP 服务器包括内置优化以防止上下文窗口崩溃并确保平稳运行:
limit - 设置要返回的最大行数proceed_with_large_dataset=True - 覆盖大型数据集的警告enable_aggregation=False - 禁用自动聚合estimate_only=True - 获取行数估计而不获取数据# 此查询通常会返回 2,605 行并导致上下文窗口崩溃
get_ga4_data(
dimensions=["date", "pagePath", "country"],
date_range_start="90daysAgo"
)
# 返回:{"warning": True, "estimated_rows": 2605, "suggestions": [...]}
# 使用每月聚合代替
get_ga4_data(
dimensions=["month", "pagePath", "country"],
date_range_start="90daysAgo"
)
# 返回:干净的月度数据,具有可控的行数
服务器提供了一系列工具用于数据报告和模式发现。
search_schema - 在所有可用维度和指标中搜索关键字。这是发现查询字段的最有效方式。get_ga4_data - 获取 GA4 数据,内置智能以获得更好更安全的结果(包括数据量保护、智能聚合和智能排序)。list_dimension_categories - 列出所有可用的维度类别。list_metric_categories - 列出所有可用的指标类别。get_dimensions_by_category - 获取特定类别的所有维度。get_metrics_by_category - 获取特定类别的所有指标。get_property_schema - 返回属性的完整模式(警告:这可能是一个非常大的对象)。访问组织好的 200+ GA4 维度和指标:
如果遇到“没有名为 ga4_mcp_server 的模块”错误(方法 A):
pip3 install --user google-analytics-mcp
如果遇到“找不到可执行文件”错误:
python vs python3)pip3 而不是 pip权限错误:
# 尝试用户安装而不是系统范围安装
pip install --user google-analytics-mcp
凭据不起作用:
123456789)✅G-XXXXXXXXXX)❌API 配额/速率限制错误:
google-analytics-mcp/
├── ga4_mcp/ # 主包目录
│ ├── server.py # 核心服务器逻辑
│ ├── coordinator.py # MCP 实例
│ └── tools/ # 工具定义(报告、元数据)
├── pyproject.toml # PyPI 的包配置
├── requirements.txt # 本地开发依赖
├── README.md # 本文件
└── ...
MIT 许可证