Skip to main content
Glama

Server Details

QR codes for print: free previews, plus dynamic link codes you can repoint after printing.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct resource+action: creating a dynamic code, listing saved codes, previewing a static code, and updating a dynamic code's destination. The static vs dynamic distinction is made explicit in descriptions, so an agent can reliably choose the right tool.

Naming Consistency4/5

All four names follow a snake_case verb_noun pattern (create_/list_/preview_/update_). Minor variance in noun phrasing ('my_codes' vs 'qr_code' vs 'dynamic_link_code') is readable but not perfectly uniform.

Tool Count4/5

Four tools is on the lean side but each covers a genuinely different operation with no redundancy. A small surface is appropriate for this focused QR service, though one or two more lifecycle tools would round it out.

Completeness3/5

Core actions (create dynamic, list, update destination, preview static) are covered, but there is no way to delete a code, retrieve a single code by ID, or permanently save a static code. These are notable gaps an agent could hit in a full manage-codes workflow.

Available Tools

4 tools
list_my_codesList my QR codesA
Read-onlyIdempotent
Inspect

Lists the QR codes saved in the signed-in qrforprint account, newest first, 50 per page: name, type, static or dynamic, short link, destination, total scans for dynamic codes, creation date, whether the code is disabled, and a link to edit it on qrforprint.com.

NameRequiredDescriptionDefault
pageNoPage number, starting at 1.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false. The description adds useful behavior beyond annotations: newest-first ordering, 50 items per page, account scoping, and a detailed list of returned fields.

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?

It is a single front-loaded sentence that starts with the core action before listing details. The field enumeration is somewhat dense, but since there is no output schema, most of it earns its place.

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

Completeness5/5

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

For a low-complexity list tool, the description is complete: it covers account scope, ordering, page size, returned fields, and code status. The schema covers the only parameter and annotations cover safety, so no critical information is missing.

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

Parameters4/5

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

The input schema fully documents the single 'page' parameter with its range, so the baseline is 3. The description adds meaningful pagination semantics by specifying '50 per page,' which tells the agent how many records each page contains.

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

Purpose5/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: it lists QR codes saved in the signed-in account. It also specifies ordering, page size, and returned fields, making it clearly distinct from create, preview, and update siblings.

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?

The usage is implied by 'Lists the QR codes saved in the signed-in account,' but there is no explicit guidance on when to use this vs. preview_qr_code, update_code_destination, or other siblings. It provides context but no exclusions or alternatives.

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

preview_qr_codePreview a QR codeA
Read-onlyIdempotent
Inspect

Draws a black and white preview of a static QR code for a web address, plain text, email, phone call, text message, WiFi network or contact card. Returns the PNG image and a link that opens the same content in the qrforprint editor, where it can be styled and downloaded as PNG, SVG, PDF or EPS. Nothing is saved and no account is needed. A static code cannot be changed after it is printed.

NameRequiredDescriptionDefault
orgNotype vcard: company.
urlNotype url: the web address, starting with http:// or https://.
textNotype text: the plain text to encode.
typeYesWhat the code holds: url, text, email, phone, sms, wifi or vcard (contact card).
emailNotype email: the recipient address.
phoneNotype phone: the number to call, international format such as +14155550123.
titleNotype vcard: job title.
smsBodyNotype sms: optional message text.
lastNameNotype vcard: last name.
smsPhoneNotype sms: the number the text message goes to.
vcardUrlNotype vcard: website.
wifiSsidNotype wifi: the network name (SSID).
emailBodyNotype email: optional message body.
firstNameNotype vcard: first name.
vcardEmailNotype vcard: email address.
vcardPhoneNotype vcard: phone number.
wifiHiddenNotype wifi: true if the network name is hidden.
emailSubjectNotype email: optional subject.
wifiPasswordNotype wifi: the network password.
wifiEncryptionNotype wifi: WPA (default), WEP, or nopass for an open network.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds real value beyond that: the return payload (PNG image plus editor link), the no-persistence/no-account guarantee, and the permanence caveat that a static code cannot be changed after printing — a materially useful behavioral fact for a preview tool.

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?

