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.
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.jsonwith 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
- Go to Google Cloud Console → IAM & Admin → Service Accounts
- Create a Service Account (or use an existing one)
- Create a JSON key and download it
- Save the JSON file somewhere on your machine (e.g.
~/keys/service-account.json) - Use the file path in the
GTM_SERVICE_ACCOUNT_FILEenv var in your MCP config - 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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.