使用说明
GA4自动化MCP服务器
这个项目是 谷歌分析4(GA4)自动化服务器 实施为a 模型上下文协议(MCP) 工具。它允许AI代理查询GA4数据 (报告、流量来源、人口统计等),还包括一个简单的 连接测试脚本。
1.先决条件
- Node.js (推荐:最近的LTS,例如通过
nvm) - npm (随Node一起提供)
- A. GA4物业 您可以访问
- A. 谷歌云服务帐户 与:
- 这 分析数据API 启用
- 访问您的GA4属性(查看器或更高版本)
2.克隆项目并安装依赖项
cd /<path-to-your-projects>/ga4-automation
git clone https://github.com/mattwilkerson1121/ga-ai-mcp-server/ # or copy the folder another way
cd ga4-automation
npm install
(如果仓库已经在磁盘上,只需 cd /<path-to-your-project>/ga4-automation 然后跑 npm install.)
3.创建您的GA4服务帐户密钥
- 首选 谷歌云控制台→ IAM和管理员→ 服务帐户.
- 创建或选择服务帐户。
- 在...之下 钥匙,创建新 JSON 密钥并下载。
- 将JSON密钥文件保存到项目根目录中:
/<path-to-project-folder>/ga4-automation/credentials.json
- 在GA4中,授予此服务帐户访问您房产的电子邮件权限:
- 管理员→ 物业出入管理→ 添加用户→ 粘贴服务帐户电子邮件→ 至少给予 观众.
4.配置环境和测试脚本
这 测试脚本 (test-connection.js)使用环境变量(和 .env)
以定位凭据和GA4属性。
创建一个 .env 项目根目录中的文件:
cd /<path-to-project-folder>/ga4-automation
cat > .env << 'EOF'
GOOGLE_APPLICATION_CREDENTIALS=/<path-to-project-folder>/ga4-automation/credentials.json
GA_PROPERTY_ID=<your-ga4-property-id> # for multiple properties use comma‑separated list of your GA4 property IDs
EOF
关键变量:
GOOGLE_APPLICATION_CREDENTIALS:服务帐户JSON的绝对路径。GA_PROPERTY_ID:一个或多个GA4属性ID,用逗号分隔。
运行GA4连接测试
从项目根:
cd /<path-to-project-folder>/ga4-automation
npm run test:connection
预期行为:
- 对于您配置的每个属性ID,它将:
- 运行一个小型GA4报告
- 打印以下指标
activeUsers,sessions,screenPageViews,newUsers - 使用有用的提示显示任何权限或配置错误
如果你看到这样的消息:
Credentials file not found→ checkGOOGLE_APPLICATION_CREDENTIALS以及文件路径。PERMISSION_DENIED→ 确保服务帐户可以访问GA4属性。NOT_FOUND→ 属性ID可能不正确。
5.MCP服务器概述(src/index.js)
GA4自动化主服务器在 src/index.js 作为一个 主控程序
stdio上的服务器 (不是HTTP服务器)。
- 它
- 读取以下位置的凭据文件
credentials.json在项目根中。 - 创建一个
GoogleAuth和BetaAnalyticsDataClient. - 显示几个工具,例如:
query_analyticsget_realtime_dataget_traffic_sourcesget_user_demographicsget_page_performanceget_conversion_dataget_custom_report
- 通过stdin/stdout连接到MCP客户端(
StdioServerTransport).
- 读取以下位置的凭据文件
您不会通过浏览器访问此服务器或 curl;相反,是一个支持MCP的客户端
(像克劳德桌面)启动并与之对话。
6.手动运行MCP服务器(用于健全性检查)
从项目根:
cd /<path-to-project-folder>/ga4-automation
# Quick syntax check (no execution)
node --check src/index.js
# Start the server (will wait for MCP messages on stdin)
npm start
这 npm start 脚本在中定义 package.json 如:
NODE_OPTIONS='--no-deprecation' node src/index.js
如果你跑 npm start 在普通终端中,它只会等待,因为没有MCP
客户端已连接到其stdin/stdout。这是意料之中的。
7.使用克劳德(MCP)的服务器
此项目已经包含一个示例Claude MCP配置。您需要使用适当的路径更新内容,然后复制json并将其添加到您的Claude Desktop Configuration文件中(您可以在Claude AI Desktop App中找到该文件的路径,方法是转到设置>开发人员>并单击编辑配置按钮):
claude-config.json:
{
"mcpServers": {
"ga4-analytics": {
"command": "/Users/<your-user-name>/.nvm/versions/node/<your-node-version>/bin/node",
"args": [
"/<path-to-project-folder>/ga4-automation/src/index.js"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/<path-to-project-folder>/ga4-automation/credentials.json",
"GA4_PROPERTY_ID": "<your-ga4-property-id>",
"NODE_OPTIONS": "--no-deprecation"
}
}
}
}
使用Claude Desktop的步骤
- 复制
claude-config.json将其合并到Claude的MCP配置文件中 位置(因操作系统而异;请参阅Claude文档)。 - 全部调整 绝对路径 为了与您的环境相匹配:
command(您的节点二进制路径)args[0](路径到src/index.js)GOOGLE_APPLICATION_CREDENTIALSGA4_PROPERTY_ID值
- 重新启动Claude Desktop,使其能够启动新的MCP服务器。
- 在克劳德,问这样的问题:
- “使用
ga4-analytics获取最近7个页面性能数据的工具 天。” - “查询分析并向我显示2025年1月1日至2025年31月1日的新用户数量”
- “在表头创建一个包含指标名称的列的表,并向我显示会话数,new 用户,以及与正确列对应的过去30天内新用户与总用户的百分比。"
- “使用
克劳德将:
- 使用生成Node MCP服务器
command/args从claude-desktop-config.json. - 调用您定义的工具(
get_page_performance等等)来运行GA4报告。
8.工具有效载荷示例(概念性)
这些示例展示了 形状 MCP服务器期望的工具输入。这 实际布线由MCP客户端(Claude)处理;你通常会这样做 不 手动发送此JSON,但这应该能让您了解如何在Claude UI中构建提示。
例子: query_analytics
{
"propertyId": "<your-ga4-property-id>",
"startDate": "2025-01-01",
"endDate": "2025-01-31",
"dimensions": ["country", "city"],
"metrics": ["sessions", "activeUsers"]
}
例子: get_page_performance
{
"propertyId": "<your-ga4-property-id>",
"startDate": "2025-01-01",
"endDate": "2025-01-31",
"limit": 50
}
响应被标准化为JSON结构,其中包含:
rows:对象数组(维度/度量名称→ 值)rowCount:行数totals:GA4提供的任何总计
9.故障排除
-
node: command not found- 安装节点(例如。
brew install node或nvm install --lts)并打开a 新航站楼。
- 安装节点(例如。
-
ENOENT: no such file or directory, open 'credentials.json'- 确保在以下位置存在有效的JSON密钥:
/<path-to-project-folder>/ga4-automation/credentials.json,或- 更新
src/index.js指向credentials.json.
- 确保在以下位置存在有效的JSON密钥:
-
PERMISSION_DENIED跑步时npm run test:connection- 确认服务帐户有权访问GA4 Admin中的GA4属性。
-
NOT_FOUND: Property ID- 检查拼写错误
GA_PROPERTY_ID/GA4_PROPERTY_ID.
- 检查拼写错误
如果您遇到此处未涵盖的错误,请捕获完整的堆栈跟踪,然后
日志来自 npm run test:connection 或MCP客户端并调整凭证,
根据需要使用env变量或GA4访问。
如果您不断遇到错误,可能需要清除 克劳德桌面应用程序。
