Skip to main content
Glama
AlexStansfield

gtm-mcp-server

GTM MCP 服务器

一个用于 Google Tag Manager 的 Model Context Protocol (MCP) 服务器,使用服务账号认证——无需 OAuth 流程。

功能特性

  • 无需 OAuth - 使用 Google 服务账号进行认证

  • 覆盖 GTM 核心工作流 - 账号、容器、工作区、代码、触发器、变量、内置变量和版本(29 个工具)

  • 本地且私密 - 完全在您的机器上运行

  • 兼容 Claude Desktop、Cursor 及其他 MCP 客户端

快速开始

1. 创建 Google Cloud 服务账号

  1. 前往 Google Cloud Console

  2. 选择或创建一个项目

  3. 启用 Tag Manager API

    • 前往 APIs 与服务 → 库

    • 搜索 "Tag Manager API"

    • 点击启用

  4. 创建服务账号:

    • 前往 IAM 与管理 → 服务账号

    • 点击"创建服务账号"

    • 为其命名(例如 "gtm-mcp-server")

    • 点击创建并继续(跳过可选权限)

    • 点击完成

  5. 创建密钥:

    • 点击您的服务账号

    • 前往密钥选项卡

    • 添加密钥 → 创建新密钥 → JSON

    • 将下载的 JSON 文件保存到安全位置(例如 ~/.config/gtm-service-account.json

2. 授予服务账号 GTM 访问权限

  1. 前往 Google Tag Manager

  2. 点击管理(齿轮图标)

  3. 在账号下,点击"用户管理"

  4. 点击 + 按钮添加用户

  5. 输入服务账号邮箱(格式类似 name@project-id.iam.gserviceaccount.com

  6. 设置适当的权限:

    • 读取 - 仅用于查看/列出

    • 编辑 - 用于创建/修改代码、触发器、变量

    • 发布 - 用于发布版本

    • 管理 - 完全访问权限,包括用户管理

3. 配置您的 MCP 客户端

Claude Desktop

在您的 Claude Desktop 配置中添加(Mac 上为 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 上为 %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "gtm": {
      "command": "npx",
      "args": ["-y", "gtm-mcp-server"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account.json"
      }
    }
  }
}

Cursor

在您的 Cursor MCP 设置中添加:

{
  "mcpServers": {
    "gtm": {
      "command": "npx",
      "args": ["-y", "gtm-mcp-server"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account.json"
      }
    }
  }
}

4. 重启您的客户端

保存配置后,重启您的 MCP 客户端。您应该能看到 GTM 工具可用。

可用工具

账号管理

  • gtm_list_accounts - 列出所有可访问的 GTM 账号

容器管理

  • gtm_list_containers - 列出账号中的容器

  • gtm_get_container - 获取容器详情

工作区管理

  • gtm_list_workspaces - 列出容器中的工作区

  • gtm_create_workspace - 创建新的工作区

  • gtm_get_workspace_status - 显示工作区中的待处理更改和合并冲突

  • gtm_sync_workspace - 将工作区同步到最新的容器版本

代码管理

  • gtm_list_tags - 列出工作区中的所有代码

  • gtm_get_tag - 获取代码的完整详情及参数

  • gtm_create_tag - 创建新的代码

  • gtm_update_tag - 更新现有代码

  • gtm_delete_tag - 删除代码

触发器管理

  • gtm_list_triggers - 列出工作区中的所有触发器

  • gtm_get_trigger - 获取触发器的完整详情

  • gtm_create_trigger - 创建新的触发器

  • gtm_update_trigger - 更新现有触发器

  • gtm_delete_trigger - 删除触发器

变量管理

  • gtm_list_variables - 列出工作区中的所有变量

  • gtm_get_variable - 获取变量的完整详情

  • gtm_create_variable - 创建新的变量

  • gtm_update_variable - 更新现有变量

  • gtm_delete_variable - 删除变量

内置变量管理

  • gtm_list_built_in_variables - 列出已启用的内置变量

  • gtm_enable_built_in_variables - 启用内置变量(例如 Page URL、Click Classes)

  • gtm_disable_built_in_variables - 禁用内置变量

版本管理

  • gtm_list_versions - 列出容器版本

  • gtm_get_live_version - 获取当前线上(已发布)版本

  • gtm_create_version - 从工作区创建版本

  • gtm_publish_version - 发布版本以使其上线

所有列表工具每次返回一页结果;当存在更多结果时,响应中会包含 page_token 以用于下一次调用。

使用示例

配置完成后,您可以向 Claude 提问,例如:

  • "列出我的 GTM 账号"

  • "显示账号 123456 中的所有容器"

  • "我的网站容器中有哪些代码?"

  • "创建一个名为 'All Pages' 的网页浏览量触发器"

  • "创建一个在所有页面上触发的自定义 HTML 代码"

  • "创建版本并发布"

故障排除

"GOOGLE_APPLICATION_CREDENTIALS not set"

确保环境变量已在您的 MCP 客户端配置中设置,并且指向有效的 JSON 密钥文件。

"Permission denied" 错误

  • 验证服务账号邮箱已添加到您的 GTM 账号中

  • 检查权限级别是否足以执行该操作

"API not enabled" 错误

确保已在您的 Google Cloud 项目中启用 Tag Manager API。

服务器未出现在 Claude Desktop 中

  • 检查您的配置中的路径是否正确

  • 查看 Claude Desktop 的 MCP 日志以获取错误信息

  • 尝试直接运行 npx gtm-mcp-server 以查看任何错误消息

开发

# Clone the repository
git clone https://github.com/alexstansfield/gtm-mcp-server.git
cd gtm-mcp-server

# Install dependencies
npm install

# Build
npm run build

# Watch mode for development
npm run dev

# Test with MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.js

许可证

MIT

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • A Model Context Protocol server for Wix AI tools

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • MCP (Model Context Protocol) server for Appwrite

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AlexStansfield/gtm-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server