tracking-stack-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Every tool has a unique vendor prefix (wc, ga4, gtm) combined with a distinct action/resource pair. The list_* and create_* tools are clearly separated, and wc_create_profile is unambiguous relative to wc_create_account.
Naming Consistency5/5All tools follow the consistent [vendor]_[verb]_[resource] pattern with lowercase snake_case. List verbs are plural and create verbs are singular, with no mixed conventions or vague action names.
Tool Count5/5Seven tools is well-scoped for a tracking-stack provisioning server covering three platforms. Each list/create pair earns its place, and the extra wc_create_profile is justified by the distinct resource type.
Completeness4/5The set covers the core list-and-create lifecycle for WhatConverts, GA4, and GTM resources, including duplicate guards and dry-run defaults. Minor gaps exist around updates/deletes and GTM publishing, but the primary provisioning workflow is complete enough for agents to accomplish real setup tasks.
Average 4.3/5 across 7 of 7 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 2 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
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
- Behavior4/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 clearly flags mutation, dry-run by default, refusal on duplicate names, and the fact that nothing is published. These are meaningful behavioral disclosures beyond the schema. It does not cover all possible side effects, but it gives an agent enough to safely invoke the 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 a single, front-loaded sentence with a clear warning prefix and no filler. It packs the mutating nature, the action, the return value, duplicate handling, publish behavior, and dry-run default into a compact, immediately scannable format.
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?
Given no output schema and no annotations, the description plus the schema covers the essential details: dry-run default, confirmation requirement, duplicate refusal, no publishing, and the returned id. The missing explicit instruction to obtain the account id via gtm_list_containers is partially covered by the schema, so the overall context is sufficient but not exhaustive.
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 already documents confirmed and gtm_account_id, while container_name has no schema description. The tool description loosely implies container_name refers to a web container, but it does not add meaningful parameter-level detail. With 67% schema coverage, the description partially compensates but does not fully clarify the unspecified parameter.
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 states a specific verb and resource: 'Create a web container in an existing GTM account.' It also specifies the return value (GTM-XXXX id) and a key behavior (refuses on duplicate name). This clearly distinguishes it from sibling tools like gtm_list_containers and platform-specific create tools.
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 by saying 'existing GTM account' and the schema notes gtm_account_id comes from gtm_list_containers. However, the description itself does not explicitly state when to use this tool versus alternatives, such as wc_create_account or ga4_create_property, nor does it mention exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It clearly warns 'MUTATING', identifies the side effect of creating a web data stream, notes duplicate refusal, and states that dry-run is the default. It omits permissions or quota implications, but the core mutation behavior is transparent.
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, front-loaded sentence that begins with the mutation warning, states the main action, and packs in key behavioral details without filler. Every clause earns its place.
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?
Given the schema covers all parameters and no output schema exists, the description usefully notes the G- measurement ID return value and the dry-run default. It is largely complete, though it leaves some details about expected error behavior or response shape unstated.
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 description coverage is 100%, so the schema already documents all five parameters. The description adds some context around display-name duplicates and the returned measurement ID, but it does not substantially enrich parameter meaning beyond what the schema provides.
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 states a specific action and resource: 'Create a GA4 property under an existing Analytics account, plus a web data stream (returns the G- measurement ID).' It clearly distinguishes this from sibling tools that create accounts, profiles, or GTM containers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly frames the prerequisite as an existing Analytics account and notes the duplicate display-name refusal, which helps an agent decide when to call it. It does not name an alternative for when no account exists, but the sibling list and prerequisite phrasing provide adequate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It explicitly labels the operation as read-only and describes the data returned. This is sufficient for a zero-parameter, non-destructive listing operation, though it does not mention authentication or potential pagination.
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 sentence that front-loads the most important safety characteristic ('Read-only'), followed immediately by the action and resource. Every word contributes meaning; there is no filler or redundancy.
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?
For a zero-parameter, no-output-schema list tool, this description is nearly complete. It identifies the resource, the mode, and the key return components. It could be slightly richer by noting the output format or relationship between accounts and properties, but nothing essential is missing for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description adds useful output-scope context by listing what will be returned, but there are no parameters for it to explain.
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 ('list'), names the exact resource ('GA4 accounts and their properties'), and even specifies the output elements ('names + ids + measurement streams'). It clearly distinguishes itself from sibling tools like wc_list_accounts and ga4_create_property by scope and operation type.
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 'Read-only' prefix and 'list' verb imply that this is the tool to use for retrieving GA4 account/property information, and the sibling names suggest it is the read counterpart to ga4_create_property. However, it does not explicitly state when to use this tool over alternatives or provide any conditions for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It clearly warns that the operation is mutating, explains that it refuses duplicate names, and states the dry-run-by-default behavior, which is critical for safe invocation.
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 compact sentence that front-loads the mutating warning and packs in the key constraints: one per client, duplicate refusal, and dry-run default. Every clause adds meaningful guidance with no wasted words.
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?
For a simple two-parameter creation tool, the description covers the essential safety and success criteria: mutating action, duplicate behavior, and confirmation flow. It does not describe what the tool returns on success or failure, but the absence of an output schema is partially offset by the schema's clear parameter documentation.
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 description coverage is 100%, so the schema already documents both parameters well. The description adds useful semantic context around account_name uniqueness and the one-per-client rule, but it does not substantially expand parameter meaning beyond what the schema provides.
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 states a precise action ('Create a WhatConverts account'), the resource type, and the agency convention of one account per client. It also distinguishes itself from siblings like wc_create_profile by explicitly scoping to accounts at the WhatConverts level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear contextual usage guidance by explaining the one-per-client agency convention and that the tool refuses duplicate names. However, it does not explicitly direct the agent to alternatives such as wc_create_profile when a profile is needed instead of a new account.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It explicitly declares 'Read-only' and describes the returned data, which is sufficient behavioral disclosure for a parameterless listing tool. It does not cover error cases or pagination, but those are less critical here.
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?
A single, front-loaded sentence with no filler. 'Read-only' is placed first, and the output specifics ('names + public GTM-XXXX ids') justify the rest of the sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 0-parameter, no-output-schema listing tool, the description is complete: it states what is listed, the resource scope, and the exact data returned. No further context is needed for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline for parameter semantics is 4. The description's mention of the output fields adds useful context despite the empty input 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 uses a specific verb ('list'), names a precise resource ('GTM accounts and their containers'), and specifies the output ('names + public GTM-XXXX ids'). This clearly distinguishes it from sibling tools like ga4_list_properties and gtm_create_container.
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 read-only listing behavior implies this is a discovery tool, but there is no explicit statement of when to use it or when to prefer a sibling such as gtm_create_container. Usage context is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It explicitly states the operation is read-only and discloses the return contents (ids + names), which is meaningful behavioral context. It does not mention auth, rate limits, or pagination, but for a zero-parameter list-all tool this is a minor gap.
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?
A single, front-loaded sentence with no wasted words. The read-only nature leads, the scope is clear, and the return detail is included efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list-all tool, the description fully covers what an agent needs: what the tool returns (accounts and profiles with ids and names) and its safety profile. No output schema exists, but the stated return contents are sufficient for this simple call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the baseline is 4. The description adds useful information about the return payload (ids + names) even though there is nothing to explain about parameters.
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 ('list') and names the exact resources (all WhatConverts agency accounts and their profiles), plus the fields returned (ids + names). It is clearly distinguishable from the sibling creation tools, which are obviously different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Read-only' label plus 'list all' gives clear context for when to call this tool: for a non-mutating listing operation. It does not explicitly enumerate alternatives or exclusions, but the sibling tool names make the contrast obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It explicitly flags the operation as MUTATING, explains the duplicate-name refusal and its protective purpose, and discloses the dry-run default. This is strong and actionable transparency.
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?
Three concise sentences, each earning its place: mutation warning, core purpose, duplicate guard, and dry-run behavior. The warning is front-loaded, and there is no filler or redundant restating of the tool name.
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 covers purpose, mutation risk, safety defaults, and a key failure mode. The only meaningful gap is that it does not describe what the tool returns or how the agent should confirm success, and there is no output schema to fill that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers confirmed and account_id well, and the description adds meaning for profile_name by explaining the duplicate-name constraint. It stops short of describing naming rules or the response, but it adds value 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 states a specific action ('Create a profile'), a specific resource ('inside an existing WhatConverts account'), and distinguishes itself from sibling tools like wc_create_account and the GA4/GTM creators. An agent can clearly tell what this tool does and what it does not do.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly situates use within an existing WhatConverts account, implying the account should first be obtained via wc_list_accounts. It does not explicitly name sibling alternatives or state when not to use it, but the 'existing account' qualifier provides practical routing guidance.
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/jayweezy247/tracking-stack-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server