QR — canonical payload contracts
Create and read QR codes and 1D barcodes; vCard / Wi-Fi / EPC payment QR helpers. Does not initiate payments.
Service id: qr
Docs: https://mcp.glc-rag.hu/guide/qr
Markdown docs: https://mcp.glc-rag.hu/guide/qr.md
MCP resource: docs://qr/payload
POST https://mcp.glc-rag.hu/mcp. Values below are type slots from the live input schema (e.g. <string, required>), not example data. Fill them from the user task.
RPC result wrapper: result.structuredContent is the object in Output schema. result.isError mirrors structuredContent.is_error.
qr_create
Encode text/URL into a QR PNG published to staging.
Required arguments: data
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "qr_create",
"arguments": {
"data": "<string, required>",
"error_correction": "<string, optional, enum L|M|Q|H, default 'M'>",
"box_size": "<integer, optional, default 8, minimum 1, maximum 40>",
"border": "<integer, optional, default 4, minimum 0, maximum 20>",
"fill": "<string, optional, default '#000000'>",
"back": "<string, optional, default '#ffffff'>",
"return_base64": "<boolean, optional, default False>"
}
}
}
Input schema
{
"type": "object",
"properties": {
"data": {
"type": "string"
},
"error_correction": {
"type": "string",
"enum": [
"L",
"M",
"Q",
"H"
],
"default": "M"
},
"box_size": {
"type": "integer",
"minimum": 1,
"maximum": 40,
"default": 8
},
"border": {
"type": "integer",
"minimum": 0,
"maximum": 20,
"default": 4
},
"fill": {
"type": "string",
"default": "#000000"
},
"back": {
"type": "string",
"default": "#ffffff"
},
"return_base64": {
"type": "boolean",
"default": false
}
},
"required": [
"data"
],
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"bytes": {
"type": "integer"
},
"format": {
"type": "string"
}
},
"additionalProperties": true,
"required": [
"url"
]
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}
qr_read
Decode QR codes from an image (URL or base64).
Required arguments: (none)
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "qr_read",
"arguments": {
"url": "<string, optional>",
"content_base64": "<string, optional>"
}
}
}
Input schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public/staging image URL"
},
"content_base64": {
"type": "string",
"description": "Small image base64"
}
},
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"found": {
"type": "boolean"
},
"text": {
"type": [
"string",
"null"
]
},
"symbology": {
"type": "string"
}
},
"additionalProperties": true
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}
barcode_create
Encode 1D barcode (code128/ean13/ean8/upc/isbn13/itf) to staging PNG.
Required arguments: data
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "barcode_create",
"arguments": {
"data": "<string, required>",
"symbology": "<string, optional, enum code128|ean13|ean8|upc|isbn13|itf, default 'code128'>",
"write_text": "<boolean, optional, default True>",
"return_base64": "<boolean, optional, default False>"
}
}
}
Input schema
{
"type": "object",
"properties": {
"data": {
"type": "string"
},
"symbology": {
"type": "string",
"enum": [
"code128",
"ean13",
"ean8",
"upc",
"isbn13",
"itf"
],
"default": "code128"
},
"write_text": {
"type": "boolean",
"default": true
},
"return_base64": {
"type": "boolean",
"default": false
}
},
"required": [
"data"
],
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"bytes": {
"type": "integer"
},
"format": {
"type": "string"
}
},
"additionalProperties": true,
"required": [
"url"
]
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}
barcode_read
Decode 1D/QR barcodes from an image.
Required arguments: (none)
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "barcode_read",
"arguments": {
"url": "<string, optional>",
"content_base64": "<string, optional>",
"types_filter": [
"<string, optional>"
]
}
}
}
Input schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public/staging image URL"
},
"content_base64": {
"type": "string",
"description": "Small image base64"
},
"types_filter": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional zbar types: EAN13, CODE128, QRCODE, …"
}
},
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"found": {
"type": "boolean"
},
"text": {
"type": [
"string",
"null"
]
},
"symbology": {
"type": "string"
}
},
"additionalProperties": true
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}
vcard_qr_create
Build a vCard 3.0 and encode it as a QR PNG.
Required arguments: full_name
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "vcard_qr_create",
"arguments": {
"full_name": "<string, required>",
"org": "<string, optional>",
"title": "<string, optional>",
"email": "<string, optional>",
"phone": "<string, optional>",
"url": "<string, optional>",
"note": "<string, optional>",
"address": {
"street": "<string, optional>",
"city": "<string, optional>",
"region": "<string, optional>",
"postal": "<string, optional>",
"country": "<string, optional>"
},
"error_correction": "<string, optional, enum L|M|Q|H, default 'M'>",
"box_size": "<integer, optional, default 8, minimum 1, maximum 40>",
"border": "<integer, optional, default 4, minimum 0, maximum 20>",
"fill": "<string, optional, default '#000000'>",
"back": "<string, optional, default '#ffffff'>",
"return_base64": "<boolean, optional, default False>"
}
}
}
Input schema
{
"type": "object",
"properties": {
"full_name": {
"type": "string"
},
"org": {
"type": "string"
},
"title": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"url": {
"type": "string"
},
"note": {
"type": "string"
},
"address": {
"type": "object",
"properties": {
"street": {
"type": "string"
},
"city": {
"type": "string"
},
"region": {
"type": "string"
},
"postal": {
"type": "string"
},
"country": {
"type": "string"
}
},
"additionalProperties": false
},
"error_correction": {
"type": "string",
"enum": [
"L",
"M",
"Q",
"H"
],
"default": "M"
},
"box_size": {
"type": "integer",
"minimum": 1,
"maximum": 40,
"default": 8
},
"border": {
"type": "integer",
"minimum": 0,
"maximum": 20,
"default": 4
},
"fill": {
"type": "string",
"default": "#000000"
},
"back": {
"type": "string",
"default": "#ffffff"
},
"return_base64": {
"type": "boolean",
"default": false
}
},
"required": [
"full_name"
],
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"bytes": {
"type": "integer"
},
"format": {
"type": "string"
}
},
"additionalProperties": true,
"required": [
"url"
]
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}
wifi_qr_create
Build a WIFI: QR for network join (does not connect).
Required arguments: ssid
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "wifi_qr_create",
"arguments": {
"ssid": "<string, required>",
"password": "<string, optional>",
"security": "<string, optional, enum WPA|WEP|nopass, default 'WPA'>",
"hidden": "<boolean, optional, default False>",
"error_correction": "<string, optional, enum L|M|Q|H, default 'M'>",
"box_size": "<integer, optional, default 8, minimum 1, maximum 40>",
"border": "<integer, optional, default 4, minimum 0, maximum 20>",
"fill": "<string, optional, default '#000000'>",
"back": "<string, optional, default '#ffffff'>",
"return_base64": "<boolean, optional, default False>"
}
}
}
Input schema
{
"type": "object",
"properties": {
"ssid": {
"type": "string"
},
"password": {
"type": "string"
},
"security": {
"type": "string",
"enum": [
"WPA",
"WEP",
"nopass"
],
"default": "WPA"
},
"hidden": {
"type": "boolean",
"default": false
},
"error_correction": {
"type": "string",
"enum": [
"L",
"M",
"Q",
"H"
],
"default": "M"
},
"box_size": {
"type": "integer",
"minimum": 1,
"maximum": 40,
"default": 8
},
"border": {
"type": "integer",
"minimum": 0,
"maximum": 20,
"default": 4
},
"fill": {
"type": "string",
"default": "#000000"
},
"back": {
"type": "string",
"default": "#ffffff"
},
"return_base64": {
"type": "boolean",
"default": false
}
},
"required": [
"ssid"
],
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"bytes": {
"type": "integer"
},
"format": {
"type": "string"
}
},
"additionalProperties": true,
"required": [
"url"
]
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}
payment_qr_create
Build an EPC/SCT payment QR (EUR). Does not initiate a transfer.
Required arguments: iban, name
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "payment_qr_create",
"arguments": {
"profile": "<string, optional, enum epc, default 'epc'>",
"iban": "<string, required>",
"name": "<string, required>",
"amount": "<string, optional>",
"currency": "<string, optional, default 'EUR'>",
"remittance": "<string, optional>",
"purpose": "<string, optional>",
"bic": "<string, optional>",
"error_correction": "<string, optional, enum L|M|Q|H, default 'M'>",
"box_size": "<integer, optional, default 8, minimum 1, maximum 40>",
"border": "<integer, optional, default 4, minimum 0, maximum 20>",
"fill": "<string, optional, default '#000000'>",
"back": "<string, optional, default '#ffffff'>",
"return_base64": "<boolean, optional, default False>"
}
}
}
Input schema
{
"type": "object",
"properties": {
"profile": {
"type": "string",
"enum": [
"epc"
],
"default": "epc"
},
"iban": {
"type": "string"
},
"name": {
"type": "string",
"description": "Beneficiary name"
},
"amount": {
"type": "string",
"description": "e.g. 12.34"
},
"currency": {
"type": "string",
"default": "EUR"
},
"remittance": {
"type": "string"
},
"purpose": {
"type": "string"
},
"bic": {
"type": "string"
},
"error_correction": {
"type": "string",
"enum": [
"L",
"M",
"Q",
"H"
],
"default": "M"
},
"box_size": {
"type": "integer",
"minimum": 1,
"maximum": 40,
"default": 8
},
"border": {
"type": "integer",
"minimum": 0,
"maximum": 20,
"default": 4
},
"fill": {
"type": "string",
"default": "#000000"
},
"back": {
"type": "string",
"default": "#ffffff"
},
"return_base64": {
"type": "boolean",
"default": false
}
},
"required": [
"iban",
"name"
],
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"bytes": {
"type": "integer"
},
"format": {
"type": "string"
}
},
"additionalProperties": true,
"required": [
"url"
]
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}
qr_status
QR service health and limits.
Required arguments: (none)
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "qr_status",
"arguments": {}
}
}
Input schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
}
},
"additionalProperties": true,
"required": [
"ok"
]
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}