Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,544Letters: 14Defects: 1,324counted just now
teppi

Server definition

Hash
sha256:dfb835e7aab551e03926dc4560c9f75e7bcafe0c1b19b11d0a98992a2546cf95
What it is
What a remote MCP server returned when asked what it offers: 6 tools

The blob, as servednamed by its sha256

{ "instructions": "European Payment QR generator and QR utility tools. Deterministically create SPAYD (CZ/SK) or EPC/GiroCode (SEPA) payment QR codes, plain-text QR codes, Wi-Fi QR codes, vCards, and decode QR images. Free MIT-licensed tool with no AI and no paid API.\n\nPAYMENT-FROM-IMAGE / INVOICE WORKFLOW: When the user shares a PDF, photo or screenshot of payment details — most commonly an INVOICE (Czech \"faktura\") that has no QR code, but also a broker deposit instruction (Revolut, Trading 212, XTB), a bank transfer slip or a paper bill — read the IBAN, amount, currency, recipient name and reference / variable symbol from the document yourself, then call qr_payment with those values. This is the primary use case: it turns an invoice or payment instruction that lacks a QR code into a scannable payment QR, removing the error-prone manual re-typing into a banking app.\nMANDATORY before showing the QR: echo the extracted fields back to the user as a short confirmation list (IBAN, amount, currency, recipient, reference) and ask them to verify against the source, because a misread digit sends real money to the wrong place. After the user confirms, present the QR. You may also call qr_read on the generated QR to show exactly what it encodes as a second check. Never silently generate a payment QR from an image without this read-back confirmation step.\nDISPLAYING THE QR: the result has \"self_verified\" (the server re-decoded its own PNG and confirmed it matches \"payload\" — trust it; do NOT call qr_read on your own output). On the hosted server the result also has \"qr_url\": a short, TEMPORARY (~15 min) hosted PNG. TO SHOW THE QR, present qr_url — render it inline as an image, e.g. ![payment QR](qr_url), or give it as a link. A URL cannot be corrupted and clients render it natively. Do NOT transcribe base64, do NOT regenerate the QR, do NOT build your own PNG. (If there is no qr_url — e.g. self-hosted via npx — decode qr_png_base64 programmatically, never by hand; if you cannot, send the user to https://qr.cz-agents.dev.)\nqr_read is ONLY for QR codes you did NOT generate here (an existing invoice QR the user provides), where the server cannot know the expected payload. SAFE-FAIL there: if qr_read errors or you cannot trust the decode, do not present it as a verified payment and do not rationalize — point the user to https://qr.cz-agents.dev. One wrong character sends money to the wrong account.", "tools": [ { "description": "Create a European payment QR code. Auto-selects SPAYD for CZ/SK IBANs and EPC/GiroCode for other SEPA IBANs.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "amount": { "description": "Optional payment amount.", "type": "number" }, "bic": { "description": "Optional BIC for EPC/GiroCode line 5. Ignored with a warning for SPAYD.", "type": "string" }, "constant_symbol": { "description": "Optional Czech constant symbol for SPAYD.", "type": "string" }, "currency": { "description": "Optional ISO 4217 currency code. Defaults to CZK for SPAYD and EUR for EPC.", "pattern": "^[A-Za-z]{3}$", "type": "string" }, "iban": { "description": "Recipient IBAN. Validated with the IBAN mod-97 checksum.", "type": "string" }, "message": { "description": "Optional payment message or EPC remittance text.", "type": "string" }, "recipient_name": { "description": "Recipient name. Required for EPC/GiroCode.", "type": "string" }, "standard": { "default": "auto", "description": "Payment QR standard. Defaults to auto detection.", "enum": [ "spayd", "epc", "auto" ], "type": "string" }, "variable_symbol": { "description": "Optional reference: goes to remittance (line 11) for EPC, to X-VS for SPAYD.", "type": "string" } }, "required": [ "iban" ], "type": "object" }, "name": "qr_payment", "outputSchema": null }, { "description": "PAID. Create payment QR codes for a whole batch of payments in one call — e.g. an invoice run. The free qr_payment tool handles one payment per call; this one returns the whole set. Requires payment via x402; call without payment first to receive the terms.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "payments": { "description": "Up to 50 payments. Each QR is generated and verified independently.", "items": { "additionalProperties": false, "properties": { "amount": { "type": "number" }, "currency": { "pattern": "^[A-Za-z]{3}$", "type": "string" }, "iban": { "type": "string" }, "message": { "type": "string" }, "recipient_name": { "type": "string" }, "ref": { "description": "Your own identifier — returned back so you can match results.", "type": "string" }, "variable_symbol": { "type": "string" } }, "required": [ "ref", "iban" ], "type": "object" }, "maxItems": 50, "type": "array" } }, "required": [ "payments" ], "type": "object" }, "name": "qr_payment_batch", "outputSchema": null }, { "description": "Decode a QR code from a base64 PNG/JPEG image or image data URI and classify its content.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "image_data": { "description": "Base64 image bytes or a PNG/JPEG data URI.", "type": "string" } }, "required": [ "image_data" ], "type": "object" }, "name": "qr_read", "outputSchema": null }, { "description": "Create a QR code containing plain text.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "text": { "description": "Text to encode in the QR code.", "type": "string" } }, "required": [ "text" ], "type": "object" }, "name": "qr_text", "outputSchema": null }, { "description": "Create a QR code containing a vCard 3.0 contact.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "email": { "description": "Optional email address.", "type": "string" }, "name": { "description": "Contact display name.", "type": "string" }, "org": { "description": "Optional organization.", "type": "string" }, "phone": { "description": "Optional phone number.", "type": "string" } }, "required": [ "name" ], "type": "object" }, "name": "qr_vcard", "outputSchema": null }, { "description": "Create a Wi-Fi network QR code.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "hidden": { "default": false, "description": "Whether the network SSID is hidden.", "type": "boolean" }, "password": { "description": "Optional Wi-Fi password.", "type": "string" }, "security": { "default": "WPA", "description": "Wi-Fi security type.", "enum": [ "WPA", "WEP", "nopass" ], "type": "string" }, "ssid": { "description": "Wi-Fi network name.", "type": "string" } }, "required": [ "ssid" ], "type": "object" }, "name": "qr_wifi", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:dfb835e7aab551e03926dc4560c9f75e7bcafe0c1b19b11d0a98992a2546cf95 | sha256sum