generateItemQr
Generate (or regenerate) the item's QR code SVG. Requires scope: create_qr.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID | |
| idempotency_key | No | Optional Idempotency-Key: repeat-safe retries return the original result. |
Generate (or regenerate) the item's QR code SVG. Requires scope: create_qr.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID | |
| idempotency_key | No | Optional Idempotency-Key: repeat-safe retries return the original result. |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and idempotentHint=false, so the safety profile is covered. The description adds real value beyond that by naming the required auth scope (create_qr) and by signalling via 'regenerate' that an existing QR is replaced — though it doesn't say whether previously issued/printed codes are invalidated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler; the action is front-loaded and the scope requirement follows immediately. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, non-readOnly tool with no output schema, the description omits how the generated SVG is returned (inline string, URL, or attachment) and says nothing about the idempotency_key parameter it accepts. It covers the operation and its auth requirement but leaves the response contract implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both `id` and `idempotency_key` are fully documented in the schema, establishing the baseline of 3. The description adds no parameter-level meaning (e.g., what regeneration does with an existing idempotency key) beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Generate (or regenerate)') and resource ('the item's QR code SVG'), and the 'regenerate' parenthetical usefully signals overwrite semantics. No sibling tool overlaps this capability, so the agent can distinguish it, though the description never explicitly contrasts with siblings like getItem.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a prerequisite ('Requires scope: create_qr'), which is actionable context, but offers no when-to-use guidance, no indication of when to call this versus retrieving an existing QR, and no note on whether regeneration is safe to invoke repeatedly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.