Borrowing it
Nothing to install: this file belongs to A1-x-Tech/mcp-google-tagmanager. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/A1-x-Tech/mcp-google-tagmanager/main/CLAUDE.mdgit clone --depth 1 https://github.com/A1-x-Tech/mcp-google-tagmanagerWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/a1-x-tech/mcp-google-tagmanager/claude-md)<a href="https://agentmods.dev/instructions/a1-x-tech/mcp-google-tagmanager/claude-md"><img src="https://agentmods.dev/badge/instructions/a1-x-tech/mcp-google-tagmanager/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/a1-x-tech/mcp-google-tagmanager/claude-md"><img src="https://agentmods.dev/badge/instructions/a1-x-tech/mcp-google-tagmanager/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.01537 | $0.01537 |
| Opus 5.5 | $0.00615 | $0.00615 |
| Sonnet 5.5 | $0.00307 | $0.00307 |
| Haiku 4.5 | $0.00154 | $0.00154 |
Grade A, and why
mcp-google-tagmanager CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 99 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
MCP server (stdio) for the Google Tag Manager API v2 (tagmanager.googleapis.com/tagmanager/v2).
Auth is Google OAuth 2.0: a refresh-token trio exchanged at oauth2.googleapis.com/token
(cached until 60 s before expiry) or a direct access token. TypeScript, ESM,
@modelcontextprotocol/sdk + zod, Node >= 20.
Commands
npm run typecheck— tsc over src including tests (tsconfig.check.json)npm run build— compile to dist/ (tests and smoke excluded)npm test— unit suite (tsx loader) + dist smoke (real stdio handshake)npm run smoke— live read-only check (needs real credentials)npm run dev— tsx watch
Architecture
src/index.ts— wiring only: telemetry → config → client → McpServer → register tools → stdio.loadConfigOrDegraded()catchesConfigError, pingsstartup_failed(fire-and-forget) and degrades the config to "no credentials"; an unconfigured start prependsUNCONFIGURED_PREFIX— plusConfiguration problem: <message>when a ConfigError was caught — to the initializeinstructions, andoninitializedsendsserver_startfor a configured install orunconfigured_start(with the reason) otherwise.src/config.ts— env →TagManagerConfig; never exits. No credentials at all (empty string = missing) is NOT an error: the fields stayundefinedand the server starts degraded. A partial setup still throwsConfigError(message, reason)with the historical per-variable checks; the reason codes (missing_client_id,missing_client_secret,missing_refresh_token) are pinned by config.test.ts. Also home toCredentialsError/MISSING_CREDENTIALS_MESSAGE(opens with the historical startup error verbatim, then says to set the variables and restart) andhasCredentials().src/auth.ts—TokenProvider: refresh-token → access-token exchange, promise-shared, cached until expiry − 60 s; direct access token passes through. Token calls bypass the rate limiter (different quota). With no credentials at all it throwsCredentialsErrorBEFORE any fetch — a degraded start must never reach the token endpoint or the retry loop.src/client.ts— ALL HTTP: URL building under/tagmanager/v2/, Bearer auth, SSRF guard, timeout covering body reads, the rate limiter and the retry policy. One typed method per endpoint; tools never build URLs.src/builtin-variable-types.ts— generated from the discovery doc; do not hand-edit.src/tools/*.ts—register<Domain>Tools(server, client); handlers are alwaystry { ok(await client...) } catch (e) { fail(e) }.src/telemetry.ts— anonymous usage pings (ids/names/versions only, never the OAuth credentials, account/container ids or arguments; fire-and-forget, must never block or throw; opt-outASKADS_TELEMETRY=0).server_startmeans "a usable install started";unconfigured_startis a degraded start andstartup_faileda malformed config caught at load — both carry areasonfrom theConfigErrorcode vocabulary (missing_client_id,missing_client_secret,missing_refresh_token) — never a variable's value.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 99 lines · 1,537 tokens per session scan A 38ecf35730ba
mcp-google-tagmanager CLAUDE.md is an instructions file published in the GitHub repository A1-x-Tech/mcp-google-tagmanager (1 stars, last pushed 2d ago), licensed MIT. It adds 1,537 tokens to every session, about $0.0061 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
mcp-google-tagmanager CLAUDE.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| mcp-google-tagmanager CLAUDE.mdA1-x-Tech/mcp-google-tagmanager | Instructions file | 1 | 2d ago | MIT | A | 1,537 | Claude Code |
| data-scientist copilot-instructions.mdrealnghon/data-scientist | Instructions file | 2 | 4mo ago | MIT | A | 373 | GitHub Copilot |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | yesterday | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |