@czagents/payqr
v0.1.11
Published
European payment QR codes — generate and read SPAYD (CZ/SK) and EPC/GiroCode (Eurozone) payment QR, plus standard QR (text, WiFi, vCard). Scan with any banking app to pre-fill a transfer. Runs locally, no data leaves your device. Free.
Maintainers
Readme
@czagents/payqr
European payment QR codes — generate and read SPAYD (CZ/SK) and EPC/GiroCode (Eurozone) payment QR, plus standard QR (text, WiFi, vCard). Scan with any banking app to pre-fill a transfer. Runs locally, no data leaves your device. Free.
Deterministically create SPAYD (Czech/Slovak) and EPC / GiroCode (SEPA) payment QR codes, plus plain-text, Wi-Fi and vCard QR codes — and decode QR codes back from an image.
Free, MIT-licensed, no AI and no paid API. Everything is computed locally; nothing is sent anywhere.
💡 Prefer a browser? The same engine runs as a free web app at https://qr.cz-agents.dev — type the details or drop a payment screenshot / QR code, all client-side.
Why
Copying an IBAN, amount and variable symbol from a broker deposit instruction (Revolut, Trading 212, XTB, an invoice…) into a banking app by hand is slow and error-prone — one wrong digit sends money to the wrong account. This server turns those details into a scannable payment QR your bank app reads directly, and can also read an existing payment QR back into structured fields.
Install
Add it to your MCP client (e.g. Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"payqr": {
"command": "npx",
"args": ["-y", "@czagents/payqr"]
}
}
}Or run directly:
npx -y @czagents/payqr # stdio transportTools
| Tool | Description |
|------|-------------|
| qr_payment | European payment QR. Auto-selects SPAYD for CZ/SK IBANs and EPC/GiroCode for other SEPA IBANs. IBAN validated with the mod-97 checksum. |
| qr_text | QR code containing plain text. |
| qr_wifi | Wi-Fi network QR code (WPA/WEP/open, hidden SSID supported). |
| qr_vcard | vCard 3.0 contact QR code. |
| qr_read | Decode a QR code from a base64 PNG/JPEG image and classify its content. |
Each generating tool returns both a rendered QR image and a text block with the encoded payload, the chosen standard and any warnings — so clients display the QR natively and you can verify exactly what it encodes.
Payment-from-image workflow
When you paste a screenshot or photo of payment details, the assistant reads the IBAN, amount,
currency, recipient and reference from the image and calls qr_payment. Before showing the QR it
echoes the extracted fields back for you to verify against the source — a misread digit sends real
money to the wrong place — and only then presents the code.
Standards
- SPAYD (
SPD*1.0*…) — the Czech/Slovak "QR Platba" string format read by Czech and Slovak bank apps. - EPC / GiroCode (
BCD…) — the SEPA Credit Transfer QR standard (EPC069-12), EUR-only, widely used in Germany, Austria and across the euro area. Requires a recipient name.
Privacy
No telemetry, no network calls for QR generation, no AI. Pure local computation.
License
MIT © cz-agents