Three sentences, front-loaded with the action and output, followed by the editor/download path and the static-code caveat. Dense with no filler; the type enumeration is long but functional rather than redundant padding.

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

Completeness5/5

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

There is no output schema, and the description compensates by describing both return artifacts (PNG image and editor link). For a 20-parameter, single-required-field preview tool, the description plus a fully documented schema cover everything an agent needs to call it and interpret the result.

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% and every one of the 20 parameters is documented in the schema, including conditional 'type ...' prefixes. The description only restates the type list already captured by the enum, adding no format, constraint or dependency guidance beyond the schema, so baseline 3 applies.

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

Purpose5/5

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

"Draws a black and white preview of a static QR code" states a specific verb and resource, and the enumerated content types (web address, plain text, email, phone, SMS, WiFi, contact card) pin down exactly what the tool covers. The word "static" plus "Nothing is saved" cleanly separates it from the sibling create_dynamic_link_code, so an agent can route without opening a schema.

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

Usage Guidelines4/5

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

Clear context for use: preview-only, no account, nothing persisted, with a pointer to the qrforprint editor for styling and download. It implies the alternative (persisted/dynamic codes handled by the sibling tools) but never names or explicitly excludes them, so the routing is inferential rather than stated.

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

update_code_destinationChange where a QR code goesA
DestructiveIdempotent
Inspect

Changes the web address a dynamic link QR code in the signed-in qrforprint account forwards to. Printed copies keep working and open the new address from the next scan. Accepts the code ID or its short link. Static codes, disabled codes and photo, PDF or voice note codes cannot be changed with this tool.

NameRequiredDescriptionDefault
codeYesThe code ID or its short link, as shown by list_my_codes.
destination_urlYesThe new web address, starting with http:// or https://.

TDQS

A4.2/5.0
Behavior4/5

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

Beyond the annotations, it discloses the key behavioral consequence: already-printed copies keep working and resolve to the new address from the next scan, and the change is scoped to the signed-in account. That is genuinely useful context that the destructiveHint/idempotentHint flags do not convey. It doesn't discuss whether the old destination is recoverable or what a failure looks like, which keeps it from a 5.

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?

Three sentences with zero filler; the action is front-loaded, the user-facing consequence follows, and the exclusions close it out. Every sentence earns its place.

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

Completeness4/5

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

For a two-parameter mutation with full schema coverage and no output schema, the description covers the effect, the persistence behavior of printed copies, and the unsupported code types. Only a note on the failure/response behavior would make it fully complete.

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 100%, so both parameters are already documented in the schema. The description's 'Accepts the code ID or its short link' restates the schema's own wording for the code parameter and adds no format or validation detail beyond it. Baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource — changing the destination web address of a dynamic link QR code in the signed-in account. The scope is sharpened by naming what it cannot touch (static, disabled, photo/PDF/voice note codes), which separates it from create_dynamic_link_code and list_my_codes without opening either schema.

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

Usage Guidelines4/5

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

Gives a clear condition for use (dynamic link codes in the signed-in account) and explicit exclusions of the code types this tool rejects. It stops short of naming an alternative tool for those excluded cases, so the agent is left to infer where to go next.

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. 4 tool updates
    • First observedcreate_dynamic_link_code
    • First observedlist_my_codes
    • First observedpreview_qr_code
    • First observedupdate_code_destination

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables generating QR codes from URLs or text without an API key, and creating trackable short links whose printed QR codes can be re-pointed after printing.
    48 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Generate QR codes and create, edit and track dynamic (editable) QR codes with scan analytics, folders, style themes and branded subdomain management. Free REST API with an OpenAPI spec alongside; every tool takes a free API key.
    12
    AGPL 3.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    QrVerloz lets AI agents create QR codes instantly — no account needed, active for 90 days, and claimable at any time to make them permanent. Retarget the destination URL whenever you need, without reprinting.
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Dynamic QR code platform for AI agents. Create, customize, and track QR codes without regenerating images. 37 tools covering 11 QR types (URL, vCard, WiFi, event…).
    37
    3
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources