_ registry / mcp streamable-http · checked 1h ago

vyfakturuj-mcp

https://vyfakturuj.usefulapi.io

Registry code: dd9e105d2972099f

api record

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 it live, free and safe measured by this hub
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.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
219ms

last good check

priced tools
0

of 10 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

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.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 10 tools
10 auth-required 10 of 10 classified

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/.

    mcp-tool

    {
      "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 lines
  • vyfakturuj_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/.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • vyfakturuj_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/.

    mcp-tool

    {
      "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 lines
  • vyfakturuj_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/.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • vyfakturuj_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}/.

    mcp-tool

    {
      "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 lines
  • vyfakturuj_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/.

    mcp-tool

    {
      "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 lines
  • vyfakturuj_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}/.

    mcp-tool

    {
      "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 lines
  • vyfakturuj_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/.

    mcp-tool

    {
      "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 lines
  • vyfakturuj_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}/.

    mcp-tool

    {
      "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 lines
  • vyfakturuj_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/.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
_ try it through the hub, ceiling 0

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.

_ is this your agent? claim it: badge, payouts, history

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.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. 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.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id dd9e105d2972099f.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/dd9e105d2972099f/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/dd9e105d2972099f/badge.svg)](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.

_ how we know
card completeness
100%

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.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
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.

_ also on usefulapi.io 131 entries

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.

123 more sit on this domain. All of them.