vyfakturuj-mcp
https://vyfakturuj.usefulapi.io
Registry code: dd9e105d2972099f
Tools for Vyfakturuj, hosted by usefulapi.io. Read-only tools never change data; ask the user before a tool that creates, changes or deletes Vyfakturuj data. Free plan: 100 tool calls per month. Run vyfakturuj_usage_status to see the calls used this month. If the user asks for something none of these tools can do, tell the user and, with their OK, run vyfakturuj_request_feature to record the request. Pro (unlimited calls, $9/month or $90/year): when the user wants more calls or reaches the limit, run vyfakturuj_upgrade; it returns a Stripe Checkout link for the user to open.…
- endpoint
- https://vyfakturuj.usefulapi.io/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is vyfakturuj-mcp live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
- Is vyfakturuj-mcp free to use?
- No — it asks for a key or a login before it will serve.
- What tools does vyfakturuj-mcp have?
- 10 tools: vyfakturuj_list_contacts, vyfakturuj_list_tags, vyfakturuj_list_invoices, vyfakturuj_list_number_series, vyfakturuj_get_invoice, vyfakturuj_create_invoice, vyfakturuj_get_contact, vyfakturuj_create_contact, ….
- Is vyfakturuj-mcp safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 10 tools
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
vyfakturuj_list_contacts auth-required 1h ago
Search the address book (adresar): id, name, company, ICO (IC), DIC, address, e-mail (mail_to), phone, default days_due. Filter by free text q, ICO, DIC, name, e-mail or phone. Paged with rows_limit/rows_offset. GET /contact/.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "q": { "type": "string", "maxLength": 255, "description": "Free-text search." }, "IC": { "type": "string", "maxLength": 20, "description": "Exact ICO (company id)." }, "DIC": { "type": "string", "maxLength": 20, "description": "Exact DIC (VAT id)." }, "tel": { "type": "string", "maxLength": 30, "description": "Phone number." }, "name": { "type": "string", "maxLength": 100, "description": "Address-book name." }, "sort": { "type": "string", "pattern": "^[A-Za-z_]{1,40}~(asc|desc)(\\|[A-Za-z_]{1,40}~(asc|desc))*$", "description": "Sort: column~asc or column~desc, several joined by | (for example date_created~desc|number~asc)." }, "mail_to": { "type": "string", "maxLength": 100, "description": "E-mail address of the contact." }, "rows_limit": { "type": "integer", "maximum": 100, "minimum": 1, "description": "Rows to return, 1-100 (default 25)." }, "rows_offset": { "type": "integer", "maximum": 9007199254740991, "minimum": 0, "description": "Rows to skip (default 0). Use next_offset from the previous reply." } } }arguments 53 linesvyfakturuj_list_tags auth-required never probed
The tags (stitky) of the account: id_tag, name and colour. Invoices carry an id_tag. GET /settings/tags/.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": {} }arguments 5 linesvyfakturuj_list_invoices auth-required 1h ago
Search documents (faktury, zalohove faktury, proformy, objednavky ...); pass sort=date_created~desc for the newest first. Each row has id, number, type, dates, customer, VS, currency, total, flags and flags_decoded (paid, sent_to_customer, cancelled, ...) and the public/PDF URLs; use vyfakturuj_get_invoice for the whole document with items. Filter by free text q, customer id, document type, number, variable symbol (VS), currency or creation date range. Paged with rows_limit/rows_offset. GET /invoice/.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "q": { "type": "string", "maxLength": 255, "description": "Free-text search over the invoices." }, "VS": { "type": "string", "pattern": "^[0-9]{1,10}$", "description": "Variable symbol (variabilni symbol)." }, "sort": { "type": "string", "pattern": "^[A-Za-z_]{1,40}~(asc|desc)(\\|[A-Za-z_]{1,40}~(asc|desc))*$", "description": "Sort: column~asc or column~desc, several joined by | (for example date_created~desc|number~asc)." }, "type": { "anyOf": [ { "type": "number", "const": 1 }, { "type": "number", "const": 2 }, { "type": "number", "const": 4 }, { "type": "number", "const": 8 }, { "type": "number", "const": 16 }, { "type": "number", "const": 32 }, { "type": "number", "const": 64 }, { "type": "number", "const": 128 }, { "type": "number", "const": 512 } ], "description": "Document type: 1 faktura, 2 zalohova faktura, 4 proforma, 8 vyzva k platbe, 16 danovy doklad, 32 opravny danovy doklad, 64 prijmovy doklad, 128 opravny doklad, 512 objednavka." }, "number": { "type": "string", "maxLength": 50, "description": "Exact document number." }, "currency": { "type": "string", "pattern": "^[A-Za-z]{3}$", "description": "Currency, ISO 4217, e.g. CZK, EUR." }, "rows_limit": { "type": "integer", "maximum": 100, "minimum": 1, "description": "Rows to return, 1-100 (default 25)." }, "id_customer": { "anyOf": [ { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, { "type": "string", "pattern": "^[1-9][0-9]{0,14}$" } ], "description": "Only invoices of this address-book contact (from vyfakturuj_list_contacts)." }, "rows_offset": { "type": "integer", "maximum": 9007199254740991, "minimum": 0, "description": "Rows to skip (default 0). Use next_offset from the previous reply." }, "date_created_to": { "type": "string", "description": "Created on or before this date (yyyy-mm-dd)." }, "date_created_from": { "type": "string", "description": "Created on or after this date (yyyy-mm-dd)." } } }arguments 106 linesvyfakturuj_list_number_series auth-required 1h ago
The numbering series (ciselne rady) of the account: id_number_series, the document type it is for, name and the number pattern. Use the id in vyfakturuj_create_invoice. GET /settings/number-series/.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": {} }arguments 5 linesvyfakturuj_get_invoice auth-required never probed
One document with all fields: supplier and customer blocks, items (text, quantity, unit_price, vat_rate, totals), dates, VS, bank details, total, flags and flags_decoded, payment method, public page, PDF and online-payment URLs. GET /invoice/{id}/.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "id" ], "properties": { "id": { "anyOf": [ { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, { "type": "string", "pattern": "^[1-9][0-9]{0,14}$" } ], "description": "The invoice id (from vyfakturuj_list_invoices)." } } }arguments 23 linesvyfakturuj_create_invoice auth-required never probed
WRITE. Creates a document in Vyfakturuj. Vyfakturuj has NO draft state: the document is issued at once and takes the next number of its number series (delete or cancel it in Vyfakturuj if wrong). Does NOT send an e-mail to the customer, does NOT mark it paid and moves no money; automatic reminders and paid notices are switched off for it (disable_automated_mails). Name the customer with id_customer (an address-book contact, from vyfakturuj_list_contacts) or with the customer_* fields. Items need text and unit_price. Optional id_number_series / id_payment_method come from vyfakturuj_list_number_series / vyfakturuj_list_payment_methods; the account defaults apply otherwise. Prices are net unless calculate_vat is 2 (gross). POST /invoice/.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "items" ], "properties": { "VS": { "type": "integer", "maximum": 9999999999, "minimum": 0, "description": "Variable symbol (default: derived from the number)." }, "type": { "anyOf": [ { "type": "number", "const": 1 }, { "type": "number", "const": 2 }, { "type": "number", "const": 4 }, { "type": "number", "const": 8 }, { "type": "number", "const": 512 } ], "description": "Document type: 1 faktura (default), 2 zalohova faktura, 4 proforma faktura, 8 vyzva k platbe, 512 objednavka." }, "items": { "type": "array", "items": { "type": "object", "required": [ "text", "unit_price" ], "properties": { "text": { "type": "string", "maxLength": 255, "minLength": 1, "description": "Item text (max 255 characters)." }, "unit": { "type": "string", "maxLength": 10, "description": "Unit, e.g. ks, kg, hod (max 10 characters)." }, "quantity": { "type": "number", "maximum": 1000000000, "minimum": -1000000000, "description": "Quantity (default 1)." }, "vat_rate": { "type": "number", "maximum": 100, "minimum": 0, "description": "VAT rate in percent, e.g. 21, 12 or 0." }, "unit_price": { "type": "number", "maximum": 1000000000, "minimum": -1000000000, "description": "Price per unit, in the invoice currency. Net or gross depending on calculate_vat." } } }, "maxItems": 200, "minItems": 1, "description": "Document items (1-200)." }, "currency": { "type": "string", "pattern": "^[A-Za-z]{3}$", "description": "Currency, ISO 4217 (default: the account's)." }, "days_due": { "type": "integer", "maximum": 3650, "minimum": 0, "description": "Days until due (splatnost)." }, "language": { "enum": [ "cs", "sk", "en", "de", "it", "pl" ], "type": "string", "description": "Language of the document." }, "customer_IC": { "type": "string", "maxLength": 20, "description": "Customer ICO (company id)." }, "id_customer": { "anyOf": [ { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, { "type": "string", "pattern": "^[1-9][0-9]{0,14}$" } ], "description": "Address-book contact id (from vyfakturuj_list_contacts); fills the customer block." }, "customer_DIC": { "type": "string", "maxLength": 20, "description": "Customer DIC (VAT id)." }, "customer_zip": { "type": "string", "maxLength": 10, "description": "Customer postal code (PSC)." }, "date_created": { "type": "string", "description": "Issue date yyyy-mm-dd (default today)." }, "order_number": { "type": "string", "maxLength": 255, "description": "Order id / reference." }, "calculate_vat": { "anyOf": [ { "type": "number", "const": 1 }, { "type": "number", "const": 2 }, { "type": "number", "const": 3 }, { "type": "number", "const": 4 }, { "type": "number", "const": 5 }, { "type": "number", "const": 6 } ], "description": "1 items are net (VAT added), 2 items are gross, 3 special VAT regime, 4 domestic reverse charge, 5 not a VAT payer, 6 foreign reverse charge." }, "customer_city": { "type": "string", "maxLength": 50, "description": "Customer city." }, "customer_name": { "type": "string", "maxLength": 100, "description": "Customer company name (when no id_customer)." }, "note_internal": { "type": "string", "maxLength": 2000, "description": "Internal note (not on the document)." }, "customer_street": { "type": "string", "maxLength": 50, "description": "Customer street." }, "id_number_series": { "anyOf": [ { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, { "type": "string", "pattern": "^[1-9][0-9]{0,14}$" } ], "description": "Number series id (from vyfakturuj_list_number_series); must match the document type." }, "customer_lastname": { "type": "string", "maxLength": 100, "description": "Customer last name." }, "id_payment_method": { "anyOf": [ { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, { "type": "string", "pattern": "^[1-9][0-9]{0,14}$" } ], "description": "Payment method id (from vyfakturuj_list_payment_methods)." }, "text_before_items": { "type": "string", "maxLength": 255, "description": "Text before the items." }, "customer_firstname": { "type": "string", "maxLength": 100, "description": "Customer first name." }, "date_taxable_supply": { "type": "string", "description": "Date of taxable supply (DUZP) yyyy-mm-dd." }, "text_invoice_footer": { "type": "string", "maxLength": 255, "description": "Text in the footer." }, "customer_country_code": { "type": "string", "pattern": "^[A-Za-z]{2}$", "description": "ISO 3166 country code, e.g. CZ, SK, DE." } } }arguments 251 linesvyfakturuj_get_contact auth-required never probed
One address-book contact with every field (billing and delivery address, ICO/DIC, e-mails, default texts and days_due). GET /contact/{id}/.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "id" ], "properties": { "id": { "anyOf": [ { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, { "type": "string", "pattern": "^[1-9][0-9]{0,14}$" } ], "description": "The contact id (from vyfakturuj_list_contacts)." } } }arguments 23 linesvyfakturuj_create_contact auth-required never probed
WRITE. Adds a contact to the address book (it is not a customer message: nothing is sent). Give at least a name (the address-book label) or company or last name. Returns the new contact with its id. POST /contact/.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "IC": { "type": "string", "maxLength": 20, "description": "ICO (company id)." }, "DIC": { "type": "string", "maxLength": 20, "description": "DIC (VAT id)." }, "tel": { "type": "string", "maxLength": 30, "description": "Phone." }, "web": { "type": "string", "maxLength": 100, "description": "Web." }, "zip": { "type": "string", "maxLength": 10, "description": "Postal code (PSC)." }, "city": { "type": "string", "maxLength": 50, "description": "City." }, "name": { "type": "string", "maxLength": 100, "description": "Address-book name (how it is listed)." }, "note": { "type": "string", "maxLength": 100, "description": "Your note about the contact." }, "street": { "type": "string", "maxLength": 50, "description": "Street." }, "company": { "type": "string", "maxLength": 100, "description": "Company name." }, "mail_to": { "type": "string", "pattern": "^[^\\s@,;]+@[^\\s@,;]+$", "maxLength": 100, "description": "E-mail where invoices and reminders go." }, "days_due": { "type": "integer", "maximum": 3650, "minimum": 0, "description": "Default days until due for this contact." }, "lastname": { "type": "string", "maxLength": 100, "description": "Last name." }, "firstname": { "type": "string", "maxLength": 100, "description": "First name." }, "country_code": { "type": "string", "pattern": "^[A-Za-z]{2}$", "description": "ISO 3166 country code, e.g. CZ, SK, DE." } } }arguments 83 linesvyfakturuj_get_template auth-required never probed
One template / recurring invoice (sablona, pravidelna faktura) by id: its items, customer, schedule and settings. The API has no list endpoint for templates, so the id comes from the user (the number in the template's URL in Vyfakturuj). GET /template/{id}/.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "id" ], "properties": { "id": { "anyOf": [ { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, { "type": "string", "pattern": "^[1-9][0-9]{0,14}$" } ], "description": "The template id." } } }arguments 23 linesvyfakturuj_list_payment_methods auth-required never probed
The payment methods of the account (id_payment_method, name, type: 1 bank transfer, 2 cash, 4 cash on delivery, 8 card, ...). Use the id in vyfakturuj_create_invoice. GET /settings/payment-method/.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": {} }arguments 5 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's iddd9e105d2972099f.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/dd9e105d2972099f/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/dd9e105d2972099f?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.
Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.
- fleetio.usefulapi.io fleetio-mcp
- runcloud.usefulapi.io runcloud-mcp
- billomat.usefulapi.io billomat-mcp
- teamgate.usefulapi.io teamgate-mcp
- synchroteam.usefulapi.io synchroteam-mcp
- sendlane.usefulapi.io sendlane-mcp
- klippa-dochorizon.usefulapi.io klippa-dochorizon-mcp
- pipeline-crm.usefulapi.io pipeline-crm-mcp
123 more sit on this domain. All of them.