Google Analytics数据服务器

一个基于Model Context Protocol TypeScript SDK的MCP服务器实现,用于访问Google Analytics 4 (GA4)数据,提供页面浏览量、活跃用户、事件分析等功能。

  • by ruchernchong
  • JavaScript
  • 本地部署
  • 70 星标
  • 更新于
在 GitHub 查看 ruchernchong/mcp-server-google-analytics

使用说明

谷歌分析MCP服务器

用于访问Google Analytics 4(GA4)数据的MCP服务器实现,使用模型上下文协议构建 TypeScript SDK。

特性

  • 通过可定制的维度获取页面浏览量指标
  • 随着时间的推移跟踪活跃用户和新用户
  • 分析特定事件及其指标
  • 监控用户行为指标(会话持续时间、跳出率)
  • 为所有查询灵活选择日期范围

先决条件

  • Node.js 20或更高版本
  • 谷歌分析4属性。
  • Google Cloud项目 分析数据API 启用。
  • 具有访问API的凭据的服务帐户。

设置和配置

要使用此服务器,您需要使用Google Analytics配置身份验证。这是使用服务帐户完成的。

1.启用Google Analytics Data API

  1. 转到 谷歌云控制台.
  2. 选择要使用的项目。
  3. 在导航菜单中,转到 API和服务>库.
  4. 搜索 “谷歌分析数据API” 并启用它。

2.创建服务帐户

  1. 在Google Cloud控制台中,导航到 IAM和管理>服务帐户.
  2. 点击 “创建服务帐户”.
  3. 为服务帐户命名(例如“GA4 MCP服务器”)。
  4. 点击 “创建并继续”.
  5. 您可以跳过授予服务帐户对项目的访问权限。
  6. 点击 “完成”.
  7. 找到您刚刚创建的服务帐户,然后单击下面的三个点 “行动”.
  8. 选择 **“管理密钥”**那么 “添加密钥”>“创建新密钥”.
  9. 选择 对象符号 作为密钥类型,然后单击 “创建”。将下载包含凭据的JSON文件。

3.授予服务帐户访问Google Analytics的权限

  1. 打开 谷歌分析.
  2. 导航到 管理员 GA4财产的一部分。
  3. 上下 财产 列,单击 物业出入管理.
  4. 点击 "+" 按钮添加新用户。
  5. 在 “电子邮件地址” 字段,粘贴 client_email 从您下载的JSON凭据文件中。
  6. 分配 “查看器” 角色。您不需要通知用户。
  7. 点击 “添加”.

4.设置环境变量

服务器需要以下环境变量:

  • GOOGLE_CLIENT_EMAIL:The client_email 从您的服务帐户JSON文件。
  • GOOGLE_PRIVATE_KEY:The private_key 从您的服务帐户JSON文件。
  • GA_PROPERTY_ID:您的Google Analytics 4属性ID。

您可以在您的环境中设置它们或使用 .env 文件。

export GOOGLE_CLIENT_EMAIL="your-service-account@your-project.iam.gserviceaccount.com"
export GOOGLE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\nYOUR_PRIVATE_KEY\n-----END PRIVATE KEY-----\n"
export GA_PROPERTY_ID="your_property_id"

安装

通过Smithery安装

通过以下方式自动安装Google Analytics Server for Claude Desktop 史密瑟里:

npx -y @smithery/cli install mcp-server-google-analytics --client claude

手动安装

npm install -g mcp-server-google-analytics

或者直接与npx一起使用:

npx mcp-server-google-analytics

用法

启动服务器

pnpm start

Claude桌面中的配置

将此添加到您的Claude Desktop配置中:

{
  "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"
      }
    }
  }
}

可用功能

runReport

运行灵活的报告以获取分析数据。

输入:

{
  "startDate": "2024-01-01",
  "endDate": "2024-01-31",
  "dimensions": [{ "name": "country" }, { "name": "city" }],
  "metrics": [{ "name": "activeUsers" }, { "name": "newUsers" }],
  "dimensionFilter": {
    "filter": {
      "fieldName": "country",
      "stringFilter": {
        "value": "United States"
      }
    }
  }
}

获取页面浏览量

获取特定日期范围的页面浏览量指标:

{
  "startDate": "2024-01-01",
  "endDate": "2024-01-31",
  "dimensions": ["page", "country"] // Optional
}

GetActiveUsers

获取活跃用户指标:

{
  "startDate": "2024-01-01",
  "endDate": "2024-01-31"
}

get事件

获取事件指标:

{
  "startDate": "2024-01-01",
  "endDate": "2024-01-31",
  "eventName": "purchase" // Optional
}

getUserBehavior

获取用户行为指标:

{
  "startDate": "2024-01-01",
  "endDate": "2024-01-31"
}

安全考虑

  • 最小特权:仅在Google Analytics中授予服务帐户“查看器”角色。
  • 密钥管理:确保您的服务帐户密钥文件安全,不要在客户端代码中公开它。
  • 环境变量:使用环境变量存储敏感信息,如客户端电子邮件、私钥和属性ID。

贡献

欢迎投稿!请阅读我们的 贡献指南 有关我们行为准则的详细信息,以及 提交pull请求的过程。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。