Skip to main content
Glama

Make QR

make_qr

Make a PNG QR code for an invoice, URL, or text. Put the QR URL in your own message.

Input Schema

NameRequiredDescriptionDefault
eccNoError correction: L, M, Q, or H.M
dataYesText, URL or Lightning invoice. (minimum length 1, maximum length 2048).
sizeNoPNG width in pixels. (minimum 64, maximum 1024, default 256).
max_satsNoMost this call may charge. Minimum 1. A higher total charges nothing.

Output Schema

NameRequiredDescriptionDefault
codeNoapproval_required, limit_exceeded, or insufficient_balance when the call stopped.
whichNoWhich limit: per_call, per_day, per_session, per_hour_buys, per_minute_calls, or per_minute_sats.
contentNoDelivered text. Empty when the call did not deliver.
messageNo
order_idNoOrder id after a charge. Null when nothing was charged.
truncatedNoTrue when the source was longer than content, or the page itself was cut.
total_costNoAll-in price string.
approval_urlNoPage where the person approves this exact price.
balance_satsNoCredit balance after the call, or null when it was not read.
sats_chargedNoSats charged for this call. 0 when nothing was charged.
total_lengthNoCharacters before truncation. Larger than content_length when truncated is true.
content_lengthNoCharacters in content.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations declare openWorldHint=true, readOnlyHint=false and idempotentHint=false, so the agent already knows this is a non-idempotent call that reaches outside the system. The description adds that the output is a PNG plus a QR URL meant to be relayed by the caller, but it never discloses that the call may consume sats (max_sats exists as a cost guard), which is a meaningful behavioral omission.

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?

Two short sentences, zero filler, with the output artifact and the follow-up action front-loaded. Every clause 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?

An output schema exists, so return-value detail is not required from the description. However, for a 4-parameter tool sitting in a payment-oriented toolset (max_sats, top_up, spend_summary), the description leaves the charging behavior unexplained; that gap is partially covered by the schema but not fully resolved for agent decision-making.

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 100%, so ecc, data, size and max_sats are all documented in the schema itself. The description only echoes the payload kinds already covered by the 'data' parameter description and adds no format, encoding or cost semantics beyond it — baseline 3.

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 states a specific verb and resource ('Make a PNG QR code') and enumerates the accepted payload kinds (invoice, URL, text), so an agent knows exactly what the tool produces. It does not name any sibling, but no sibling in this list competes for the same job, so differentiation matters less here.

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?

'Put the QR URL in your own message' gives actionable usage guidance about how to consume the result, which is implicit when-to-use context. There is no statement of when not to use it, nor any mention of the paid nature of the call despite siblings like balance/top_up/spend_summary implying a metered environment.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources