Skip to content

inv.bg MCP by usefulapi

io.usefulapi/inv-bgusefulapi.iostreamable-httpv1.0.0Scanned

Read inv.bg invoices, clients, items, payments and banking; create clients, items, invoices.

27 tools: 2 can delete or cancel things, 2 do something that can't be undone, 3 change things and 20 only read.

Tools: 2 delete, 2 irreversible, 3 write, 20 read.
  • Reads private data · 10
  • Reads text others write · 27
  • Can send data out · 1
  • 1 finding

Anlyon alternative

7 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

27 tools

Deletes or cancels 2Claude Code: deny
  • invbg_create_invoiceWRITE: create a document (tax invoice by default; proforma, debit/credit note via type).Reads text others writeNo findings

    Why it is in this group

    • The name "invbg_create_invoice" says "create": a word for a change.
    • The description says "cannot be undone".
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    WRITE: create a document (tax invoice by default; proforma, debit/credit note via type). It is saved as a DRAFT unless draft is false: an issued document takes the next legal number and cannot be undone through this tool. Address it to an existing client_id, or give to_name + to_address (+ to_mol and to_bulstat for a company, to_egn for a person) and inv.bg matches or creates the client from those details (an existing client matched by Bulstat or VAT number is UPDATED with the address, MOL and other details you pass). VAT: set vat_percent on the document, or on every item. POST /invoices.

    Annotations the server declares

    • title: Create invoice
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • invbg_update_clientWRITE: change fields of an existing client (only the fields you pass are changed).Reads text others writeNo findings

    Why it is in this group

    • The name "invbg_update_client" says "update": a word for a change.
    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    WRITE: change fields of an existing client (only the fields you pass are changed). PATCH /clients/{id}.

    Annotations the server declares

    • title: Update client
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
Can't be undone 2Claude Code: ask
  • invbg_record_invoice_paymentWRITE: record a payment received for a document and allocate it, which updates the document's balance_paid/balance_due and payment status.Reads text others writeNo findings

    Why it is in this group

    • The name "invbg_record_invoice_payment" says "payment": a word that usually means money moves, which cannot be taken back.
    • The input carries an amount (input.amount) and a currency, so it moves money.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    WRITE: record a payment received for a document and allocate it, which updates the document's balance_paid/balance_due and payment status. Two calls: POST /payments, then POST /payments/{id}/invoices. If the allocation fails the payment stays recorded: the error names its id (see invbg_get_payment).

    Annotations the server declares

    • title: Record invoice payment
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • invbg_send_invoice_emailWRITE: email a document to a recipient (as a download link or an attached file).Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "invbg_send_invoice_email" says "send": a word for sending, and what is sent cannot be taken back.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe name "invbg_send_invoice_email" says "send": it sends or publishes something to other people.
    Description, as the server wrote it
    WRITE: email a document to a recipient (as a download link or an attached file). The email goes out immediately and cannot be recalled. POST /invoices/{id}/emails.

    Annotations the server declares

    • title: Email invoice
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Changes things 3Claude Code: ask
  • invbg_create_clientWRITE: add a company client (name, Bulstat, VAT, address, MOL).Reads text others writeNo findings

    Why it is in this group

    • The name "invbg_create_client" says "create": a word for a change.
    • The input takes a statement or command to run (input.code), which can change anything it can reach.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    WRITE: add a company client (name, Bulstat, VAT, address, MOL). Check invbg_list_clients first to avoid a duplicate. For an individual (EGN) issue the document with invbg_create_invoice and is_to_person instead. POST /clients.

    Annotations the server declares

    • title: Create client
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • invbg_create_itemWRITE: add a product or service to the catalogue (name, price, unit).Reads text others writeNo findings

    Why it is in this group

    • The name "invbg_create_item" says "create": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    WRITE: add a product or service to the catalogue (name, price, unit). POST /items.

    Annotations the server declares

    • title: Create item
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • invbg_list_clientsList or search clients (customers): name, Bulstat, VAT number, address, MOL, whether it is a person.Reads text others write1 finding

    Why it is in this group

    • The name "invbg_list_clients" says "list": a word for reading.
    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "invbg_list_clients" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "invbg_list_clients" says "list": a word for reading.

      What this check looks for
    Description, as the server wrote it
    List or search clients (customers): name, Bulstat, VAT number, address, MOL, whether it is a person. GET /clients.

    Annotations the server declares

    • title: List clients
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
Only reads 20Show 20 read-only tools
  • invbg_get_accountThe company (id, name, subdomain) and the user the API token belongs to.Reads text others writeNo findings

    Why it is in this group

    • The name "invbg_get_account" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The company (id, name, subdomain) and the user the API token belongs to. GET /account.

    Annotations the server declares

    • title: Get account
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_get_clientOne client by id with all stored details (names in both languages, Bulstat, VAT, address, MOL, code, custom properties).Reads text others writeNo findings

    Why it is in this group

    • The name "invbg_get_client" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One client by id with all stored details (names in both languages, Bulstat, VAT, address, MOL, code, custom properties). GET /clients/{id}.

    Annotations the server declares

    • title: Get client
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_get_exchange_rateThe exchange rate of a currency to BGN on a date (default: today), as inv.bg uses it for documents.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "invbg_get_exchange_rate" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "document": it reads documents.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The exchange rate of a currency to BGN on a date (default: today), as inv.bg uses it for documents. GET /currency/rates/{currency}.

    Annotations the server declares

    • title: Get exchange rate
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_get_firmThe issuing company's details: name, Bulstat, VAT registration and VAT number, address, MOL, contact email, custom properties.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "invbg_get_firm" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "contact": it reads contacts.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    The issuing company's details: name, Bulstat, VAT registration and VAT number, address, MOL, contact email, custom properties. GET /firm.

    Annotations the server declares

    • title: Get company
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_get_invoiceOne document by id: number, type, issuer and recipient, line items, VAT, totals, balance_paid and balance_due, dates, bank accounts, sent/confirmation status.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "invbg_get_invoice" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "document": it reads documents.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One document by id: number, type, issuer and recipient, line items, VAT, totals, balance_paid and balance_due, dates, bank accounts, sent/confirmation status. Optionally with its comments. GET /invoices/{id}.

    Annotations the server declares

    • title: Get invoice
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_get_itemOne catalogue item by id.Reads text others writeNo findings

    Why it is in this group

    • The name "invbg_get_item" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One catalogue item by id. GET /items/{id}.

    Annotations the server declares

    • title: Get item
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_get_next_invoice_numberThe next free document number of the default number set for a document type.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "invbg_get_next_invoice_number" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "document": it reads documents.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The next free document number of the default number set for a document type. Read-only: it does not reserve the number. GET /invoices/free-number.

    Annotations the server declares

    • title: Get next invoice number
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_get_paymentOne payment by id with its allocations to invoices (invoice_payments).Reads text others writeNo findings

    Why it is in this group

    • The name "invbg_get_payment" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One payment by id with its allocations to invoices (invoice_payments). GET /payments/{id}.

    Annotations the server declares

    • title: Get payment
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_list_bank_accountsThe company's bank accounts (alias, bank, IBAN, BIC, currency).Reads text others writeNo findings

    Why it is in this group

    • The name "invbg_list_bank_accounts" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The company's bank accounts (alias, bank, IBAN, BIC, currency). GET /bank/accounts.

    Annotations the server declares

    • title: List bank accounts
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_list_bank_transactionsImported bank transactions with amount, date, counterparty, and whether they are linked to a document.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "invbg_list_bank_transactions" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "document": it reads documents.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Imported bank transactions with amount, date, counterparty, and whether they are linked to a document. Useful for reconciliation (linked=false = unmatched). GET /bank/transactions.

    Annotations the server declares

    • title: List bank transactions
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_list_cashboxesThe company's cash registers (cashboxes) with names and balances.Reads text others writeNo findings

    Why it is in this group

    • The name "invbg_list_cashboxes" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The company's cash registers (cashboxes) with names and balances. GET /cashboxes.

    Annotations the server declares

    • title: List cashboxes
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_list_client_contactsContact people of a client (or of all clients) with their names and roles.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "invbg_list_client_contacts" says "list": a word for reading.

    What it can reach

    • private-dataThe name "invbg_list_client_contacts" says "list" and "contact": it reads contacts.
    • private-dataThe description's first sentence says "contact": it reads contacts.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Contact people of a client (or of all clients) with their names and roles. GET /client-contacts.

    Annotations the server declares

    • title: List client contacts
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_list_invoice_typesAll document types of this company (tax invoice, proforma, debit/credit note and any custom types) with their codes.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "invbg_list_invoice_types" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "document": it reads documents.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    All document types of this company (tax invoice, proforma, debit/credit note and any custom types) with their codes. GET /invoices/types.

    Annotations the server declares

    • title: List document types
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_list_invoicesList documents (tax invoices, proformas, debit and credit notes) with filters: type, number, issue-date range, amount ranges, payment status, client, draft/annulled, sent status, c…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "invbg_list_invoices" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "list" and "document": it reads documents.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "list" and "issue": it reads issues, which other people can write.
    Description, as the server wrote it
    List documents (tax invoices, proformas, debit and credit notes) with filters: type, number, issue-date range, amount ranges, payment status, client, draft/annulled, sent status, currency. Each row has number, client, totals, balance_paid, balance_due and dates. GET /invoices.

    Annotations the server declares

    • title: List invoices
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_list_item_unitsUnits of measure accepted as quantity_unit on items and invoice lines.Reads text others writeNo findings

    Why it is in this group

    • The name "invbg_list_item_units" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Units of measure accepted as quantity_unit on items and invoice lines. GET /items/units.

    Annotations the server declares

    • title: List units of measure
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_list_itemsThe product/service catalogue: name, price, currency, unit, tags.Reads text others writeNo findings

    Why it is in this group

    • The name "invbg_list_items" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The product/service catalogue: name, price, currency, unit, tags. GET /items.

    Annotations the server declares

    • title: List items
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_list_number_setsThe company's invoice number sets (separate numbering series) with ids; pass an id as number_set to invbg_create_invoice.Reads text others writeNo findings

    Why it is in this group

    • The name "invbg_list_number_sets" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The company's invoice number sets (separate numbering series) with ids; pass an id as number_set to invbg_create_invoice. GET /invoices/number-sets.

    Annotations the server declares

    • title: List number sets
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_list_payment_methodsThe payment method codes a document accepts (cash, bank, card, ...) with their names.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "invbg_list_payment_methods" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "document": it reads documents.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The payment method codes a document accepts (cash, bank, card, ...) with their names. GET /invoices/payment-methods.

    Annotations the server declares

    • title: List payment methods
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_list_paymentsRecorded payments (income and expense) with amount, method, date, counterparty, how much is allocated to invoices (amount_used) and what is left (amount_left).Reads text others writeNo findings

    Why it is in this group

    • The name "invbg_list_payments" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Recorded payments (income and expense) with amount, method, date, counterparty, how much is allocated to invoices (amount_used) and what is left (amount_left). GET /payments.

    Annotations the server declares

    • title: List payments
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • invbg_list_vat_exemption_reasonsThe legal reasons for issuing a document without VAT (use one as vat_exemption_reason in invbg_create_invoice).Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "invbg_list_vat_exemption_reasons" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "document": it reads documents.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The legal reasons for issuing a document without VAT (use one as vat_exemption_reason in invbg_create_invoice). GET /invoices/without-vat-reasons.

    Annotations the server declares

    • title: List VAT exemption reasons
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: 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.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

