CashCtrl MCP by usefulapi

io.usefulapi/cashctrl

Read CashCtrl accounts, journal, orders, people, articles, salaries and reports; book and create.

Yes, your AI can use this right now.Answered a live MCP handshake in 187 ms with no sign-in needed and exposes 28 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://cashctrl.usefulapi.io/mcp

28 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
cashctrl_list_accountsread-only

The chart of accounts: number, name, category and the balance for the fiscal period. Not paged. GET /account/list.json.

cashctrl_get_accountread-only

One account of the chart of accounts by id. GET /account/read.json.

cashctrl_get_account_balanceread-only

The balance of one account at the end of a day (default: the last day of the current fiscal period). GET /account/balance.

cashctrl_list_account_categoriesread-only

The categories of the chart of accounts (assets, liabilities, expenses, revenue and their sub-categories). GET /account/category/list.json.

cashctrl_list_bank_accountsread-only

The bank accounts set up in CashCtrl (name, IBAN, linked ledger account). GET /account/bank/list.json.

cashctrl_list_journalread-only

Book entries of the journal (date, title, debit and credit account, amount, reference), newest first, for the current fiscal period unless fiscal_period_id is set. GET /journal/list.json.

cashctrl_get_journal_entryread-only

One book entry by id, with its items for a collective entry. GET /journal/read.json.

cashctrl_list_ordersread-only

Sales or purchase documents (quotes, order confirmations, invoices, delivery notes, credit notes, vendor bills) with number, date, customer, status and total. Newest first. GET /order/list.json.

cashctrl_get_orderread-only

One order (invoice, quote, purchase document) by id, with its items, totals and status. GET /order/read.json.

cashctrl_list_order_categoriesread-only

The order categories (Quote, Invoice, Credit note, Purchase invoice and so on) with their statuses (Draft, Open, Paid) and the default accounts and sequence numbers. Use it to find category_id and status_id (type PURCHASE for purchase documents). GET /order/category/list.json.

cashctrl_list_personsread-only

Customers, vendors, employees and other contacts (name, company, number, roles, addresses). GET /person/list.json.

cashctrl_get_personread-only

One person or company by id, with addresses, contact data and bank accounts. GET /person/read.json.

cashctrl_list_articlesread-only

Inventory articles (products and services) with number, name, price, stock and accounts. GET /inventory/article/list.json.

cashctrl_get_articleread-only

One inventory article by id. GET /inventory/article/read.json.

cashctrl_list_salary_statementsread-only

Payroll statements (employee, date, status, gross and net amounts), newest first. Sensitive personal data. GET /salary/statement/list.json.

cashctrl_get_salary_statementread-only

One payroll statement by id, with its salary items. Sensitive personal data. GET /salary/statement/read.json.

cashctrl_list_fiscal_periodsread-only

All fiscal periods (id, name, start, end, current flag). The id is the fiscal_period_id of the other tools. GET /fiscalperiod/list.json.

cashctrl_list_tax_codesread-only

The VAT tax codes (id, code, name, rates). The id is the tax_id of the write tools. GET /tax/list.json.

cashctrl_list_sequence_numbersread-only

The number sequences (for journal references, order numbers, customer numbers). The id is the sequence_number_id of the write tools. GET /sequencenumber/list.json.

cashctrl_list_currenciesread-only

The currencies set up in CashCtrl with their exchange rates. GET /currency/list.json.

cashctrl_get_report_treeread-only

The reports set up in CashCtrl (balance sheet, income statement, and so on) as a tree of collections and elements. The element id is the input of cashctrl_get_report_data. GET /report/tree.json.

cashctrl_get_report_dataread-only

The data of one report element (for example the balance sheet or the income statement) for a fiscal period or a date range. GET /report/element/data.json.

cashctrl_create_journal_entrycan modify

WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. Creates a manual book entry in the journal. Either a simple entry (debit_account_id, credit_account_id, amount) or a collective entry (items, whose debit and credit sums must match). POST /journal/create.json.

cashctrl_delete_journal_entriescan modify

WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. DELETES manual journal entries by id (entries created by orders or salary statements cannot be deleted this way). Deleted entries are gone from the books; confirm the ids with the user first. POST /journal/delete.json.

cashctrl_create_ordercan modify

WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. Creates ONE order document for ONE customer or vendor: a quote, invoice, credit note, purchase bill and so on, depending on category_id. Without status_id the first status of the category is used; a booking status (for example Open) also creates journal entries, so use a draft sta

cashctrl_update_order_statuscan modify

WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. Sets the status of 1-20 orders (for example Draft to Open, or Open to Paid). A status can book journal entries or move stock, so the books change. POST /order/update_status.json.

cashctrl_delete_orderscan modify

WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. DELETES orders (invoices, quotes, purchase documents) by id, with the journal entries they created. Deleted documents are gone; confirm the ids with the user first. POST /order/delete.json.

cashctrl_create_personcan modify

WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. Creates a customer, vendor or other contact. Give company, first_name or last_name (at least one). Search first with cashctrl_list_persons so no duplicate is created. POST /person/create.json.

Alternatives in E-commerce

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”