mcp-google-tagmanager

MCP serverDev tools

MCP 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)

ToolWhat it does
list_accountsLists all Google Tag Manager accounts the authorized user can access. Returns { account: [{ accountId, name, path, fingerprint }], nextPageToken }. All ids are strings.
get_accountGets one Google Tag Manager account by id. Returns the Account resource: { accountId, name, path, fingerprint, shareData }.
list_containersLists the containers of a GTM account. Returns { container: [{ containerId, name, publicId (e.g. GTM-XXXXXX), usageContext, path, fingerprint, tagManagerUrl }], nextPageToken }.
get_containerGets one container by account id + container id. Returns the Container resource including publicId (the GTM-XXXXXX snippet id), usageContext and fingerprint.
create_containerCreates a new container in a GTM account. usage_context declares the platform, e.g. ["web"]; other values include androidSdk5, iosSdk5, server.
list_workspacesLists the workspaces of a container. Returns { workspace: [{ workspaceId, name, description, path, fingerprint }], nextPageToken }.
get_workspaceGets one workspace by account id + container id + workspace id. Returns the Workspace resource with its fingerprint.
create_workspaceCreates a new workspace in a container — an isolated draft where tags, triggers and variables are edited before being compiled into a version.
list_tagsLists 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_triggersLists the triggers of a workspace. Returns { trigger: [{ triggerId, name, type (e.g.
list_variablesLists the user-defined variables of a workspace (built-in variables live in manage_built_in_variables). Returns { variable: [{ variableId, name, type (e.g.
get_resourceGeneric getter for any GTM resource by its API-relative path — tags, triggers, variables, versions, containers, workspaces.
create_entityCreates 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_entityUpdates 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_entityDeletes a tag, trigger or variable by its API path. The response is empty on success. Requires the tagmanager.edit.containers scope.
manage_built_in_variablesManages 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_versionCompiles a workspace into an immutable Container Version (the unit that gets published).
publish_versionContainer-version operations. action "publish" pushes a version live (replacing the currently published one; requires the tagmanager.publish scope; version_id required, fingerprint recommended).
raw_requestEscape 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.