270 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 outbound tool breaks every one.

Can send data out1
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__inv-bg__invbg_send_invoice_email"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "invbg_list_clients" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "invbg_list_clients" says "list": a word for reading.

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

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

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

Run in a terminal.

Claude Code permissions

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

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__inv-bg__invbg_get_account",
      "mcp__inv-bg__invbg_get_firm",
      "mcp__inv-bg__invbg_list_invoices",
      "mcp__inv-bg__invbg_get_invoice",
      "mcp__inv-bg__invbg_list_invoice_types",
      "mcp__inv-bg__invbg_get_next_invoice_number",
      "mcp__inv-bg__invbg_list_number_sets",
      "mcp__inv-bg__invbg_list_payment_methods",
      "mcp__inv-bg__invbg_list_vat_exemption_reasons",
      "mcp__inv-bg__invbg_get_client",
      "mcp__inv-bg__invbg_list_client_contacts",
      "mcp__inv-bg__invbg_list_items",
      "mcp__inv-bg__invbg_get_item",
      "mcp__inv-bg__invbg_list_item_units",
      "mcp__inv-bg__invbg_list_payments",
      "mcp__inv-bg__invbg_get_payment",
      "mcp__inv-bg__invbg_list_bank_accounts",
      "mcp__inv-bg__invbg_list_bank_transactions",
      "mcp__inv-bg__invbg_list_cashboxes",
      "mcp__inv-bg__invbg_get_exchange_rate"
    ],
    "ask": [
      "mcp__inv-bg__invbg_list_clients",
      "mcp__inv-bg__invbg_create_client",
      "mcp__inv-bg__invbg_create_item",
      "mcp__inv-bg__invbg_send_invoice_email",
      "mcp__inv-bg__invbg_record_invoice_payment"
    ],
    "deny": [
      "mcp__inv-bg__invbg_update_client",
      "mcp__inv-bg__invbg_create_invoice"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as inv-bg. Review it before you use it.

Capability tags behind 27 rules
  • mcp__inv-bg__invbg_get_account untrusted-input
  • mcp__inv-bg__invbg_get_firm private-data, untrusted-input
  • mcp__inv-bg__invbg_list_invoices private-data, untrusted-input
  • mcp__inv-bg__invbg_get_invoice private-data, untrusted-input
  • mcp__inv-bg__invbg_list_invoice_types private-data, untrusted-input
  • mcp__inv-bg__invbg_get_next_invoice_number private-data, untrusted-input
  • mcp__inv-bg__invbg_list_number_sets untrusted-input
  • mcp__inv-bg__invbg_list_payment_methods private-data, untrusted-input
  • mcp__inv-bg__invbg_list_vat_exemption_reasons private-data, untrusted-input
  • mcp__inv-bg__invbg_list_clients untrusted-input
  • mcp__inv-bg__invbg_get_client untrusted-input
  • mcp__inv-bg__invbg_list_client_contacts private-data, untrusted-input
  • mcp__inv-bg__invbg_list_items untrusted-input
  • mcp__inv-bg__invbg_get_item untrusted-input
  • mcp__inv-bg__invbg_list_item_units untrusted-input
  • mcp__inv-bg__invbg_list_payments untrusted-input
  • mcp__inv-bg__invbg_get_payment untrusted-input
  • mcp__inv-bg__invbg_list_bank_accounts untrusted-input
  • mcp__inv-bg__invbg_list_bank_transactions private-data, untrusted-input
  • mcp__inv-bg__invbg_list_cashboxes untrusted-input
  • mcp__inv-bg__invbg_get_exchange_rate private-data, untrusted-input
  • mcp__inv-bg__invbg_create_client untrusted-input
  • mcp__inv-bg__invbg_update_client untrusted-input
  • mcp__inv-bg__invbg_create_item untrusted-input
  • mcp__inv-bg__invbg_create_invoice untrusted-input
  • mcp__inv-bg__invbg_send_invoice_email untrusted-input, outbound
  • mcp__inv-bg__invbg_record_invoice_payment untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/io.usefulapi/inv-bg/verify?hash=7ac1db65ace2c4ea8068b3f3c2695db2e6bf09e01cdc86a9ce918ccf9b3d316c" | jq -e '.changed == false'

Pinned hash 7ac1db65ace2, from Oct 25, 2026, 17:22 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/io.usefulapi/inv-bg/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for io.usefulapi/inv-bg
[![anlyon.dev](https://anlyon.dev/badge/io.usefulapi/inv-bg.svg)](https://anlyon.dev/servers/io.usefulapi/inv-bg)

Source: MCP Registry · repository. Synced Oct 25, 2026, 17:22 UTC.