Wascer Gtm Mcp Server — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Wascer Gtm Mcp Server (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
MCP server that allows AI assistants (Claude, Cursor, etc.) to manage Google Tag Manager using natural language.
#### 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.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/mcpWhen connecting, the browser opens for Google login. After authenticating, the tools become available.
Using natural language, you can ask the AI to:
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 itThe AI executes all operations automatically via the Google Tag Manager API.
| 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 |
When connecting, you log in with your Google account. The MCP accesses GTM accounts that your account has permission on. No additional configuration needed.
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
~/keys/service-account.json)GTM_SERVICE_ACCOUNT_FILE env var in your MCP configReset authentication
rm -rf ~/.mcp-authRestart 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.
Apache-2.0
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.