这是一个 Google Tag Manager (GTM) 的 MCP 服务器实现。它通过 Model Context Protocol (MCP) 协议与兼容的客户端(例如大型语言模型应用)通信,提供访问和管理 Google Tag Manager 中各种实体(如账户、容器、工作区、标签、触发器、变量、环境、版本等)的功能。

项目简介

本项目旨在将 Google Tag Manager API 的功能封装成 MCP 服务器提供的工具,使得 AI 应用或其他 MCP 客户端能够理解和操作 GTM 资源,实现 GTM 配置的自动化管理和智能交互。

主要功能点

该 MCP 服务器通过注册大量工具来提供 GTM API 的能力。主要功能包括:

  • 账户及用户权限管理: 列出账户下的用户权限,创建、获取、更新、删除用户权限。
  • 容器管理: 列出账户下的容器,创建、获取、更新、删除容器,获取容器代码片段,查找容器。
  • 工作区管理: 列出容器下的工作区,创建、获取、更新、删除工作区,获取工作区状态,同步工作区,解决工作区冲突,从工作区创建版本,快速预览工作区。
  • 标签管理: 列出工作区下的标签,创建、获取、更新、删除标签,还原标签更改。
  • 触发器管理: 列出工作区下的触发器,创建、获取、更新、删除触发器,还原触发器更改。
  • 变量管理: 列出工作区下的变量,创建、获取、更新、删除变量,还原变量更改。
  • 环境管理: 列出容器下的环境,创建、获取、更新、删除环境,重新授权环境。
  • 版本管理: 获取、更新、删除、还原容器版本,获取最新版本头,发布容器版本,设置最新版本,获取实时版本。
  • 其他实体管理: 管理 Gtag 配置、客户端、目的地、文件夹、模板、转换、区域等。

安装步骤

要运行此 MCP 服务器,您需要:

  1. 安装 Node.js (版本 16 或更高)。
  2. 一个 Google Cloud Platform 账户。
  3. 一个具有 Google Tag Manager API 访问权限的服务账户及其 JSON 密钥文件。

然后,您可以按照以下步骤进行安装:

  1. 克隆此 GitHub 仓库到您的本地或服务器:
    git clone https://github.com/stape-io/google-tag-manager-mcp-server.git
    cd google-tag-manager-mcp-server
  2. 安装项目依赖:
    npm install
  3. 在 Google Cloud Console 中创建一个服务账户,并下载 JSON 密钥文件。
  4. 创建一个 '.env' 文件,设置 'GOOGLE_APPLICATION_CREDENTIALS' 环境变量指向您的服务账户密钥文件路径:
    GOOGLE_APPLICATION_CREDENTIALS=./path/to/your/service-account-key.json
    (请将 './path/to/your/service-account-key.json' 替换为实际的文件路径)
  5. 构建项目 (如果代码是 TypeScript):
    npm run build

服务器配置

该 MCP 服务器通常作为后台进程运行,由 MCP 客户端启动和连接。MCP 客户端(如 AI 应用)需要以下配置信息来启动并连接到此服务器:

{
  "name": "google-tag-manager",
  "command": "node",
  "args": [
    "dist/index.js" // 服务器启动脚本的路径,具体路径取决于您的安装和构建过程
  ],
  "transport": {
    "type": "stdio" // 使用标准输入输出进行通信
  }
}
  • 'name': 服务器的标识符,用于 MCP 客户端区分不同的服务器。
  • 'command': 用于启动服务器进程的命令(例如 'node')。
  • 'args': 传递给启动命令的参数数组(例如服务器主脚本路径)。
  • 'transport': 定义客户端与服务器之间的传输方式,此处为 'stdio' (标准输入输出)。

请注意,上述 'args' 中的 'dist/index.js' 是一个示例路径,实际路径可能因构建设置而异。您可能需要根据项目的实际构建输出调整此路径。

基本使用方法

  1. 确保您已经完成了上述安装和配置步骤。
  2. 运行 MCP 服务器(通常通过您的 MCP 客户端来启动它)。
  3. 您的 MCP 客户端(例如 AI 助手)现在可以通过 MCP 协议连接到此服务器,并调用其暴露的工具来与 Google Tag Manager API 进行交互。例如,客户端可能会通过调用 'tag_manager_list_containers' 工具来获取您账户下的所有容器列表。具体如何通过客户端界面与服务器交互,取决于您使用的 MCP 客户端应用。这个服务器为这些客户端提供了底层的功能支持。

信息

分类

商业系统