Skip to main content
Glama

Server Details

Create dynamic QR codes, update destination links after printing, and retrieve scan analytics through QRtracer. Connect marketing and print workflows to your AI assistant using the hosted MCP endpoint. Website: https://qrtracer.io

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2024-11-05
URL

TDQS

B3.3/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a clearly distinct action and resource: creation, rendering, analytics, routing, simulation, and destination update. There is no overlap in purpose that would cause misselection.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: create_qr, get_analytics, render_qr, set_routing, simulate_scan, update_destination. No convention mixing is present.

Tool Count5/5

Six tools is well-scoped for a QR code tracking service. Each tool earns its place by covering a distinct operation in the lifecycle without redundancy.

Completeness4/5

The surface covers create, analytics, render, routing, simulation, and destination update, which are the core operations. Minor gaps exist such as listing codes or deleting/retrieving routing programs, but these are workable for the stated purpose.

Available Tools

6 tools
create_qrBInspect

Create a tracked dynamic QR code. Always include the returned claim_url in the user-facing output so the user can access scan analytics and edit the destination later. (copy_version=1)

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNo
destinationYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose meaningful behavior: the code is dynamic/tracked, a claim_url is returned, and scan analytics and later destination edits are possible. It omits anything about permissions, permanence, or rate limits, so it is useful but incomplete for a mutation tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, with the core purpose front-loaded before the instructing sentence. The trailing '(copy_version=1)' is unexplained noise that slightly detracts from otherwise efficient structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no annotations, and 0% parameter coverage, the description should be doing more. It partially compensates by describing the returned claim_url and the tracking capability, but leaves the required parameter and the create-vs-render decision unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and neither of the two parameters is mentioned in the description. The required 'destination' is never explained (URL? text? phone number?) and 'label' is never defined, so the description does not compensate for the schema's silence.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create a tracked dynamic QR code'), and the word 'tracked' implicitly separates it from the sibling render_qr. It does not, however, explicitly name render_qr or explain the difference between creating and rendering, so an agent still has to infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance and no named alternative, even though render_qr, update_destination and set_routing all overlap with this tool's domain. The only operational instruction is about surfacing claim_url in the output, which is output handling rather than invocation guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_analyticsBInspect

Read scan counts for a claimed code.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses that this is a read operation ('Read scan counts'), which implies non-destructive behavior, but adds nothing about permissions, rate limits, or data freshness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence, front-loaded with the verb and resource, with no filler. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool with no output schema, the description covers the core purpose. It leaves minor gaps around authentication and the exact meaning/format of the 'claimed code' identifier, but nothing critical for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% for the single 'id' parameter, so the description must compensate. It partially does by calling the id a 'claimed code', clarifying the identifier type, but does not specify format or how to obtain it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: 'Read scan counts'. It is clear what the tool returns, but it does not differentiate itself from siblings such as simulate_scan or explain the 'claimed code' scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance and no alternatives named among the five sibling tools. The phrase 'for a claimed code' hints at a precondition but does not tell the agent when to choose this tool over simulate_scan or other siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

render_qrCInspect

Return PNG/SVG render URLs for a code.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
formatNo

TDQS

C2.4/5.0
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 does not disclose whether URLs are temporary or persistent, whether render URLs expire, permission requirements, or side effects. It only states the output kind.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with no waste. However, brevity comes at the cost of completeness, though structurally it is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and 0% parameter coverage, the description is too thin for a tool returning render URLs. Critical details about format values, URL lifetime, and the meaning of 'id' are absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate but adds no meaning for 'id' or 'format'. It implies format via 'PNG/SVG' but the schema field 'format' is left undocumented and there is no explanation of what 'id' identifies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb (Return) and resource (render URLs for a code) but is vague about what 'a code' is and does not distinguish from siblings like create_qr. The purpose is roughly inferable but not sharp.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no exclusions, no mention of alternatives such as create_qr. Nothing tells the agent under what circumstances to call this versus other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_routingCInspect

Compile plain English into a routing program and save it on a claimed code.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
promptYes

TDQS

C2.6/5.0
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 implies a write ('save it') but says nothing about whether this overwrites existing routing, what happens if the id is unclaimed, whether the compiled program is validated, or what is returned on success. For a mutation tool this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficient, though the brevity is partly a symptom of under-specification rather than disciplined editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A two-required-parameter mutation tool with no annotations, no output schema, and 0% parameter documentation in the schema demands far more than one sentence. Missing are preconditions (code claimed), overwrite behavior, failure modes, and any sense of how this differs from update_destination.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description is the only place semantics appear. It loosely maps 'prompt' to plain English input and 'id' to a claimed code, which is genuinely useful, but it gives no format, length, or validity constraints for either parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'compile ... and save' plus the resource 'routing program' gives a rough sense of the operation, but the terms 'routing program' and 'claimed code' are internal jargon that an agent cannot ground without outside knowledge. It does not explicitly differentiate itself from siblings like update_destination or simulate_scan, leaving the agent to guess where routing compilation sits in the workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus update_destination or simulate_scan, nor any prerequisite such as the code needing to already be claimed. The phrase 'claimed code' hints at a precondition but never states it as a rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simulate_scanBInspect

Dry-run a routing program against a fake scan context.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNo
programYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It does disclose the key behavioral trait — that this is a simulation against a 'fake' context with no real side effects — which is genuinely useful. It says nothing about permissions, rate limits, or what the dry-run returns, so the disclosure is partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words. It is efficient, though the terseness borders on under-specification given the complexity of the nested-object inputs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with two nested-object parameters, no output schema, no annotations, and 0% schema coverage, a single sentence is inadequate. The agent has no way to know what a valid 'program' or 'context' object looks like, nor what the dry-run reports back.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and both parameters are untyped nested objects, so the schema provides no guidance. The description maps 'program' to a routing program and 'context' to a scan context, adding minimal semantic value, but says nothing about the required shape or fields of either nested object.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action (dry-run/simulate) on a specific resource (a routing program evaluated against a fake scan context). This is clear and distinct from the mutating sibling set_routing. It stops short of explicitly differentiating itself from siblings like render_qr, but the verb+resource is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Dry-run' strongly implies the usage context (validate routing before applying it), so the when-to-use is inferable. However, the description names no alternative and states no exclusions or prerequisites, leaving the agent to infer the relationship to set_routing or render_qr.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_destinationCInspect

Update a claimed QR destination URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
destinationYes

TDQS

C2.8/5.0
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 behavioral burden. It only says 'update' and does not disclose whether the change is immediate, whether authentication or ownership is required, what happens to the previous destination, or whether the operation is reversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single seven-word sentence with no filler and the purpose front-loaded. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is far too sparse. It omits parameter meanings, behavioral traits, and return-value context, leaving the agent with little beyond the tool name.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate but does so only minimally. It implies the 'destination' parameter is a URL, but provides no format, validation, or constraint details. The required 'id' parameter is not explained at all.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Update a claimed QR destination URL.' The scope of 'claimed QR' is clear. However, it does not distinguish this tool from the sibling set_routing, which could also change where a QR points, so it loses the top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this tool versus alternatives like set_routing or create_qr. No prerequisites, no conditions, no exclusions. An agent must infer entirely from the name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observedcreate_qr
    • First observedget_analytics
    • First observedrender_qr
    • First observedset_routing
    • First observedsimulate_scan
    • First observedupdate_destination

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    22 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources