Skip to content

Vyfakturuj MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.3.3 · published by io.usefulapi

Read and create Vyfakturuj invoices and contacts: search, number series, payment methods, tags.

Deletes · 2

10 tools: 2 can delete or cancel things and 8 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http vyfakturuj https://vyfakturuj.usefulapi.io/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

10 tools

Deletes or cancels 2Claude Code: deny
  • vyfakturuj_create_contactWRITE.No findings

    Why it is in this group

    • The name "vyfakturuj_create_contact" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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/.

    Annotations the server declares

    • title: Create a contact
    • destructiveHint: true
  • vyfakturuj_create_invoiceWRITE.No findings

    Why it is in this group

    • The name "vyfakturuj_create_invoice" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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/.

    Annotations the server declares

    • title: Create an invoice (issues a real numbered document)
    • destructiveHint: true
Only reads 8Claude Code: allow
  • vyfakturuj_get_contactOne address-book contact with every field (billing and delivery address, ICO/DIC, e-mails, default texts and days_due).No findings

    Why it is in this group

    • The name "vyfakturuj_get_contact" says "get": a word for reading.
    Description, as the server wrote it
    One address-book contact with every field (billing and delivery address, ICO/DIC, e-mails, default texts and days_due). GET /contact/{id}/.

    Annotations the server declares

    • title: Get a contact
    • readOnlyHint: true
  • vyfakturuj_get_invoiceOne 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 m…No findings

    Why it is in this group

    • The name "vyfakturuj_get_invoice" says "get": a word for reading.
    Description, as the server wrote it
    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}/.

    Annotations the server declares

    • title: Get an invoice
    • readOnlyHint: true
  • vyfakturuj_get_templateOne template / recurring invoice (sablona, pravidelna faktura) by id: its items, customer, schedule and settings.No findings

    Why it is in this group

    • The name "vyfakturuj_get_template" says "get": a word for reading.
    Description, as the server wrote it
    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}/.

    Annotations the server declares

    • title: Get a recurring-invoice template
    • readOnlyHint: true
  • vyfakturuj_list_contactsSearch the address book (adresar): id, name, company, ICO (IC), DIC, address, e-mail (mail_to), phone, default days_due.No findings

    Why it is in this group

    • The name "vyfakturuj_list_contacts" says "list": a word for reading.
    Description, as the server wrote it
    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/.

    Annotations the server declares

    • title: List contacts
    • readOnlyHint: true
  • vyfakturuj_list_invoicesSearch documents (faktury, zalohove faktury, proformy, objednavky ...); pass sort=date_created~desc for the newest first.No findings

    Why it is in this group

    • The name "vyfakturuj_list_invoices" says "list": a word for reading.
    Description, as the server wrote it
    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/.

    Annotations the server declares

    • title: List invoices
    • readOnlyHint: true
  • vyfakturuj_list_number_seriesThe numbering series (ciselne rady) of the account: id_number_series, the document type it is for, name and the number pattern.No findings

    Why it is in this group

    • The name "vyfakturuj_list_number_series" says "list": a word for reading.
    Description, as the server wrote it
    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/.

    Annotations the server declares

    • title: List number series
    • readOnlyHint: true
  • vyfakturuj_list_payment_methodsThe payment methods of the account (id_payment_method, name, type: 1 bank transfer, 2 cash, 4 cash on delivery, 8 card, ...).No findings

    Why it is in this group

    • The name "vyfakturuj_list_payment_methods" says "list": a word for reading.
    Description, as the server wrote it
    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/.

    Annotations the server declares

    • title: List payment methods
    • readOnlyHint: true
  • vyfakturuj_list_tagsThe tags (stitky) of the account: id_tag, name and colour.No findings

    Why it is in this group

    • The name "vyfakturuj_list_tags" says "list": a word for reading.
    Description, as the server wrote it
    The tags (stitky) of the account: id_tag, name and colour. Invoices carry an id_tag. GET /settings/tags/.

    Annotations the server declares

    • title: List tags
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.3.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http vyfakturuj https://vyfakturuj.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__vyfakturuj__vyfakturuj_list_invoices",
      "mcp__vyfakturuj__vyfakturuj_get_invoice",
      "mcp__vyfakturuj__vyfakturuj_list_contacts",
      "mcp__vyfakturuj__vyfakturuj_get_contact",
      "mcp__vyfakturuj__vyfakturuj_get_template",
      "mcp__vyfakturuj__vyfakturuj_list_payment_methods",
      "mcp__vyfakturuj__vyfakturuj_list_number_series",
      "mcp__vyfakturuj__vyfakturuj_list_tags"
    ],
    "ask": [],
    "deny": [
      "mcp__vyfakturuj__vyfakturuj_create_invoice",
      "mcp__vyfakturuj__vyfakturuj_create_contact"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as vyfakturuj. Review it before you use it.