CashCtrl MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.23.5Updated Nov 8, 2026

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

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableFinanceData & AnalyticsBusiness & Commerce

Overview

CashCtrl MCP by usefulapi's hosted MCP server (cashctrl.usefulapi.io), published by usefulapi.io; no sign-in required; Streamable HTTP; 28 tools.

No AI overview yet: these facts come from the registry entry and the server itself.

Publisher
usefulapi.io
Endpoint
cashctrl.usefulapi.io
Last checked

Installation

In SourceWeft

  1. Open CashCtrl MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fcashctrl/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "cashctrl-by-usefulapi": {
      "type": "http",
      "url": "https://cashctrl.usefulapi.io/mcp"
    }
  }
}

README

CashCtrl MCP by usefulapi

Use CashCtrl from Claude, Cursor, or any MCP client — accounts and balances, bank accounts, journal entries, orders and invoices, people, articles, salary statements, fiscal periods, tax codes, currencies and reports, plus booking journal entries, creating orders and people, changing order status and deleting journal entries or orders. Needs a CashCtrl PRO account with an API user. Hosted, no local install: connect with your own CashCtrl credentials.

Live endpoint: https://cashctrl.usefulapi.io/mcp · Homepage: https://usefulapi.io/cashctrl

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://cashctrl.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http cashctrl https://cashctrl.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "cashctrl": {      "url": "https://cashctrl.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your CashCtrl credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/cashctrl/

Tools

ToolTypeWhat it does
cashctrl_list_accountsreadList accounts
cashctrl_get_accountreadGet an account
cashctrl_get_account_balancereadGet an account balance
cashctrl_list_account_categoriesreadList account categories
cashctrl_list_bank_accountsreadList bank accounts
cashctrl_list_journalreadList journal entries
cashctrl_get_journal_entryreadGet a journal entry
cashctrl_list_ordersreadList orders
cashctrl_get_orderreadGet an order
cashctrl_list_order_categoriesreadList order categories
cashctrl_list_personsreadList people
cashctrl_get_personreadGet a person
cashctrl_list_articlesreadList inventory articles
cashctrl_get_articlereadGet an inventory article
cashctrl_list_salary_statementsreadList salary statements
cashctrl_get_salary_statementreadGet a salary statement
cashctrl_list_fiscal_periodsreadList fiscal periods
cashctrl_list_tax_codesreadList tax codes
cashctrl_list_sequence_numbersreadList sequence numbers
cashctrl_list_currenciesreadList currencies
cashctrl_get_report_treereadGet the report tree
cashctrl_get_report_datareadGet report data
cashctrl_create_journal_entrywriteCreate a journal entry
cashctrl_delete_journal_entrieswriteDelete journal entries
cashctrl_create_orderwriteCreate an order
cashctrl_update_order_statuswriteChange the status of orders
cashctrl_delete_orderswriteDelete orders
cashctrl_create_personwriteCreate a person or company
cashctrl_usage_statusmetaUsage status (free-tier meter)
cashctrl_request_featuremetaRequest a missing feature
cashctrl_upgrademetaUpgrade to Pro or Pro+
cashctrl_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per organization)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with cashctrl_upgrade (it returns a Stripe Checkout link). Cancel any time with cashctrl_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running cashctrl_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by CashCtrl.

Source: servers/cashctrl/README.md at commit 4046075

Tools

28

cashctrl_list_accounts

List accounts

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

Parametersdirsortqueryfiltercategory_idonly_activefiscal_period_id

cashctrl_get_account

Get an account

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

Parametersidrequired

cashctrl_get_account_balance

Get an account balance

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

Parametersidrequireddate

cashctrl_list_account_categories

List account categories

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

Takes no parameters.

cashctrl_list_bank_accounts

List bank accounts

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

Takes no parameters.

cashctrl_list_journal

List journal entries

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.

Parametersdirsortlimitquerystartfilteraccount_idonly_salesonly_manualonly_salaryassociate_idonly_imported+3 more

cashctrl_get_journal_entry

Get a journal entry

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

Parametersidrequired

cashctrl_list_orders

List orders

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.

Parametersdirsorttypelimitquerystartfilteronly_openperson_idstatus_idcategory_idonly_overdue+1 more

cashctrl_get_order

Get an order

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

Parametersidrequired

cashctrl_list_order_categories

List order categories

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.

Parameterstypefiscal_period_id

cashctrl_list_persons

List people

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

Parametersdirsortlimitquerystartfiltercategory_idonly_activeonly_vendorsonly_customersonly_employees

cashctrl_get_person

Get a person

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

Parametersidrequired

cashctrl_list_articles

List inventory articles

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

Parametersdirsortlimitquerystartfiltercategory_idonly_activeonly_restock

cashctrl_get_article

Get an inventory article

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

Parametersidrequired

cashctrl_list_salary_statements

List salary statements

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

Parametersdirsortlimitquerystartonly_openperson_idonly_overduefiscal_period_id

cashctrl_get_salary_statement

Get a salary statement

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

Parametersidrequired

cashctrl_list_fiscal_periods

List fiscal periods

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

Takes no parameters.

cashctrl_list_tax_codes

List tax codes

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

Takes no parameters.

cashctrl_list_sequence_numbers

List sequence numbers

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.

Takes no parameters.

cashctrl_list_currencies

List currencies

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

Takes no parameters.

cashctrl_get_report_tree

Get the report tree

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.

Takes no parameters.

cashctrl_get_report_data

Get report data

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.

Parametersend_dateelement_idrequiredstart_datefiscal_period_id

cashctrl_create_journal_entry

Create a journal entry

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.

Parametersdateitemstitlerequiredamounttax_idreferenceassociate_iddebit_account_idcredit_account_idsequence_number_id

cashctrl_delete_journal_entries

Delete journal entries

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.

Parametersidsrequired

cashctrl_create_order

Create an order

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 status unless the user asks otherwise. No e-mail is sent. POST /order/create.json.

Parametersnrdaterequireditemsrequireddue_dayslanguagestatus_idaccount_idcategory_idrequireddescriptionassociate_idrequiredsequence_number_iddiscount_percentage

cashctrl_update_order_status

Change the status of orders

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.

Parametersidsrequiredstatus_idrequired

cashctrl_delete_orders

Delete orders

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.

Parametersidsrequired

cashctrl_create_person

Create a person or company

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.

Parametersnrcompanyvat_uidcontactslanguageaddressesis_vendorlast_namefirst_namecategory_idis_customer

Version history

20
  1. v1.23.5LatestNov 8, 2026
  2. v1.23.4Nov 7, 2026
  3. v1.22.3Nov 5, 2026
  4. v1.22.2Nov 5, 2026
  5. v1.22.1Nov 4, 2026
  6. v1.22.0Nov 3, 2026
  7. v1.21.1Nov 3, 2026
  8. v1.20.0Nov 1, 2026
  9. v1.18.0Oct 31, 2026
  10. v1.17.0Oct 31, 2026
  11. v1.16.2Oct 30, 2026
  12. v1.16.0Oct 30, 2026
  13. v1.11.0Oct 26, 2026
  14. v1.8.3Oct 25, 2026
  15. v1.8.0Oct 25, 2026
  16. v1.7.0Oct 24, 2026
  17. v1.4.0Oct 23, 2026
  18. v1.3.4Oct 22, 2026
  19. v1.3.3Oct 21, 2026
  20. v1.0.0Oct 12, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations