Billomat MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.3.3 · published by io.usefulapi
Read Billomat clients, invoices, offers, credit notes, reminders; create clients and draft invoices.
34 tools: 6 can delete or cancel things, 1 do something that can't be undone and 27 only read.
Scanned Oct 21, 2026
- Deletes or cancels6Claude Code: deny: see these tools
- Can't be undone1Claude Code: ask: see these tools
- Changes things0Claude Code: ask
- Only reads27Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http billomat https://billomat.usefulapi.io/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "billomat_invoice_totals" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The input addresses people (input.to): what it sends cannot be taken back.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
34 tools
Deletes or cancels 6Claude Code: deny
billomat_add_invoice_itemWRITE: add one line item to an invoice that is still a DRAFT (Billomat refuses it for any other status).No findings
Why it is in this group
- The name "billomat_add_invoice_item" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: add one line item to an invoice that is still a DRAFT (Billomat refuses it for any other status). Does not complete or send the invoice.
Annotations the server declares
- title: Add an item to a draft invoice
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
billomat_create_articleWRITE: create a new article (product or service) with a price.No findings
Why it is in this group
- The name "billomat_create_article" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: create a new article (product or service) with a price. Billomat assigns the article number.
Annotations the server declares
- title: Create an article
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
billomat_create_clientWRITE: create a new client (customer) in Billomat.No findings
Why it is in this group
- The name "billomat_create_client" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: create a new client (customer) in Billomat. Billomat assigns the client number. Nothing is sent to the client. Check billomat_list_clients first to avoid duplicates.
Annotations the server declares
- title: Create a client
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
billomat_create_draft_invoiceWRITE: create an invoice as a DRAFT (Entwurf) for a client, with optional line items.No findings
Why it is in this group
- The name "billomat_create_draft_invoice" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: create an invoice as a DRAFT (Entwurf) for a client, with optional line items. The invoice is NOT completed, has no number yet and is NOT sent; review and complete it in Billomat. Nothing is charged.
Annotations the server declares
- title: Create a draft invoice
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
billomat_create_draft_offerWRITE: create an offer (Angebot) as a DRAFT for a client, with optional line items.No findings
Why it is in this group
- The name "billomat_create_draft_offer" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: create an offer (Angebot) as a DRAFT for a client, with optional line items. The offer is NOT completed, has no number yet and is NOT sent; review and complete it in Billomat.
Annotations the server declares
- title: Create a draft offer
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
billomat_update_clientWRITE: change fields of an existing client (only the fields you pass are changed; everything else stays).No findings
Why it is in this group
- The name "billomat_update_client" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: change fields of an existing client (only the fields you pass are changed; everything else stays). Read the client first with billomat_get_client. Nothing is sent to the client.
Annotations the server declares
- title: Update a client
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
Can't be undone 1Claude Code: ask
billomat_invoice_totalsInvoice totals grouped by client, status, day, week, month or year (for example group_by=client,year).1 finding
Why it is in this group
- The input addresses people (input.to): what it sends cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "billomat_invoice_totals" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The input addresses people (input.to): what it sends cannot be taken back.
Description, as the server wrote it Invoice totals grouped by client, status, day, week, month or year (for example group_by=client,year). Takes the same filters as billomat_list_invoices. Read-only.
Annotations the server declares
- title: Invoice totals by group
- readOnlyHint: true
Only reads 27Claude Code: allow
billomat_get_articleGet one article with its prices, unit, tax and supplier.No findings
Why it is in this group
- The name "billomat_get_article" says "get": a word for reading.
Description, as the server wrote it Get one article with its prices, unit, tax and supplier.
Annotations the server declares
- title: Get an article
- readOnlyHint: true
billomat_get_clientGet one client with address, contact person, bank details, payment terms and revenue.No findings
Why it is in this group
- The name "billomat_get_client" says "get": a word for reading.
Description, as the server wrote it Get one client with address, contact person, bank details, payment terms and revenue.
Annotations the server declares
- title: Get a client
- readOnlyHint: true
billomat_get_companyShow the own company data of the Billomat account (name, address, bank details, tax numbers, currency).No findings
Why it is in this group
- The name "billomat_get_company" says "get": a word for reading.
Description, as the server wrote it Show the own company data of the Billomat account (name, address, bank details, tax numbers, currency).
Annotations the server declares
- title: Get the own company data
- readOnlyHint: true
billomat_get_confirmationGet one order confirmation.No findings
Why it is in this group
- The name "billomat_get_confirmation" says "get": a word for reading.
Description, as the server wrote it Get one order confirmation.
Annotations the server declares
- title: Get an order confirmation
- readOnlyHint: true
billomat_get_credit_noteGet one credit note.No findings
Why it is in this group
- The name "billomat_get_credit_note" says "get": a word for reading.
Description, as the server wrote it Get one credit note.
Annotations the server declares
- title: Get a credit note
- readOnlyHint: true
billomat_get_current_userShow the Billomat user the API key belongs to (name, email, role and rights).No findings
Why it is in this group
- The name "billomat_get_current_user" says "get": a word for reading.
Description, as the server wrote it Show the Billomat user the API key belongs to (name, email, role and rights). Use it to check which rights the key has.
Annotations the server declares
- title: Get the current user
- readOnlyHint: true
billomat_get_delivery_noteGet one delivery note.No findings
Why it is in this group
- The name "billomat_get_delivery_note" says "get": a word for reading.
Description, as the server wrote it Get one delivery note.
Annotations the server declares
- title: Get a delivery note
- readOnlyHint: true
billomat_get_incoming_invoiceGet one incoming invoice with amounts and open amount.No findings
Why it is in this group
- The name "billomat_get_incoming_invoice" says "get": a word for reading.
Description, as the server wrote it Get one incoming invoice with amounts and open amount.
Annotations the server declares
- title: Get an incoming invoice
- readOnlyHint: true
billomat_get_invoiceGet one invoice (status, totals, dates, client, payment terms).No findings
Why it is in this group
- The name "billomat_get_invoice" says "get": a word for reading.
Description, as the server wrote it Get one invoice (status, totals, dates, client, payment terms). Its line items come from billomat_list_invoice_items.
Annotations the server declares
- title: Get an invoice
- readOnlyHint: true
billomat_get_offerGet one offer (status, totals, validity, client).No findings
Why it is in this group
- The name "billomat_get_offer" says "get": a word for reading.
Description, as the server wrote it Get one offer (status, totals, validity, client).
Annotations the server declares
- title: Get an offer
- readOnlyHint: true
billomat_get_reminderGet one payment reminder.No findings
Why it is in this group
- The name "billomat_get_reminder" says "get": a word for reading.
Description, as the server wrote it Get one payment reminder.
Annotations the server declares
- title: Get a reminder
- readOnlyHint: true
billomat_get_supplierGet one supplier with address and bank details.No findings
Why it is in this group
- The name "billomat_get_supplier" says "get": a word for reading.
Description, as the server wrote it Get one supplier with address and bank details.
Annotations the server declares
- title: Get a supplier
- readOnlyHint: true
billomat_list_articlesList the articles (products and services) with prices, units and tax.No findings
Why it is in this group
- The name "billomat_list_articles" says "list": a word for reading.
Description, as the server wrote it List the articles (products and services) with prices, units and tax. Paged.
Annotations the server declares
- title: List articles
- readOnlyHint: true
billomat_list_clientsList the clients (customers) of the account, filtered by name, number, email, contact person, country, note or tags.No findings
Why it is in this group
- The name "billomat_list_clients" says "list": a word for reading.
Description, as the server wrote it List the clients (customers) of the account, filtered by name, number, email, contact person, country, note or tags. Paged.
Annotations the server declares
- title: List or search clients
- readOnlyHint: true
billomat_list_confirmationsList order confirmations (Auftragsbestaetigungen), filtered by client, status (DRAFT, COMPLETED, CANCELED, CLEARED), number, date range or text.No findings
Why it is in this group
- The name "billomat_list_confirmations" says "list": a word for reading.
Description, as the server wrote it List order confirmations (Auftragsbestaetigungen), filtered by client, status (DRAFT, COMPLETED, CANCELED, CLEARED), number, date range or text. Paged.
Annotations the server declares
- title: List order confirmations
- readOnlyHint: true
billomat_list_credit_notesList credit notes (Gutschriften), filtered by client, status (DRAFT, OPEN, PAID), date range or text.No findings
Why it is in this group
- The name "billomat_list_credit_notes" says "list": a word for reading.
Description, as the server wrote it List credit notes (Gutschriften), filtered by client, status (DRAFT, OPEN, PAID), date range or text. Paged.
Annotations the server declares
- title: List credit notes
- readOnlyHint: true
billomat_list_delivery_notesList delivery notes (Lieferscheine), filtered by client, status (DRAFT, CREATED), number, date range or text.No findings
Why it is in this group
- The name "billomat_list_delivery_notes" says "list": a word for reading.
Description, as the server wrote it List delivery notes (Lieferscheine), filtered by client, status (DRAFT, CREATED), number, date range or text. Paged.
Annotations the server declares
- title: List delivery notes
- readOnlyHint: true
billomat_list_incoming_invoicesList incoming invoices (Eingangsrechnungen, from suppliers), filtered by supplier, status (OPEN, PAID, OVERDUE), number, date range, note or tags.No findings
Why it is in this group
- The name "billomat_list_incoming_invoices" says "list": a word for reading.
Description, as the server wrote it List incoming invoices (Eingangsrechnungen, from suppliers), filtered by supplier, status (OPEN, PAID, OVERDUE), number, date range, note or tags. Paged.
Annotations the server declares
- title: List incoming invoices
- readOnlyHint: true
billomat_list_invoice_itemsList the line items (positions) of one invoice.No findings
Why it is in this group
- The name "billomat_list_invoice_items" says "list": a word for reading.
Description, as the server wrote it List the line items (positions) of one invoice.
Annotations the server declares
- title: List the items of an invoice
- readOnlyHint: true
billomat_list_invoice_paymentsList the payments that were recorded on invoices (read-only), optionally for one invoice, a date range or payment types.No findings
Why it is in this group
- The name "billomat_list_invoice_payments" says "list": a word for reading.
Description, as the server wrote it List the payments that were recorded on invoices (read-only), optionally for one invoice, a date range or payment types.
Annotations the server declares
- title: List invoice payments
- readOnlyHint: true
billomat_list_invoicesList invoices (Rechnungen), filtered by client, status (DRAFT, OPEN, PAID, OVERDUE, CANCELED), number, date range, text or tags.No findings
Why it is in this group
- The name "billomat_list_invoices" says "list": a word for reading.
Description, as the server wrote it List invoices (Rechnungen), filtered by client, status (DRAFT, OPEN, PAID, OVERDUE, CANCELED), number, date range, text or tags. Paged; each invoice carries totals and the open amount.
Annotations the server declares
- title: List invoices
- readOnlyHint: true
billomat_list_offersList offers (Angebote), filtered by client, status (DRAFT, OPEN, WON, LOST, CANCELED, CLEARED), number, date range or text.No findings
Why it is in this group
- The name "billomat_list_offers" says "list": a word for reading.
Description, as the server wrote it List offers (Angebote), filtered by client, status (DRAFT, OPEN, WON, LOST, CANCELED, CLEARED), number, date range or text. Paged.
Annotations the server declares
- title: List offers
- readOnlyHint: true
billomat_list_recurring_invoicesList recurring invoices (Abo-Rechnungen): name, cycle (DAILY, WEEKLY, MONTHLY, YEARLY), client and next run.No findings
Why it is in this group
- The name "billomat_list_recurring_invoices" says "list": a word for reading.
Description, as the server wrote it List recurring invoices (Abo-Rechnungen): name, cycle (DAILY, WEEKLY, MONTHLY, YEARLY), client and next run. Paged.
Annotations the server declares
- title: List recurring invoices
- readOnlyHint: true
billomat_list_remindersList payment reminders (Mahnungen), filtered by client, status (DRAFT, OPEN, OVERDUE, PAID, CANCELED), invoice number, date range or text.No findings
Why it is in this group
- The name "billomat_list_reminders" says "list": a word for reading.
Description, as the server wrote it List payment reminders (Mahnungen), filtered by client, status (DRAFT, OPEN, OVERDUE, PAID, CANCELED), invoice number, date range or text. Paged.
Annotations the server declares
- title: List reminders
- readOnlyHint: true
billomat_list_suppliersList the suppliers of the account, filtered by name, email, contact person, country, note or tags.No findings
Why it is in this group
- The name "billomat_list_suppliers" says "list": a word for reading.
Description, as the server wrote it List the suppliers of the account, filtered by name, email, contact person, country, note or tags. Paged.
Annotations the server declares
- title: List suppliers
- readOnlyHint: true
billomat_list_taxesList the tax rates (Steuersaetze) of the account, with the default one.No findings
Why it is in this group
- The name "billomat_list_taxes" says "list": a word for reading.
Description, as the server wrote it List the tax rates (Steuersaetze) of the account, with the default one.
Annotations the server declares
- title: List tax rates
- readOnlyHint: true
billomat_list_unitsList the units (Einheiten) used for article and item quantities, optionally filtered by name.No findings
Why it is in this group
- The name "billomat_list_units" says "list": a word for reading.
Description, as the server wrote it List the units (Einheiten) used for article and item quantities, optionally filtered by name.
Annotations the server declares
- title: List units
- 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 billomat https://billomat.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__billomat__billomat_get_current_user",
"mcp__billomat__billomat_get_company",
"mcp__billomat__billomat_list_clients",
"mcp__billomat__billomat_get_client",
"mcp__billomat__billomat_list_articles",
"mcp__billomat__billomat_get_article",
"mcp__billomat__billomat_list_suppliers",
"mcp__billomat__billomat_get_supplier",
"mcp__billomat__billomat_list_invoices",
"mcp__billomat__billomat_get_invoice",
"mcp__billomat__billomat_list_invoice_items",
"mcp__billomat__billomat_list_invoice_payments",
"mcp__billomat__billomat_list_recurring_invoices",
"mcp__billomat__billomat_list_offers",
"mcp__billomat__billomat_get_offer",
"mcp__billomat__billomat_list_confirmations",
"mcp__billomat__billomat_get_confirmation",
"mcp__billomat__billomat_list_delivery_notes",
"mcp__billomat__billomat_get_delivery_note",
"mcp__billomat__billomat_list_credit_notes",
"mcp__billomat__billomat_get_credit_note",
"mcp__billomat__billomat_list_reminders",
"mcp__billomat__billomat_get_reminder",
"mcp__billomat__billomat_list_incoming_invoices",
"mcp__billomat__billomat_get_incoming_invoice",
"mcp__billomat__billomat_list_taxes",
"mcp__billomat__billomat_list_units"
],
"ask": [
"mcp__billomat__billomat_invoice_totals"
],
"deny": [
"mcp__billomat__billomat_create_client",
"mcp__billomat__billomat_update_client",
"mcp__billomat__billomat_create_article",
"mcp__billomat__billomat_create_draft_invoice",
"mcp__billomat__billomat_add_invoice_item",
"mcp__billomat__billomat_create_draft_offer"
]
}
}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 billomat. Review it before you use it.