MCP Hub
Back to servers

gtm-mcp-server

An MCP server for Google Tag Manager. Connect it to your LLM, authenticate once, and start managing GTM through natural language.

GitHub
Stars
5
Forks
2
Updated
Feb 5, 2026
Validated
Feb 7, 2026

GTM MCP Server

License Go MCP Claude ChatGPT Docker GitHub stars

Let AI manage your Google Tag Manager containers.

Create tags, audit configurations, generate tracking plans, and publish changes, all through natural conversation with Claude or ChatGPT.

URL: https://mcp.gtmeditor.com


Table of Contents


What Can You Do?

Ask your AI assistant to:

  • "List all my GTM containers"
  • "Create a GA4 event tag for form submissions"
  • "Audit this container for issues and duplicates"
  • "Generate a tracking plan document for the marketing team"
  • "Set up ecommerce tracking for purchases"
  • "Publish the changes we just made"

No more clicking through the GTM interface. No more copy-pasting configurations. Just describe what you need.


Quick Start

Claude (Web & Desktop)

Claude.ai:

  1. Go to SettingsConnectorsAdd Custom Connector
  2. Enter: https://mcp.gtmeditor.com
  3. Click Add and sign in with Google

Claude Code (CLI):

claude mcp add -t http gtm https://mcp.gtmeditor.com

ChatGPT

  1. Go to OpenAI Apps Platform
  2. Add an MCP integration with URL: https://mcp.gtmeditor.com
  3. Authorize with your Google account

Features

Tag Management

Create and modify any GTM tag type:

  • GA4 Configuration & Events — Set up Google Analytics 4 with proper measurement IDs
  • Ecommerce Tracking — Purchase, add-to-cart, view-item events
  • Custom HTML — Inject scripts, pixels, and custom code
  • Custom Image — Tracking pixels with cache busting

Trigger Management

Build triggers for any scenario:

  • Page views (all pages or specific URLs)
  • Custom dataLayer events
  • Click tracking
  • Form submissions
  • Timer-based triggers
  • Trigger groups for complex conditions

Container Operations

  • Browse accounts, containers, and workspaces
  • Create versions from workspace changes
  • Publish versions to go live
  • Organize with folders

Community Template Gallery

Import templates from Google's Community Template Gallery:

  • "Import the iubenda cookie consent template"
  • "Add Cookiebot to my container"
  • "Set up Facebook Pixel using the gallery template"

The AI will search for the template, find the GitHub repository, and import it automatically.

AI-Powered Workflows

Container Audit "Audit my container for issues" — Analyzes your workspace for:

  • Naming inconsistencies
  • Duplicate tags
  • Orphaned triggers
  • Security concerns
  • Best practice violations

Tracking Plan Generation "Generate a tracking plan" — Creates markdown documentation of:

  • All events and their triggers
  • Data layer requirements
  • Variable definitions
  • Implementation notes

GA4 Setup Recommendations "Help me set up GA4 for ecommerce" — Recommends:

  • Which tags to create
  • Trigger configurations
  • Required variables
  • Data layer implementation code

Use Cases

Build Complete Tracking Setups

Ask AI to create a full GA4 ecommerce implementation from scratch:

  • "Set up GA4 ecommerce tracking for my store"
  • Creates 12+ tags (configuration + all ecommerce events)
  • Creates matching triggers for each dataLayer event
  • Creates data layer variables for items, currency, value, transaction_id
  • Follows Google's recommended event naming and parameters

Implement Consent Management

Integrate privacy tools like OneTrust with your tracking:

  • "Make GA4 fire only when analytics consent is granted"
  • Creates consent-checking variables
  • Sets up conditional triggers
  • Updates existing tags to respect user choices

Bulk Operations & Renaming

Manage containers at scale:

  • "Add 'ecom -' prefix to all ecommerce triggers"
  • "Update all tags to use a measurement ID variable"
  • Rename, update, or organize dozens of items through conversation

Custom Variables & Logic

Create sophisticated tracking logic:

  • "Create a variable that returns the local timestamp"
  • "Add a custom parameter to the purchase tag"
  • Custom JavaScript variables, data layer mappings, and more

