谷歌标签管理器API服务

一个为Google标签管理器API构建的Model Context Protocol服务器,用于通过自然语言读取和管理GTM工作区。

  • by VasthavM
  • Go
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 VasthavM/google-tag-manager-mcp

使用说明

谷歌标签管理器mcp

A. 模型上下文协议(MCP) 服务器 Google标签管理器API,与Claude Desktop和Claude Code一起为个人使用而构建。

以当地人的身份跑步 stdio子流程 --没有托管服务器,没有OAuth代理,没有Docker。身份验证通过浏览器流处理一次,令牌存储在本地。

建造于 马克斯 西海 源自 paolobietolini/gtm mcp服务器 (麻省理工学院)-带有OAuth代理的原始HTTP服务器被重写为基于stdio的个人使用服务器。


你能做什么

连接后,Claude可以通过自然语言阅读和管理您的整个GTM工作区。

50工具

读取数据

工具 说明
list_accounts 列出所有GTM帐户
list_containers 列出帐户中的容器
list_workspaces 列出容器中的工作区
get_workspace_status 获取工作区中的待处理更改
list_tags / get_tag 列出或检查标签
list_triggers / get_trigger 列出或检查触发器
list_variables / get_variable 列出或检查变量
list_folders / get_folder_entities 浏览文件夹内容
list_templates / get_template 列出或检查自定义模板
list_versions 列出容器版本
list_built_in_variables 列出已启用的内置变量
list_clients / get_client 列出或检查服务器端客户端
list_transformations / get_transformation 列出或检查转换
get_tag_templates / get_trigger_templates 获取标签/触发器的正确参数格式

创建和更新

工具 说明
create_tag / update_tag 创建或更新标签
create_trigger / update_trigger 创建或更新触发器
create_variable / update_variable 创建或更新变量
create_workspace 创建新工作区
create_container 创建新容器
create_template / update_template 创建或更新自定义模板
create_client / update_client 创建或更新服务器端客户端
create_transformation / update_transformation 创建或更新转换
enable_built_in_variables 启用内置变量
import_gallery_template 从社区库导入模板

出版

工具 说明
create_version 创建容器版本
publish_version 发布一个实时版本

删除 (所有要求 confirm: true)

工具 说明
delete_tag 删除标签
delete_trigger 删除触发器
delete_variable 删除变量
delete_template 删除自定义模板
delete_container 删除容器
delete_client 删除服务器端客户端
delete_transformation 删除转换
disable_built_in_variables 禁用内置变量

效用

工具 说明
ping 测试服务器连接
auth_status 确认身份验证已激活

6资源

基于URI的实时GTM数据读取访问:

  • gtm://accounts --所有账户
  • gtm://accounts/{accountId}/containers --帐户中的容器
  • gtm://accounts/{accountId}/containers/{containerId}/workspaces --工作区
  • gtm://accounts/{accountId}/containers/{containerId}/workspaces/{workspaceId}/tags --标签
  • gtm://accounts/{accountId}/containers/{containerId}/workspaces/{workspaceId}/triggers --触发器
  • gtm://accounts/{accountId}/containers/{containerId}/workspaces/{workspaceId}/variables --变量

4提示

Claude可以遵循的指导性多步骤工作流程:

提示 描述
audit_container 对容器的标签、触发器和变量进行全面审核
generate_tracking_plan 根据业务目标生成跟踪计划
suggest_ga4_setup 建议GA4标签/触发器/变量设置
find_gallery_template 查找并导入社区图库模板

设置

先决条件

  • 转到1.24+--从安装 go.dev/dl
  • Google Cloud项目 标签管理器API 启用
  • OAuth 2.0凭据(桌面应用程序类型)

1.克隆和构建

git clone https://github.com/VasthavM/google-tag-manager-mcp
cd google-tag-manager-mcp
go build -o google-tag-manager-mcp .

2.创建Google Cloud凭据

  1. 首选 谷歌云控制台 → API和服务 → 启用API和服务
  2. 搜索 标签管理器API 并启用它
  3. 首选 API和服务 → 凭证 → 创建凭证 → OAuth客户端ID
  4. 选择 桌面应用 作为应用程序类型
  5. 下载JSON文件

3.保存您的凭据

mkdir -p ~/.config/google-tag-manager-mcp
cp ~/Downloads/client_secret_*.json ~/.config/google-tag-manager-mcp/credentials.json

4.身份验证(一次性浏览器流)

./google-tag-manager-mcp

服务器将打印一个URL。在浏览器中打开它,授予GTM访问权限,令牌将自动保存到 ~/.config/google-tag-manager-mcp/token.json。之后,服务器启动——您可以用关闭它 Ctrl+C.

令牌会自动刷新。除非您撤销访问权限,否则您不需要重复此操作。

5.用克劳德代码注册

claude mcp add --scope user google-tag-manager /path/to/google-tag-manager-mcp

或为 克劳德桌面版,添加到 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "google-tag-manager": {
      "command": "/path/to/google-tag-manager-mcp"
    }
  }
}

配置

环境变量 默认值 描述
GTM_MCP_CREDENTIALS ~/.config/google-tag-manager-mcp/credentials.json 凭据文件的路径
GTM_MCP_TOKEN ~/.config/google-tag-manager-mcp/token.json 保存令牌的路径
GTM_MCP_CONFIG_DIR ~/.config/google-tag-manager-mcp/ 覆盖配置目录
GTM_DEBUG (未设置) 设置为任何值以记录HTTP请求/响应体(仅限localhost)

安全

  • credentials.json 和 token.json 列在 .gitignore 绝不能承诺
  • 令牌文件存储在 0600 权限(仅限所有者读/写)
  • 所有破坏性操作(delete_*, disable_built_in_variables, publish_version)要求明确 confirm: true 参数
  • 所有更新操作都使用基于指纹的并发控制来防止意外覆盖

归因

GTM API客户端、工具处理程序、资源和提示源自 paolobietolini/gtm mcp服务器 (MIT许可证)。

这个分叉重写了传输层:带有OAuth 2.1代理(专为托管多用户部署而设计)的原始HTTP服务器被替换为stdio传输和本地OAuth2浏览器流,使其适合与Claude Desktop和Claude Code一起使用。


许可证

麻省理工学院——见 许可证.