Enables the automated creation and configuration of Facebook Pixel tracking setups within a Google Tag Manager container.
Provides tools for the automated setup of Google Analytics 4 (GA4) configurations, including configuration tags and common event tracking workflows.
Allows for programmatic management of tags, triggers, and variables, as well as container publishing and the generation of complete tracking workflows for different site types.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Tag Manager MCP ServerSet up GA4 tracking for my website with measurement ID G-ABC123456"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Tag Manager MCP Server
A Model Context Protocol (MCP) server that integrates Google Tag Manager with Claude, enabling automated GTM configuration and component creation through natural language prompts.
Features
GTM API Integration: Full Google Tag Manager API integration for creating and managing tags, triggers, and variables
Component Templates: Pre-built templates for common tracking scenarios (GA4, Facebook Pixel, conversion tracking)
Workflow Automation: Complete workflow creation for different site types (ecommerce, lead generation, content sites)
Claude Integration: Natural language interface for GTM configuration through Claude
Setup
1. Install Dependencies
Option A: Using uv (Recommended)
# Install uv if not already installed
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
# Install dependencies
uv syncOption B: Using pip
pip install -r requirements.txt2. Google Cloud Console Setup
Go to the Google Cloud Console
Create a new project or select existing one
Enable the Tag Manager API:
Go to "APIs & Services" > "Library"
Search for "Tag Manager API"
Click "Enable"
3. Create Service Account Credentials
Go to "APIs & Services" > "Credentials"
Click "Create Credentials" > "OAuth 2.0 Client IDs"
Choose "Desktop application"
Download the JSON file and save it as
credentials.jsonin this directory
4. Configure Claude
Add the MCP server configuration to your Claude config:
{
"mcpServers": {
"gtm": {
"command": "python",
"args": ["/path/to/mcp-for-gtm/server.py"],
"env": {
"GTM_CREDENTIALS_FILE": "/path/to/mcp-for-gtm/credentials.json",
"GTM_TOKEN_FILE": "/path/to/mcp-for-gtm/token.json"
}
}
}
}Available Tools
Basic GTM Operations
create_gtm_tag: Create individual GTM tagscreate_gtm_trigger: Create GTM triggerscreate_gtm_variable: Create GTM variableslist_gtm_containers: List all containers for an accountget_gtm_container: Get container detailspublish_gtm_version: Publish a container version
Workflow Tools
create_ga4_setup: Complete Google Analytics 4 setup with config tag and common eventscreate_facebook_pixel_setup: Facebook Pixel tracking setupcreate_form_tracking: Form submission tracking setupgenerate_gtm_workflow: Generate complete workflows for different site types
Usage Examples
1. Set up Google Analytics 4 tracking
Create a complete GA4 setup for my website with measurement ID G-XXXXXXXXXX in GTM account 123456 and container 78901232. Generate ecommerce tracking workflow
Generate a complete ecommerce tracking workflow with GA4 measurement ID G-XXXXXXXXXX and Facebook Pixel ID 1234567893. Create form tracking
Set up form tracking for the contact form with selector #contact-form in my GTM container4. Create custom components
Create a custom GTM tag for tracking video plays with the following parameters: event_name = "video_play", video_title = "{{Video Title}}", video_duration = "{{Video Duration}}"Workflow Types
The generate_gtm_workflow tool supports three main workflow types:
ecommerce: Enhanced ecommerce tracking with purchase, cart, and product interaction eventslead_generation: Form submissions, CTA clicks, and conversion trackingcontent_site: Content engagement, newsletter signups, and social sharing
Authentication
On first run, the server will open a browser window for OAuth authentication. Grant the necessary permissions to access your GTM account. The authentication token will be saved for future use.
File Structure
mcp-for-gtm/
├── server.py # Main MCP server
├── gtm_client.py # GTM API client
├── gtm_components.py # Component templates and workflow builder
├── requirements.txt # Python dependencies
├── config.json # MCP server configuration
├── credentials.json # Google OAuth credentials (you provide)
├── token.json # Generated auth token (auto-created)
└── README.md # This fileTroubleshooting
Authentication Issues
Ensure
credentials.jsonis properly configured from Google Cloud ConsoleCheck that Tag Manager API is enabled in your Google Cloud project
Verify you have the necessary permissions in your GTM account
Permission Errors
Make sure your Google account has edit permissions for the GTM container
Ensure the GTM account and container IDs are correct
API Errors
Check your GTM account and container IDs
Verify that the workspace exists (default workspace ID is used)
Check rate limits if you're making many requests
Development
Running Tests
# Using uv
uv run python test_server.py
# Or directly with python
python test_server.pyRunning the Server
# Using the convenience script
./run_server.sh
# Or manually with uv
uv run python server.py
# Or with system python
python server.pyDevelopment Dependencies
The project includes development dependencies for code quality:
# Format code with black
uv run black .
# Check with flake8
uv run flake8 .
# Type checking with mypy
uv run mypy .
# Run tests with pytest
uv run pytestContributing
Feel free to submit issues and enhancement requests!