项目简介

本项目 'mcp-server-google-analytics' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用提供访问 Google Analytics 4 (GA4) 数据的能力。通过此 MCP 服务器,LLM 可以获取网站的各种分析指标,从而在对话或应用中融入更丰富的上下文信息,例如用户行为分析、网站流量趋势等。

主要功能点

  • GA4 数据访问: 连接并查询 Google Analytics 4 (GA4) 属性的数据。
  • 多种指标支持: 提供页面浏览量、活跃用户、事件指标、用户行为(会话时长、跳出率等)等多种常用网站分析指标。
  • 灵活的日期范围: 支持自定义查询数据的日期范围。
  • 可定制维度: 部分功能允许自定义维度,例如按页面、国家/地区等维度分析页面浏览量。
  • MCP 标准协议: 基于 MCP 协议构建,易于与兼容 MCP 协议的 LLM 客户端集成。

安装步骤

  1. 环境准备: 确保已安装 Node.js 20 或更高版本。

  2. Google Cloud 配置:

    • 创建 Google Cloud 项目并启用 Analytics Data API。
    • 创建服务账号并下载凭据 JSON 文件。
    • 授予服务账号对您的 GA4 属性的适当访问权限。
  3. 设置环境变量: 根据您的 Google Cloud 配置,设置以下环境变量:

    export GOOGLE_CLIENT_EMAIL="[email protected]"
    export GOOGLE_PRIVATE_KEY="your-private-key"
    export GA_PROPERTY_ID="your-ga4-property-id"

    注意: 'GOOGLE_PRIVATE_KEY' 的值如果包含换行符 '\n',需要替换为实际的换行符。

  4. 安装依赖: 在项目根目录下运行以下命令安装:

    pnpm install mcp-server-google-analytics

服务器配置

要将此 MCP 服务器配置到兼容的 MCP 客户端(例如 Claude Desktop),您需要提供服务器的启动配置。以下是一个示例 JSON 配置,适用于 Claude Desktop:

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

配置参数说明:

  • '"google-analytics"': 服务器名称,您可以自定义。
  • '"command": "npx"': 启动服务器的命令,这里使用 'npx' 来运行本地安装的 'mcp-server-google-analytics' 包。
  • '"args": ["-y", "mcp-server-google-analytics"]': 传递给 'npx' 的参数,'-y' 表示跳过安装确认,'mcp-server-google-analytics' 是要执行的包名。
  • '"env"': 环境变量配置,包含了连接 Google Analytics 4 所需的凭据和属性 ID。 请务必替换为您自己的 Google Cloud 服务账号信息和 GA4 属性 ID。

基本使用方法

  1. 启动服务器: 在安装完成后,可以通过以下命令启动 MCP 服务器:

    pnpm start
  2. 在 MCP 客户端中使用: 在您的 MCP 客户端中配置好上述服务器配置后,客户端将能够通过 MCP 协议与此服务器通信。客户端可以调用服务器提供的功能 (Functions) 来获取 GA4 数据。

    例如,客户端可以请求调用 'getPageViews' 功能来获取页面浏览量数据,请求参数需要符合 'getPageViews' 功能的参数定义,例如:

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

    服务器将返回包含页面浏览量数据的 JSON-RPC 响应。您可以参考 'README.md' 文件中 "Available Functions" 部分了解更多可用功能和参数信息。

信息

分类

商业系统