mcp-google-tagmanager
MCP serverDev toolsMCP server for the Google Tag Manager API v2: containers, workspaces, tags, triggers, publishing.
This server has no hosted endpoint yet, so ahel can't serve it. You can still add it. It stays paused until ahel can serve it.
Serve it through your gateway
One link, every agent. Your own credentials, stored once.
Tools it gives your agents (19)
| Tool | What it does |
|---|---|
| list_accounts | Lists all Google Tag Manager accounts the authorized user can access. Returns { account: [{ accountId, name, path, fingerprint }], nextPageToken }. All ids are strings. |
| get_account | Gets one Google Tag Manager account by id. Returns the Account resource: { accountId, name, path, fingerprint, shareData }. |
| list_containers | Lists the containers of a GTM account. Returns { container: [{ containerId, name, publicId (e.g. GTM-XXXXXX), usageContext, path, fingerprint, tagManagerUrl }], nextPageToken }. |
| get_container | Gets one container by account id + container id. Returns the Container resource including publicId (the GTM-XXXXXX snippet id), usageContext and fingerprint. |
| create_container | Creates a new container in a GTM account. usage_context declares the platform, e.g. ["web"]; other values include androidSdk5, iosSdk5, server. |
| list_workspaces | Lists the workspaces of a container. Returns { workspace: [{ workspaceId, name, description, path, fingerprint }], nextPageToken }. |
| get_workspace | Gets one workspace by account id + container id + workspace id. Returns the Workspace resource with its fingerprint. |
| create_workspace | Creates a new workspace in a container — an isolated draft where tags, triggers and variables are edited before being compiled into a version. |
| list_tags | Lists the tags of a workspace. Returns { tag: [{ tagId, name, type (e.g. html, gaawe), parameter: [{ type, key, value, list, map }], firingTriggerId, blockingTriggerId, paused, path, fingerprint... |
| list_triggers | Lists the triggers of a workspace. Returns { trigger: [{ triggerId, name, type (e.g. |
| list_variables | Lists the user-defined variables of a workspace (built-in variables live in manage_built_in_variables). Returns { variable: [{ variableId, name, type (e.g. |
| get_resource | Generic getter for any GTM resource by its API-relative path — tags, triggers, variables, versions, containers, workspaces. |
| create_entity | Creates a tag, trigger or variable in a workspace. `body` is the resource JSON: minimally { name, type } plus type-specific parameter entries; tags also take firingTriggerId (array of trigger id... |
| update_entity | Updates a tag, trigger or variable by its API path. PUT semantics: this is a FULL REPLACE, not a patch — fetch the current resource with get_resource, modify it, and send the whole object back. |
| delete_entity | Deletes a tag, trigger or variable by its API path. The response is empty on success. Requires the tagmanager.edit.containers scope. |
| manage_built_in_variables | Manages a workspace's built-in variables (pageUrl, clickText, event, ...). These are toggles, not records: action "list" returns the currently enabled ones ({ builtInVariable: [...] }), "enable" and... |
| create_version | Compiles a workspace into an immutable Container Version (the unit that gets published). |
| publish_version | Container-version operations. action "publish" pushes a version live (replacing the currently published one; requires the tagmanager.publish scope; version_id required, fingerprint recommended). |
| raw_request | Escape hatch to call any Google Tag Manager API v2 path directly, for endpoints without a dedicated tool (environments, folders, templates, zones, workspace :sync / :quick_preview, version_headers, .. |
Signals
- Last commit
- Aug 2026
- Weekly downloads
- 174
- Tools captured
- 19
ahel review
S4info
community integration — published by a1-x-tech, not google
Automated review, not a security audit. Ruleset v1.