gtm-tag-architect
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation4/5
Each tool targets a distinct action in the GTM workflow—audit, deduplicate, apply consent, add recipe, generate types—so an agent can usually pick the right one. Minor overlap exists where audit surfaces duplicates and consent gaps that deduplicate and apply_consent_mode then fix, but the strong action verbs keep the boundaries clear.
Naming Consistency5/5All tool names follow the identical `gtm_<verb>_<object>` snake_case pattern with perfect consistency. The `gtm_` prefix scopes everything to the domain, and every verb is a single lowercase action word.
Tool Count5/5Five tools is a well-scoped surface for a GTM tag-management assistant. Each tool addresses a distinct stage of the tag lifecycle—audit, cleanup, compliance, templating, and developer handoff—without feature bloat.
Completeness4/5The core architecture workflow is well covered: audit, deduplicate, configure consent, add standard tags, and generate TypeScript datalayer helpers. Publication/preview submission and tag removal are missing, so agents may need workarounds, but the primary setup path is fully covered.
Average 3.6/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 14 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the basic action ('adds... to the container workspace') but does not disclose whether the operation requires special permissions, what happens if the recipe or a matching tag already exists (idempotency/duplication risk), whether recipes create multiple underlying resources, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the operation and packs the recipe enumeration into a parenthetical. No filler or redundant phrasing; it earns its length though the parenthetical list is slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, no annotations, and no output schema, one sentence is insufficient. The description does not clarify which parameters apply to which recipes, how the container workspace is selected (given containerPath is optional), or what a successful result looks like. These are meaningful gaps for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter meaning. It adds value only for the 'recipe' parameter by humanizing the enum values. It leaves pixelId, containerPath, and measurementId unexplained, and the phrase 'pre-configured' actively creates confusion by implying no configuration is needed while three optional config parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource structure ('Adds a pre-configured tag recipe') and enumerates the exact recipe types (GA4 Core, Meta Pixel, PostHog, LinkedIn), making the tool's function immediately clear. The action of adding is clearly distinct from the sibling tools' operations (audit, deduplicate, apply consent mode, generate types).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the purpose statement: use this when you want to add a standard pre-configured tag rather than building one manually. However, there is no explicit when-to-use vs when-not-to-use guidance, no mention of alternatives (e.g., manual tag creation), and no note about which recipe fits which scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations provided, so the description carries the full burden. The description states the tool 'Configures... on all analytics and marketing tags', which implies a broad mutation affecting many tags. However, it does not disclose any destructive behavior, reversibility, or side effects. It mentions specific requirements (ad_storage, ad_user_data, analytics_storage) which is useful, but it lacks details on what modifying these tags entails, such as whether it overwrites existing configurations. No contradiction with annotations since none exist, but transparency is limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that clearly states purpose and includes necessary required storage types. It is front-loaded with the verb and object. No waste, every word serves a purpose. This is a model of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and no annotations, the description provides reasonable completeness for a configuration tool. It states what it does and which storage types are involved. However, it lacks details on what happens during configuration (e.g., whether it writes to the container, if it requires backup, the result of the operation). The tool has 2 parameters, both documented, so basic completeness is satisfied, but the behavioral implications of configuring all tags are not fully explained. The sibling tools have distinct purposes, so this tool's role is relatively clear, but more details on the configuration process would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds the context that these parameters are for configuring consent mode on tags. However, the description does not explain how the parameters interact (e.g., what happens if defaultState is denied versus granted). The parameter descriptions in the schema are basic ('Default consent state prior to user CMP interaction' and 'Path to container JSON file'). The description adds minimal extra meaning, just clarifying the overall purpose. Baseline 3 applies as schema covers parameters well, and description adds some value but not deep parameter behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool configures Google Consent Mode v2 with specific storage requirements (ad_storage, ad_user_data, analytics_storage). The verb 'Configures' and resource 'Google Consent Mode v2' are specific. While it could more explicitly distinguish from siblings (e.g., gtm_audit_container, gtm_deduplicate_tags), the purpose is clear enough to stand out from the list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (setting consent mode on tags) but does not explicitly state when to use this tool vs. alternatives like gtm_audit_container or gtm_add_tag_recipe. It lacks explicit 'when not to use' or alternative tools, but the context of configuring consent mode is a clear use case. The sibling tools have distinct purposes (auditing, deduplicating, adding recipes), so a clear distinction is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It indicates a mutating action ('pruning', 'deduplicating') but does not explicitly state that the container file is modified, whether the operation is reversible, or any side effects. The agent is not warned that this may be destructive or that the original file is overwritten. This is insufficient for a mutation tool without annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-formed sentence that front-loads the primary action and immediately states what it does. It contains no filler, repetition, or wasted words, making it highly concise and structured effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (one parameter with full schema coverage, no output schema, no annotations), the description is adequate but incomplete. It does not explain what the tool returns (if anything), nor does it mention whether it modifies the container file in place or how to handle potential side effects. Since no annotations exist, the description should cover these aspects more explicitly; it currently leaves the agent guessing about post-condition behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% description coverage for the only parameter, containerPath, with its description ('Path to container JSON file'). The tool description adds no additional meaning about the parameter. Since schema coverage is high, the baseline of 3 applies; the description offers no extra value on parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's function: deduplicating GA4 configuration and Meta Pixel tags in the GTM container. It specifies the action (deduplicate), the resource (GA4 and Meta Pixel tags in GTM container), and the method (consolidating firing triggers and pruning duplicate base tags). This clearly distinguishes it from siblings like gtm_audit_container (auditing) or gtm_add_tag_recipe (adding tags).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when dealing with duplicate tags, but it does not explicitly state when to use this tool versus alternatives or provide any exclusions. There is no mention of prerequisites (e.g., having a container file) or when not to use it. The purpose is clear, but the guidance on when to invoke it is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states it generates types and helper functions, which is a clear action, but it does not disclose side effects (e.g., whether files are written to a repository, whether it affects existing code, or any authorization requirements). This is a moderate gap for a generation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence, front-loaded with the core function (generates production TypeScript type definitions and helper push functions) and adds target users and use cases. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter fully described in schema and no output schema, the description is adequate for a simple tool. However, it does not mention what the generated output looks like (though no output schema is needed), nor does it clarify the relationship to the 'content' industry enum value, which is listed in schema but not in the description. It is complete enough for basic use but could be enhanced.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single parameter 'industry' with an enum description 'Target industry tracking taxonomy'. The description adds context by listing example industries (E-commerce, SaaS, Lead Gen) within the main description, which clarifies the parameter options, but this is redundant with the enum. The description does not add significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates TypeScript type definitions and helper push functions, specifying the target use case (E-commerce, SaaS, or Lead Gen). The verb 'generate' and resource 'datalayer types' are specific, and it is distinct from sibling tools that perform auditing, deduplication, consent mode, and tag recipe actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (for developers, targeted at specific industries) but does not explicitly state when to use this tool vs alternatives. Sibling tools have different purposes, so a developer would infer usage, but there is no direct guidance on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The term 'audit' implies a read-only operation, but the description does not explicitly state that no modifications are made. Since no annotations are provided, the description carries the burden, and while it suggests non-destructive behavior, it is not fully explicit about side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise, consisting of two short sentences that efficiently convey the tool's purpose and key output categories. No unnecessary words or repetition are present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists specific issues the audit identifies, giving context about what the tool returns. However, it does not specify the output format (e.g., report, list, JSON), which would enhance completeness given the lack of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter containerPath is clearly described as 'Optional local path to container export JSON file', providing precise meaning about its type and purpose. This fully covers the schema, leaving no ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Runs') and resource ('Google Tag Manager container'), and lists concrete outputs (duplicate tags, missing triggers, unconsented tracking, heavy blocking scripts). This distinguishes it from sibling tools like gtm_deduplicate_tags or gtm_apply_consent_mode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. It only describes what the tool does, without stating scenarios where it is preferred over other GTM utilities, making it less helpful for usage decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jarnielcataluna/gtm-tag-architect'
If you have feedback or need assistance with the MCP directory API, please join our Discord server