For Agencies

  • Manage multiple client containers (7+ accounts shown in demo)
  • Standardize implementations across clients
  • Rapid setup for new projects
  • Version and publish changes safely

How It Works

The GTM MCP Server connects AI assistants to the Google Tag Manager API using the Model Context Protocol. When you ask Claude or ChatGPT to manage your GTM, it:

  1. Authenticates with your Google account (OAuth 2.1)
  2. Reads your container configurations
  3. Executes the changes you request
  4. Confirms before destructive operations

Your credentials are never stored—the server uses token-based authentication that you can revoke anytime from your Google account.


Safety Features

  • Confirmation required for deletions and publishing
  • Workspace-only changes — nothing goes live until you publish
  • Version control — all changes create a version first
  • Audit logging — track what was changed

Self-Hosting

Want to run your own instance?

Docker Setup

git clone https://github.com/paolobietolini/gtm-mcp-server.git
cd gtm-mcp-server

# Create .env file
cat > .env << 'EOF'
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret
JWT_SECRET=$(openssl rand -base64 32)
BASE_URL=http://localhost:8080
EOF

# Start the server
docker compose up -d

# Add to Claude
claude mcp add -t http gtm http://localhost:8080

Google Cloud Setup

  1. Go to Google Cloud Console
  2. Enable the Tag Manager API
  3. Create OAuth 2.0 credentials (Web application)
  4. Add redirect URIs:
    https://claude.ai/api/mcp/auth_callback
    https://claude.com/api/mcp/auth_callback
    https://chatgpt.com/connector_platform_oauth_redirect
    https://your-domain.com/oauth/callback
    

Available Tools

Read Operations

ToolDescription
list_accountsList all GTM accounts
list_containersList containers in an account
list_workspacesList workspaces in a container
list_tagsList all tags in a workspace
get_tagGet tag details by ID
list_triggersList all triggers
list_variablesList all variables
list_foldersList folders in a workspace
get_folder_entitiesGet tags/triggers/variables in a folder

Utility

ToolDescription
pingTest server connectivity
auth_statusCheck authentication status

Write Operations

ToolDescription
create_containerCreate a new container in an account
delete_containerRemove a container (requires confirmation)
create_workspaceCreate a new workspace in a container
create_tagCreate a new tag
update_tagModify an existing tag
delete_tagRemove a tag (requires confirmation)
create_triggerCreate a new trigger
update_triggerModify an existing trigger
delete_triggerRemove a trigger (requires confirmation)
create_variableCreate a new variable
delete_variableRemove a variable (requires confirmation)

Publishing

ToolDescription
list_versionsList all container versions with tag/trigger/variable counts
create_versionCreate a version from workspace changes
publish_versionPublish a version (requires confirmation)

Templates

ToolDescription
get_tag_templatesGet GA4/HTML tag parameter examples
get_trigger_templatesGet trigger configuration examples
list_templatesList custom templates in a workspace
get_templateGet template details including template code
create_templateCreate a custom template from .tpl code
update_templateModify an existing template
delete_templateRemove a template (requires confirmation)
import_gallery_templateImport a template from the Community Gallery

Resources & Prompts

Resources (URI-based access)

Access GTM data via structured URIs:

gtm://accounts
gtm://accounts/{id}/containers
gtm://accounts/{id}/containers/{id}/workspaces
gtm://accounts/.../workspaces/{id}/tags
gtm://accounts/.../workspaces/{id}/triggers
gtm://accounts/.../workspaces/{id}/variables

Prompts (Workflow templates)

PromptDescription
audit_containerComprehensive container analysis
generate_tracking_planMarkdown documentation generator
suggest_ga4_setupGA4 implementation recommendations
find_gallery_templateGuide to find and import Community Gallery templates

Better AI Context

For best results, give your AI assistant more GTM context:


Architecture

  • Protocol: Model Context Protocol (MCP) over HTTP
  • Authentication: OAuth 2.1 with PKCE
  • Standards: RFC 8414, RFC 7591, RFC 9728

Links


Author

Paolo Bietolini

mcp@paolobietolini.com


License

BSD-3-Clause

Reviews

No reviews yet

Sign in to write a review