unboundai-gtm-mcp-server
MCP server for Google Tag Manager API, enabling users to manage containers, tags, and triggers through natural language using Google Application Default Credentials.
README
MCP Server for Google Tag Manager
This is an MCP server that provides an interface to the Google Tag Manager API using Google Application Default Credentials (ADC).
Setup instructions
Setup involves the following steps:
- Install Node.js (v20 or later recommended)
- Enable Google Tag Manager API in your Google Cloud project
- Configure Google Application Default Credentials (ADC)
- Configure your MCP client (Claude Desktop, Gemini CLI, etc.)
Enable Google Tag Manager API
Follow the instructions to enable the Google Tag Manager API in your Google Cloud project:
Configure Google Application Default Credentials
Configure your Application Default Credentials (ADC). Make sure the credentials are for a user with access to your Google Tag Manager accounts.
Credentials must include the Google Tag Manager edit scope:
https://www.googleapis.com/auth/tagmanager.edit.containers
Check out Manage OAuth Clients for how to create an OAuth client.
Here are some sample gcloud commands you might find useful:
-
Set up ADC using user credentials and an OAuth desktop or web client after downloading the client JSON to
YOUR_CLIENT_JSON_FILE.gcloud auth application-default login \ --scopes https://www.googleapis.com/auth/tagmanager.edit.containers,https://www.googleapis.com/auth/cloud-platform \ --client-id-file=YOUR_CLIENT_JSON_FILE -
Set up ADC using service account impersonation.
gcloud auth application-default login \ --impersonate-service-account=SERVICE_ACCOUNT_EMAIL \ --scopes=https://www.googleapis.com/auth/tagmanager.edit.containers,https://www.googleapis.com/auth/cloud-platform
When the gcloud auth application-default command completes, copy the PATH_TO_CREDENTIALS_JSON file location printed to the console in the following message. You'll need this for the next step!
Credentials saved to file: [PATH_TO_CREDENTIALS_JSON]
Configure Claude Desktop
-
Open Claude Desktop and navigate to Settings -> Developer -> Edit Config. This opens the configuration file that controls which MCP servers Claude can access.
-
Add the following configuration. Replace
PATH_TO_CREDENTIALS_JSONwith the path you copied in the previous step:
{
"mcpServers": {
"unboundai-gtm-mcp-server": {
"command": "npx",
"args": ["-y","@unboundai/gtm-mcp-server"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON"
}
}
}
}
- Restart Claude Desktop. The tools will become available for you to use.
Troubleshooting
MCP Server Name Length Limit
Some MCP clients (like Cursor AI) have a 60-character limit for the combined MCP server name + tool name length. If you use a longer server name in your configuration (e.g., unboundai-gtm-mcp-server-your-additional-long-name), some tools may be filtered out.
To avoid this issue:
- Use shorter server names in your MCP configuration (e.g.,
unboundai-gtm-mcp-server)
Debugging Server Issues
If the MCP server crashes or encounters issues, you can enable comprehensive debug logging to diagnose the problem:
-
Enable Debug Mode: Set the
DEBUGenvironment variable totrueor1:{ "mcpServers": { "unboundai-gtm-mcp-server": { "command": "npx", "args": ["-y", "@unboundai/gtm-mcp-server"], "env": { "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON", "DEBUG": "true" } } } } -
Control Log Level: Alternatively, set the
LOG_LEVELenvironment variable to control logging verbosity:DEBUG: Shows all debug messages (most verbose)INFO: Shows informational messages and above (default)WARN: Shows only warnings and errorsERROR: Shows only error messages
Example:
{ "mcpServers": { "unboundai-gtm-mcp-server": { "command": "npx", "args": ["-y", "@unboundai/gtm-mcp-server"], "env": { "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON", "LOG_LEVEL": "DEBUG" } } } } -
Check MCP Client Logs: The debug output is written to stderr and will appear in your MCP client's logs. In Claude Desktop:
- macOS:
~/Library/Logs/Claude/mcp*.log - Windows:
%APPDATA%\Claude\logs\mcp*.log
- macOS:
Debug logging provides detailed information about:
- Server initialization and startup
- Environment configuration
- Authentication with Google APIs
- Tool registration
- API calls and responses
- Error details with stack traces
Note: Debug logging may produce verbose output. It's recommended to enable it only when troubleshooting issues.
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
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
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.