← QR docs · Markdown · All payloads · Home

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
}