MCP server for Google Tag Manager — inspect containers, prepare workspace changes and publish only when ready
Google Tag Manager MCP
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**English** | Русский
**A1 Google Tag Manager MCP** lets an AI app inspect and manage Google Tag Manager containers in plain language. See what fires on a page, work with tags, triggers and variables in a draft workspace, then deliberately compile and publish a version when you are ready.
It connects to the Google Tag Manager API v2 through your Google account. The difference from asking an AI to guess a GTM setup is that it works with the actual container, workspace and version you choose.
- **25 tools.** 10 operations only read GTM data; 4 create drafts or change built-in variables; 5 can alter, delete, compile or publish live configuration.
- **Connects from the conversation.** Say "connect Google Tag Manager": the server walks you through the OAuth client, catches Google's redirect on 127.0.0.1 with PKCE and keeps the tokens itself — no config files, no restart.
- **Draft first.** Tags, triggers and variables are created in a workspace. Publishing is a separate, explicitly destructive operation.
- **Quota-aware.** GTM permits 0.25 requests per second per project; the server spaces requests by at least 4.2 seconds instead of overwhelming the API.
- **Your Google access.** The server uses your OAuth credentials and requests only the Tag Manager scopes needed for reading, editing, versioning and publishing.
Start with a read-only question:
> Which tags in my containers fire on the page-view trigger?
Connect the server · Explore use cases · Open technical documentation
---
See it work in a minute
> **You:** List my GTM containers and show which tags fire on page view.
>
> **Assistant:** Lists the containers, their workspaces, relevant triggers and the tags attached to them. Nothing changes.
>
> **You:** In the Default Workspace of GTM-ABC123, prepare a GA4 configuration tag for measurement ID G-XXXXXXX on all pages.
>
> **Assistant:** Shows the workspace, proposed tag and trigger configuration, then asks for confirmation before creating the draft.
>
> **You:** Confirm the draft.
>
> **Assistant:** Creates the tag in the workspace. It does not publish the container; compiling and publishing a version remains a separate step.
Contents
- Quick start
- What you can ask it to do
- How GTM changes are connected
- What can change
- Getting access
- Configuration
- Data and telemetry
- Limits and background work
- Technical documentation
- Support
Quick start
You need Node.js 20+ and a Google account. Credentials are not required at install time — the server connects from the conversation.
1. Add the server to your AI app.
2. Say "connect Google Tag Manager": the assistant walks you through creating the OAuth client and approving access without editing config files.
3. Start with the read-only question above.
Codex
**In the app:**
1. Open **Settings → MCP servers**.
2. Select **Add server**.
3. Choose **STDIO**, then enter npx -y mcp-google-tagmanager@latest and the three environment variables below.
| Variable | Value |
|---|---|
| GOOGLE_TAGMANAGER_CLIENT_ID | Your Google OAuth client ID |
| GOOGLE_TAGMANAGER_CLIENT_SECRET | Your Google OAuth client secret |
| GOOGLE_TAGMANAGER_REFRESH_TOKEN | Your Google OAuth refresh token |
4. Select **Save**, then **Restart**.
**From the command line:**
Codex MCP documentation
Claude Code
Claude Code MCP documentation
Claude Desktop
The current official path is **Settings → Extensions**. For a custom desktop extension, open **Advanced settings → Extension Developer → Install Extension…**, select a .mcpb file and follow the prompts.
This repository currently publishes an npm stdio package and does not contain a .mcpb bundle. For Claude Desktop builds that still support local configuration, use the following JSON stdio configuration as a fallback:
In those builds, save it to ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows.