qrforprint
QR codes for print: free previews, plus dynamic link codes you can repoint after printing.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"qrforprint": {
"url": "https://qrforprint.com/mcp"
}
}
}Remote endpoints
https://qrforprint.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢preview_qr_code(type, url, text, email, emailSubject, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"url",
"text",
"email",
"phone",
"sms",
"wifi",
"vcard"
],
"description": "What the code holds: url, text, email, phone, sms, wifi or vcard (contact card)."
},
"url": {
"description": "type url: the web address, starting with http:// or https://.",
"type": "string",
"maxLength": 2048
},
"text": {
"description": "type text: the plain text to encode.",
"type": "string",
"maxLength": 3000
},
"email": {
"description": "type email: the recipient address.",
"type": "string",
"maxLength": 320
},
"emailSubject": {
"description": "type email: optional subject.",
"type": "string",
"maxLength": 300
},
"emailBody": {
"description": "type email: optional message body.",
"type": "string",
"maxLength": 2000
},
"phone": {
"description": "type phone: the number to call, international format such as +14155550123.",
"type": "string",
"maxLength": 40
},
"smsPhone": {
"description": "type sms: the number the text message goes to.",
"type": "string",
"maxLength": 40
},
"smsBody": {
"description": "type sms: optional message text.",
"type": "string",
"maxLength": 1000
},
"wifiSsid": {
"description": "type wifi: the network name (SSID).",
"type": "string",
"maxLength": 64
},
"wifiPassword": {
"description": "type wifi: the network password.",
"type": "string",
"maxLength": 128
},
"wifiEncryption": {
"description": "type wifi: WPA (default), WEP, or nopass for an open network.",
"type": "string",
"enum": [
"WPA",
"WEP",
"nopass"
]
},
"wifiHidden": {
"description": "type wifi: true if the network name is hidden.",
"type": "boolean"
},
"firstName": {
"description": "type vcard: first name.",
"type": "string",
"maxLength": 100
},
"lastName": {
"description": "type vcard: last name.",
"type": "string",
"maxLength": 100
},
"org": {
"description": "type vcard: company.",
"type": "string",
"maxLength": 200
},
"title": {
"description": "type vcard: job title.",
"type": "string",
"maxLength": 200
},
"vcardPhone": {
"description": "type vcard: phone number.",
"type": "string",
"maxLength": 40
},
"vcardEmail": {
"description": "type vcard: email address.",
"type": "string",
"maxLength": 320
},
"vcardUrl": {
"description": "type vcard: website.",
"type": "string",
"maxLength": 2048
}
},
"required": [
"type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_my_codes(page)
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.
Input Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡create_dynamic_link_code(destination_url, name)
Creates a dynamic QR code in the signed-in qrforprint account. The code holds a short qrforprint link that forwards to the given web address, so the destination can be changed later without reprinting, and scans are counted. Free accounts can have 3 dynamic codes. Returns the short link, the QR image and a link to style and download it on qrforprint.com.
Input Schema
{
"type": "object",
"properties": {
"destination_url": {
"type": "string",
"maxLength": 2048,
"description": "The web address the code opens, starting with http:// or https://."
},
"name": {
"description": "A name to find the code by later, such as 'Table menu'.",
"type": "string",
"maxLength": 120
}
},
"required": [
"destination_url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴update_code_destination(code, destination_url)
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.
Input Schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"maxLength": 300,
"description": "The code ID or its short link, as shown by list_my_codes."
},
"destination_url": {
"type": "string",
"maxLength": 2048,
"description": "The new web address, starting with http:// or https://."
}
},
"required": [
"code",
"destination_url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence