GA4分析服务器

一个基于Model Context Protocol (MCP)的服务器,连接Google Analytics 4 (GA4)并提供多种分析工具,适用于Claude Desktop等应用。

  • by naihaoko
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 naihaoko/ga4-mcp-server

使用说明

GA4 MCP服务器

该项目设置了一个模型上下文协议(MCP)服务器,该服务器使用 @modelcontextprotocol/sdk 和那个 @google-analytics/data 图书馆。它公开了几个GA4分析工具,可用于Claude Desktop等应用程序。

设置

  1. 克隆存储库:

    git clone <repository-url>
    cd ga4-mcp-server
    
  2. 安装依赖项:

    如果 package.json 不存在,请先初始化它:

    npm init -y
    

    然后,安装项目的依赖项:

    npm install @modelcontextprotocol/sdk @google-analytics/data dotenv
    

    此命令安装所有必要的项目依赖项,包括MCP SDK、Google Analytics数据库和用于环境变量管理的dotenv。

  3. Google服务帐户密钥:

    若要使用Google Analytics Data API进行身份验证,您需要一个Google服务帐户密钥。按照以下步骤获得一个:

    • 创建服务帐户:
      1. 转到 谷歌云控制台.
      2. 导航到“IAM&Admin”>“服务帐户”。
      3. 单击“创建服务帐户”。
      4. 提供服务帐户的名称和可选描述。
      5. 单击“完成”。
    • 授予权限:
      1. 创建服务帐户后,您需要授予它访问您的Google Analytics 4数据所需的权限。
      2. 在“授予此服务帐户对项目的访问权限”步骤中(或稍后编辑服务帐户),添加角色 “分析查看器” 到服务帐户。此角色授予对Google Analytics数据的只读访问权限。
      3. 单击“完成”。
    • 生成JSON密钥:
      1. 在“服务帐户”页面中,单击新创建的服务帐户。
      2. 转到“密钥”选项卡。
      3. 单击“添加密钥”>“创建新密钥”。
      4. 选择“JSON”作为密钥类型,然后单击“创建”。
      5. 包含您的服务帐户密钥的JSON文件将被下载到您的计算机上。
    • 保存密钥文件: 将下载的JSON密钥文件放置在此存储库的项目根目录中。将文件重命名为 service-account-key.json (或更新 .env 如果您选择其他名称,请相应地创建文件)。
  4. 环境变量:

    创建一个 .env 项目根目录中的文件,内容如下:

    GOOGLE_APPLICATION_CREDENTIALS="./service-account-key.json"
    GA_PROPERTY_ID="YOUR_GA_PROPERTY_ID"
    

    替换 "YOUR_GA_PROPERTY_ID" 使用您的实际Google Analytics 4属性ID。

    如何查找您的GA4房产ID:

    1. 去你的 谷歌分析 账户
    2. 选择所需的GA4属性。
    3. 导航到“管理员”(左下角的齿轮图标)。
    4. 在“属性”列中,单击“属性设置”。
    5. 您的GA4属性ID将显示在那里(它是一个数字ID。, 123456789).
  5. 配置MCP兼容应用程序(例如,Claude Desktop、Gemini CLI):

    要将此MCP服务器与您首选的MCP兼容应用程序集成,您需要将配置代码段添加到其设置文件中。该文件的位置和名称可以变化(例如。, claude_desktop_config.json 适用于克劳德桌面,或 ~/.gemini/settings.json Gemini CLI)。

    有关安装和使用Gemini CLI的更多信息,请参阅其GitHub存储库: https://github.com/google-gemini/gemini-cli

    对于Claude Desktop,请访问: https://claude.ai/download

    找到应用程序的设置文件,并在下面添加以下JSON代码段 mcpServers 钥匙。如果 mcpServers 密钥不存在,您可能需要创建它。

    {
      "mcpServers": {
        "ga4-analytics": {
          "name": "google_analytics",
          "command": "node",
          "args": ["<PATH_TO_YOUR_REPO>/src/index.js"],
          "cwd": "<PATH_TO_YOUR_REPO>",
          "env": {
            "GOOGLE_APPLICATION_CREDENTIALS": "<PATH_TO_YOUR_REPO>/service-account-key.json",
            "GA_PROPERTY_ID": "YOUR_GA_PROPERTY_ID"
          }
        }
      }
    }
    

    重要提示: 替换 <PATH_TO_YOUR_REPO> 与你的绝对路径 ga4-mcp-server 本地计算机上的目录。

运行服务器

要运行MCP服务器,请在终端中执行以下命令:

node src/index.js

对于后台执行,您可以使用:

node src/index.js &

开始问GA4问题

添加配置并运行MCP服务器后,重新启动与MCP兼容的应用程序(例如,Claude Desktop、Gemini CLI)以使更改生效。然后,您可以在应用程序中开始使用GA4 MCP工具。

可用工具

此服务器公开了以下Google Analytics 4工具,允许您通过MCP接口从GA4属性中检索各种类型的数据:

工具名称 描述 用途 建议提示
query_analytics 根据提供的属性ID、维度、指标和日期范围查询Google Analytics 4数据。 这是一个通过指定维度(数据的组织方式,如国家、设备)和指标(实际数据点,如活动用户、会话)来获取自定义报告的多功能工具。当您需要分析其他预定义工具未涵盖的特定数据组合时,这是理想的。 “按国家/地区为我获取过去7天的总用户数和会话数。”或“按设备类别查询页面浏览量和活跃用户的分析数据。”
get_realtime_data 检索Google Analytics 4属性的实时活动用户数据。 使用此工具查看您的网站或应用程序上现在发生了什么。它提供了对活跃用户和其他实时指标的即时洞察,这对于监控实时活动或突然的流量变化至关重要。 “我的网站上当前的活跃用户数量是多少?”或“显示活跃用户和新用户的实时数据。”
get_traffic_sources 检索您的Google Analytics 4属性的流量源数据(例如,通道、源、介质)。 了解你的用户来自哪里。此工具可帮助您分析营销渠道的有效性(例如,有机搜索、社交、直接),并确定哪些来源的流量和参与度最高。 “显示上个月的流量来源。”或“推动我网站流量的前5个渠道是什么?”
get_user_demographics 检索您的Google Analytics 4属性的用户人口统计数据(例如,国家、城市、设备类别)。 深入了解受众的特点。这些数据可以帮助您根据特定的用户群体定制内容、产品或服务,并了解用户的地理分布和设备偏好。 “过去90天内,我的用户在国家和设备类别方面的人口统计数据是什么?”或“获取包括城市和国家在内的用户人口统计数据。”
get_page_performance 检索您的Google Analytics 4属性的页面性能数据(例如,页面路径、页面标题、视图)。 评估您网站/应用程序上单个页面或屏幕的性能。这有助于识别流行内容、可能需要改进的领域,并了解用户对网站不同部分的参与度。 “显示上周前10个页面的页面性能。”或“过去30天内哪些页面的浏览量最大?”
get_key_event_data 检索Google Analytics 4属性的关键事件数据。 跟踪关键业务目标的成功情况。此工具允许您查看有多少用户正在完成特定操作(关键事件),如购买、注册或表单提交,为投资回报率分析和目标优化提供了有价值的数据。 “获取上个季度‘view_phone_number’事件的关键事件数据。”或“上个月我有多少‘sign_up’关键事件?”
get_custom_report 根据提供的属性ID、维度、指标和日期范围从Google Analytics 4检索自定义报告。此工具类似于 query_analytics 但允许更具体的用例,其中为了清楚起见,定制工具可能是首选。 类似于 query_analytics,此工具为生成具有特定维度和指标的报告提供了灵活性。它可用于标准报告之外的高度定制的数据提取,允许对用户行为和业务绩效进行深入分析。 “创建一个自定义报告,按浏览器和操作系统显示过去一年的用户。”或“我需要一个自定义的报告,按流量源和设备显示过去6个月的会话、新用户和事件。”

贡献

请随意分叉此存储库并为其开发做出贡献。