list_accounts
List Tag Manager accounts
Lists the Google Tag Manager accounts the signed-in Google account can read, with their numeric IDs. Start here.
无需输入参数。
io.github.tagpilot由 GitHub 账号 tagpilot 发布v0.1.0更新于 Nov 14, 2026
Free, read-only Google Tag Manager: containers, tags, diffs vs live, audits. No GCP setup.
发布方自己的服务:QuickBooks Connector by Meridian
为助手提供只读的 Google Tag Manager 访问:浏览容器、代码、触发器和变量,对比工作区与线上版本,并审计容器。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
A free, read-only Model Context Protocol server for Google Tag Manager. Ask Claude, Cursor or any MCP client about your GTM containers: which tags fire on which triggers, how a variable is set up and what uses it, what publishing a workspace would change, the version history, and a Tag Pilot audit of the container.
No Google Cloud setup, no API key to copy. You don't need a GCP project, OAuth client,
service account or gcloud. Add the server, ask a question, and approve once in your browser.
ABCD-1234):
Already use the Tag Pilot GA4 MCP or Search Console MCP? This is a separate server with its own connection (and its own Google consent), so you can install any of them.
[Add to Cursor] [Install in VS Code]
Everything except the Claude Desktop extension runs the npm package with npx, so it needs
Node.js 18 or newer. In the MCP Registry it's
io.github.tagpilot/gtm-mcp.
Claude Desktop config file (claude_desktop_config.json), Cursor (~/.cursor/mcp.json) and
similar clients:
Headless and CI: where nobody can approve in a browser, create a gtm:mcp key on the
GTM MCP page and set TAGPILOT_API_KEY=tpk_… in the server's
environment. The device connect is then skipped and only the Google sign-in link is shown.
The same flow as the GA4 MCP (RFC 8628-style device connect, like gh auth login): it works from
any browser on any device, also over SSH, in containers or WSL, because nothing listens on your
machine.
tagmanager.googleapis.com). It never passes through Tag Pilot.tagmanager.readonly. None of the tools can
create, change, publish or delete anything, and the server only sends GET requests.~/.config/tagpilot/gtm-mcp/device.json
(readable only by you).npx -y @tagpilot/gtm-mcp logout, and remove the app's access at
myaccount.google.com/permissions.All tools are read-only. container_id is the numeric container ID from list_containers; the
public ID (GTM-XXXXXXX) works too. Tools that read container contents read the live
(published) version by default; pass workspace_id (from list_workspaces) for a workspace
with its unpublished changes, or version_id (from list_versions) for an older version.
audit_containerOffline checks over one read of the container. They are rules of thumb, not GTM errors:
The Tag Manager API allows only a few requests per second per user and has a daily quota, so the server is frugal:
get_tag, get_trigger, get_variable, find_references and audit_container reuse the same
read, which is cached for a minute (numbered versions for 30 minutes);Workspace reads skip zones (Tag Manager 360); version reads include them.
"Not connected yet" (a link and a code like ABCD-1234): your AI shows them. Open the link in any browser (it doesn't
have to be on this machine), sign in to Tag Pilot, check that the code matches, approve, and allow Tag Manager
access, then tell your AI you're done: it retries your question (or calls connection_status). The server keeps
checking in the background, so nothing needs restarting. The code is valid for 10 minutes; after that, ask again (or
say "connect GTM") for a new one. To connect from a terminal instead (e.g. over SSH), run
npx -y @tagpilot/gtm-mcp login: it shows the link, the code in a box and a countdown, and waits until you approve.
"The signed-in Google account has no access to …": use list_accounts and list_containers
to see what it can read. To use another Google account, run npx -y @tagpilot/gtm-mcp logout
and connect again.
"… has no live (published) version": the container was never published; pass workspace_id.
"This computer was disconnected from Tag Pilot": the device was revoked; ask again to reconnect. "Your Google sign-in expired or was revoked": ask again and approve again.
Rate limit or quota errors: wait a minute and ask again.
Check the setup: npx -y @tagpilot/gtm-mcp status. Logs go to stderr.
Nothing is required. All variables are optional:
Commands: npx -y @tagpilot/gtm-mcp [serve|login|logout|status|--help|--version].
See the repo README. GTM_MCP_TAGMANAGER_API_URL points the Google calls at a
mock (used by npm run e2e).
Apache License 2.0. Copyright 2026 Tag Concierge sp. z o.o. The license does not cover the Tag Pilot name or logo (see NOTICE).
来源:packages/gtm-mcp/README.md,提交 34078fa
List Tag Manager accounts
Lists the Google Tag Manager accounts the signed-in Google account can read, with their numeric IDs. Start here.
无需输入参数。
List containers
Containers in a Tag Manager account: numeric container ID, public ID (GTM-XXXXXXX), name, usage context (web, server, amp, ios, android) and domains.
account_id必填List workspaces
Workspaces of a container (where unpublished changes are made), with IDs and descriptions. Pass workspace_id to the other tools to read a workspace instead of the live version.
account_id必填container_id必填Get container contents
Everything in a container: tags (with their firing and blocking triggers by name, paused state), triggers, variables, custom templates, folders and enabled built-in variables; clients and transformations for server containers. Reads the live (published) version by default, or a workspace (workspace_id) or an older version (version_id). Compact by default; use get_tag / get_trigger / get_variable for one entity in full.
detailaccount_id必填version_idcontainer_id必填workspace_idList container versions
Container versions, newest first: version ID, name, entity counts, and which one is live (published). Pass a version_id to get_container, diff or the get_* tools to read an older version.
limitaccount_id必填container_id必填include_deletedGet the live (published) version
The container version that is live on the site: version ID, name, description, and its contents (compact by default, like get_container).
detailaccount_id必填container_id必填Get one tag
One tag in full (by id or name): type, parameters, firing and blocking triggers (with names), consent settings, tag sequencing, firing option, schedule, notes, and the variables it uses. Reads the live version unless workspace_id or version_id is given.
idnameaccount_id必填version_idcontainer_id必填workspace_idGet one trigger
One trigger in full (by id or name): type, conditions (filter, customEventFilter, autoEventFilter), parameters, the variables it uses, and the tags, trigger groups and variables that use it. Reads the live version unless workspace_id or version_id is given.
idnameaccount_id必填version_idcontainer_id必填workspace_idGet one variable
One variable in full (by id or name; built-in variables such as "Page URL" by name): type, parameters, format settings, the variables it uses, and the tags, triggers and variables that use it. Reads the live version unless workspace_id or version_id is given.
idnameaccount_id必填version_idcontainer_id必填workspace_idFind references
What uses an entity: for a variable (or built-in variable), every tag, trigger, variable or client containing {{Name}}; for a trigger, the tags that fire on or are blocked by it, trigger groups and variables; for a tag, tags that sequence it; for a custom template, the tags, variables and clients built from it; for a folder, its contents. Check this before suggesting to change, rename or delete something.
idkind必填nameaccount_id必填version_idcontainer_id必填workspace_idDiff a workspace against the live version
What publishing a workspace would change: entities added, changed (with the changed fields, and renames) and deleted compared with the live version (or another version_id). Compares the actual contents, so it also shows changes that reached the live version after the workspace was created (the workspace then needs updating in GTM). Set include_values for the before/after values of changed fields.
account_id必填version_idcontainer_id必填workspace_id必填include_valuesTag Pilot check: container audit
Tag Pilot tracking-health check for a GTM container. Flags tags that can never fire (no triggers, missing triggers, expired schedules), paused tags, unused triggers and variables, non-Google tags without consent settings (web containers), Google tag / GA4 configuration IDs loaded by more than one tag (double counting), and, for a workspace, changes that are not published yet. Reads the live version by default; pass workspace_id to audit a workspace (one extra call for the live version). Findings are sorted high → info.
account_id必填version_idcontainer_id必填workspace_idConnect GTM MCP
Connects this computer to Tag Pilot GTM MCP (free Tag Pilot account + read-only Google Tag Manager access). Call it when the user asks to connect, or when another tool says the computer is not connected. It returns a link and a code: show both to the user as given (a clickable link), ask them to open it, approve and allow Google access, and tell you when done; then call connection_status. Never ask the user to run terminal commands. If already connected, it says so.
无需输入参数。
GTM MCP connection status
Whether this computer is connected to Tag Pilot GTM MCP: "connected" (with the device name), "waiting" (a sign-in link is open; shows the link and code again), "not_connected" (call connect) or "error" (with the next step). While a sign-in is open it waits up to 25 seconds for the approval before answering, so call it after the user says they approved, not in a fast loop.
wait已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
com.pilot.meridian官方发布者
让助手通过托管的远程连接器读取和写入 QuickBooks Online 公司数据。
com.pilot.meridian官方发布者
让 AI 助理以授权的读取或写入权限连接 Xero,并可跨多个组织操作。

由 GitHub 账号 allyburns 发布
让 AI 智能体在纳斯卡线条主题的浏览器游戏 Trazo 中逐回合驾驶飞机,并把成绩发布到游戏的 AI 排行榜。

由 GitHub 账号 ORENQIS-LABS 发布
RemotePilot 是一个本地 MCP 服务器,让助手在你的机器上执行终端命令、操作文件并管理进程。

由 GitHub 账号 dahuam 发布
把 Windows 桌面扫描成带编号的元素表,让 AI 代理按元素编号点击或输入,而不是靠截图猜坐标。
claude mcp add gtm -- npx -y @tagpilot/gtm-mcp{ "mcpServers": { "gtm": { "command": "npx", "args": ["-y", "@tagpilot/gtm-mcp"] } }}