Wascer GTM MCP Server

Wascer GTM MCP Server

A remote MCP server for Google Tag Manager that enables AI assistants to manage GTM accounts, containers, tags, triggers, variables, and more via OAuth or service account authentication.

Category
Visit Server

README

Wascer GTM MCP Server

MCP server that allows AI assistants (Claude, Cursor, etc.) to manage Google Tag Manager using natural language.

How to connect

With Service Account (recommended)

Claude Desktop

Settings → Developer → Edit Config:

{
  "mcpServers": {
    "wascer-gtm": {
      "command": "bash",
      "args": [
        "-c",
        "npx -y mcp-remote https://gtm-mcp.wascer.com/mcp --header \"X-GTM-Service-Account: $(base64 -w 0 $GTM_SERVICE_ACCOUNT_FILE)\""
      ],
      "env": {
        "GTM_SERVICE_ACCOUNT_FILE": "/path/to/service-account.json"
      }
    }
  }
}

Cursor

Settings → MCP → Add Server:

{
  "mcpServers": {
    "wascer-gtm": {
      "command": "bash",
      "args": [
        "-c",
        "npx -y mcp-remote https://gtm-mcp.wascer.com/mcp --header \"X-GTM-Service-Account: $(base64 -w 0 $GTM_SERVICE_ACCOUNT_FILE)\""
      ],
      "env": {
        "GTM_SERVICE_ACCOUNT_FILE": "/path/to/service-account.json"
      }
    }
  }
}

VS Code

Add to .vscode/mcp.json or user settings:

{
  "mcpServers": {
    "wascer-gtm": {
      "command": "bash",
      "args": [
        "-c",
        "npx -y mcp-remote https://gtm-mcp.wascer.com/mcp --header \"X-GTM-Service-Account: $(base64 -w 0 $GTM_SERVICE_ACCOUNT_FILE)\""
      ],
      "env": {
        "GTM_SERVICE_ACCOUNT_FILE": "/path/to/service-account.json"
      }
    }
  }
}

Claude Code

claude mcp add wascer-gtm \
  -e GTM_SERVICE_ACCOUNT_FILE="/path/to/service-account.json" \
  -- bash -c 'npx -y mcp-remote https://gtm-mcp.wascer.com/mcp --header "X-GTM-Service-Account: $(base64 -w 0 $GTM_SERVICE_ACCOUNT_FILE)"'

Just replace /path/to/service-account.json with the actual path to your Service Account JSON file. The base64 encoding is handled automatically.

Without Service Account

If you don't have a Service Account, the MCP will use your Google OAuth login instead. You'll have access to GTM accounts that your Google account has permission on.

Claude Desktop / Cursor / VS Code

{
  "mcpServers": {
    "wascer-gtm": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://gtm-mcp.wascer.com/mcp"]
    }
  }
}

Claude Code

claude mcp add wascer-gtm -- npx mcp-remote https://gtm-mcp.wascer.com/mcp

When connecting, the browser opens for Google login. After authenticating, the tools become available.

What you can do

Using natural language, you can ask the AI to:

  • List GTM accounts and containers
  • Create web and server-side containers
  • Create and edit tags, triggers and variables
  • Enable built-in variables (Page URL, Event, Click ID, etc.)
  • Create server-side clients (GA4 client, etc.)
  • Create and publish versions

Usage example

In my GTM account, create a web container called "my-site" with:
- GA4 ID variable with value G-XXXXXXXX
- All Pages trigger
- GA4 Configuration tag pointing to the server
- Publish it

The AI executes all operations automatically via the Google Tag Manager API.

Available tools

Tool Operations Description
gtm_account get, list, update Manage GTM accounts
gtm_container create, get, list, update, remove, snippet Manage containers (web & server)
gtm_workspace create, get, list, update, remove, createVersion, getStatus, sync Manage workspaces and create versions
gtm_tag create, get, list, update, remove, revert Manage tags
gtm_trigger create, get, list, update, remove, revert Manage triggers
gtm_variable create, get, list, update, remove, revert Manage variables
gtm_version get, live, publish, remove, setLatest, undelete, update Manage and publish versions
gtm_built_in_variable create, list, remove, revert Enable/disable built-in variables
gtm_client create, get, list, update, remove, revert Manage server-side clients

Authentication

Google OAuth (default)

When connecting, you log in with your Google account. The MCP accesses GTM accounts that your account has permission on. No additional configuration needed.

Service Account (optional)

For platform-level access (e.g. managing client accounts), point to your Service Account JSON file in the MCP configuration (as shown in the connection examples above). The file is read locally, base64 encoded automatically, and sent via HTTP header — it never appears in chat and is never sent to the LLM.

How to get a Service Account JSON

  1. Go to Google Cloud Console → IAM & Admin → Service Accounts
  2. Create a Service Account (or use an existing one)
  3. Create a JSON key and download it
  4. Save the JSON file somewhere on your machine (e.g. ~/keys/service-account.json)
  5. Use the file path in the GTM_SERVICE_ACCOUNT_FILE env var in your MCP config
  6. In Google Tag Manager, add the SA email as an admin on the accounts you want to manage

Troubleshooting

Reset authentication

rm -rf ~/.mcp-auth

Restart your MCP client to re-login.

"Access blocked" on Google login

Make sure your Google account has access to Tag Manager and the OAuth app has GTM scopes enabled.

Tools not showing up

Use a short server name (e.g. wascer-gtm). Some clients have a 60-character limit for name + tool.

License

Apache-2.0

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured