Skip to main content
Glama

CashCtrl MCP by usefulapi

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

Score is being calculated.

Available Tools

28 tools
cashctrl_create_journal_entryCreate a journal entry
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoBooking date, yyyy-mm-dd (CashCtrl uses today when omitted).
itemsNoLines of a collective entry. Use it instead of debit_account_id, credit_account_id and amount.
titleYesDescription of the entry (max 250 characters).
amountNoAmount of a simple entry, for example 125.50.
tax_idNoTax code id of a simple entry (cashctrl_list_tax_codes).
referenceNoReceipt or reference text (max 100).
associate_idNoThe person this entry belongs to (cashctrl_list_persons).
debit_account_idNoDebit account id (cashctrl_list_accounts). For a simple entry.
credit_account_idNoCredit account id (cashctrl_list_accounts). For a simple entry.
sequence_number_idNoSequence number that generates the reference (cashctrl_list_sequence_numbers).
cashctrl_create_orderCreate an order
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nrNoOrder number. Leave empty to use the sequence number of the category.
dateYesDocument date, yyyy-mm-dd.
itemsYes1-200 order items.
due_daysNoDays until payment is due.
languageNoLanguage of the document.
status_idNoStatus id (cashctrl_list_order_categories). Default: the first status of the category.
account_idNoDebtors or creditors account id; default from the category.
category_idYesOrder category id (cashctrl_list_order_categories), for example the Invoice category.
descriptionNoDescription of the document (max 200).
associate_idYesThe customer or vendor (cashctrl_list_persons).
sequence_number_idNoSequence number for the order number (cashctrl_list_sequence_numbers).
discount_percentageNoDiscount of the whole order in percent.
cashctrl_create_personCreate a person or company
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nrNoPerson number, for example the customer number.
companyNoCompany name.
vat_uidNoVAT number (UID), for example CHE-123.456.789 MWST.
contactsNoE-mail addresses, phone numbers and websites.
languageNoLanguage of documents for this person.
addressesNoAddresses.
is_vendorNoMark as vendor.
last_nameNoLast name.
first_nameNoFirst name.
category_idNoPerson category id.
is_customerNoMark as customer.
cashctrl_delete_journal_entriesDelete journal entries
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYes1-20 journal entry ids.
cashctrl_delete_ordersDelete orders
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYes1-20 order ids.
cashctrl_get_accountGet an account
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe account id (from cashctrl_list_accounts; not the account number).
cashctrl_get_account_balanceGet an account balance
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe account id (from cashctrl_list_accounts).
dateNoBalance at the end of this day, yyyy-mm-dd.
cashctrl_get_articleGet an inventory article
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe article id (from cashctrl_list_articles).
cashctrl_get_journal_entryGet a journal entry
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe journal entry id (from cashctrl_list_journal).
cashctrl_get_orderGet an order
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe order id (from cashctrl_list_orders).
cashctrl_get_personGet a person
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe person id (from cashctrl_list_persons).
cashctrl_get_report_dataGet report data
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNoEnd of the period, yyyy-mm-dd.
element_idYesThe report element id (from cashctrl_get_report_tree).
start_dateNoStart of the period, yyyy-mm-dd.
fiscal_period_idNoFiscal period id (cashctrl_list_fiscal_periods). It replaces start_date and end_date.
cashctrl_get_report_treeGet the report tree
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

cashctrl_get_salary_statementGet a salary statement
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe statement id (from cashctrl_list_salary_statements).
cashctrl_list_account_categoriesList account categories
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

cashctrl_list_accountsList accounts
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
dirNoSort direction (each list has its own default).
sortNoColumn to sort by (a column name of the list reply; each list has its own default).
queryNoFull-text search.
filterNoColumn filters, all must match (AND).
category_idNoOnly accounts of this category (cashctrl_list_account_categories).
only_activeNoOnly active accounts.
fiscal_period_idNoFiscal period id (cashctrl_list_fiscal_periods); default is the current period.
cashctrl_list_articlesList inventory articles
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
dirNoSort direction (each list has its own default).
sortNoColumn to sort by (a column name of the list reply; each list has its own default).
limitNoRows to return, 1-500 (default 100).
queryNoFull-text search.
startNoIndex of the first row (default 0). Use next_start from the previous reply.
filterNoColumn filters, all must match (AND).
category_idNoOnly this article category.
only_activeNoOnly active articles.
only_restockNoOnly articles that need restocking.
cashctrl_list_bank_accountsList bank accounts
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

cashctrl_list_currenciesList currencies
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

cashctrl_list_fiscal_periodsList fiscal periods
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

cashctrl_list_journalList journal entries
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirNoSort direction (each list has its own default).
sortNoColumn to sort by (a column name of the list reply; each list has its own default).
limitNoRows to return, 1-500 (default 100).
queryNoFull-text search.
startNoIndex of the first row (default 0). Use next_start from the previous reply.
filterNoColumn filters, all must match (AND).
account_idNoOnly entries of this account (cashctrl_list_accounts).
only_salesNoOnly entries created by sales orders.
only_manualNoOnly manual entries.
only_salaryNoOnly entries created by salary statements.
associate_idNoOnly entries of this person (cashctrl_list_persons).
only_importedNoOnly imported (bank) entries.
only_purchaseNoOnly entries created by purchase orders.
only_collectiveNoOnly collective entries.
fiscal_period_idNoFiscal period id (cashctrl_list_fiscal_periods); default is the current period.
cashctrl_list_order_categoriesList order categories
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoSALES (default) or PURCHASE categories.
fiscal_period_idNoFiscal period id (cashctrl_list_fiscal_periods); default is the current period.
cashctrl_list_ordersList orders
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirNoSort direction (each list has its own default).
sortNoColumn to sort by (a column name of the list reply; each list has its own default).
typeNoSALES or PURCHASE documents.
limitNoRows to return, 1-500 (default 100).
queryNoFull-text search.
startNoIndex of the first row (default 0). Use next_start from the previous reply.
filterNoColumn filters, all must match (AND).
only_openNoOnly open (not completed) orders, for example unpaid invoices.
person_idNoOnly orders of this person (cashctrl_list_persons).
status_idNoOnly this status (the status ids are in cashctrl_list_order_categories).
category_idNoOnly this order category (cashctrl_list_order_categories), for example Invoice.
only_overdueNoOnly orders past their due date.
fiscal_period_idNoFiscal period id (cashctrl_list_fiscal_periods); default is the current period.
cashctrl_list_personsList people
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
dirNoSort direction (each list has its own default).
sortNoColumn to sort by (a column name of the list reply; each list has its own default).
limitNoRows to return, 1-500 (default 100).
queryNoFull-text search.
startNoIndex of the first row (default 0). Use next_start from the previous reply.
filterNoColumn filters, all must match (AND).
category_idNoOnly this person category.
only_activeNoOnly active people.
only_vendorsNoOnly vendors.
only_customersNoOnly customers.
only_employeesNoOnly employees.
cashctrl_list_salary_statementsList salary statements
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
dirNoSort direction (each list has its own default).
sortNoColumn to sort by (a column name of the list reply; each list has its own default).
limitNoRows to return, 1-500 (default 100).
queryNoFull-text search.
startNoIndex of the first row (default 0). Use next_start from the previous reply.
only_openNoOnly open (not yet paid) statements.
person_idNoOnly statements of this employee (cashctrl_list_persons).
only_overdueNoOnly statements past their payment date.
fiscal_period_idNoFiscal period id (cashctrl_list_fiscal_periods); default is the current period.
cashctrl_list_sequence_numbersList sequence numbers
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

cashctrl_list_tax_codesList tax codes
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

cashctrl_update_order_statusChange the status of orders
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYes1-20 order ids.
status_idYesThe new status id (from the statuses of the order category, cashctrl_list_order_categories).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 28 tool updates
    • First observedcashctrl_create_journal_entry
    • First observedcashctrl_create_order
    • First observedcashctrl_create_person
    • First observedcashctrl_delete_journal_entries
    • First observedcashctrl_delete_orders
    • First observedcashctrl_get_account
    • First observedcashctrl_get_account_balance
    • First observedcashctrl_get_article
    • First observedcashctrl_get_journal_entry
    • First observedcashctrl_get_order
    • First observedcashctrl_get_person
    • First observedcashctrl_get_report_data
    • First observedcashctrl_get_report_tree
    • First observedcashctrl_get_salary_statement
    • First observedcashctrl_list_account_categories
    • First observedcashctrl_list_accounts
    • First observedcashctrl_list_articles
    • First observedcashctrl_list_bank_accounts
    • First observedcashctrl_list_currencies
    • First observedcashctrl_list_fiscal_periods
    • First observedcashctrl_list_journal
    • First observedcashctrl_list_order_categories
    • First observedcashctrl_list_orders
    • First observedcashctrl_list_persons
    • First observedcashctrl_list_salary_statements
    • First observedcashctrl_list_sequence_numbers
    • First observedcashctrl_list_tax_codes
    • First observedcashctrl_update_order_status

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables interaction with the sevDesk accounting API for managing contacts, invoices, credit notes, orders, vouchers, transactions, and parts.
    12 npm
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Talk to your GnuCash books: a one-call financial dashboard (net worth, runway, budgets, what's overdue), and whole bank statements entered and reconciled in a single call from CSV, OFX, PDF, or even a screenshot or photo of the statement. Plus transactions, invoices, reports and multi-currency; local, SQLite/PostgreSQL/MySQL.
    87
    77
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP clients to authenticate against an internal accounting web API, list companies, categories, bank transactions and documents, upload or batch-deposit receipts (idempotent, dry-run by default), set accounting metadata, and link documents to their matching bank transactions.
    MIT
  • F
    license
    B
    quality
    D
    maintenance
    Enables interaction with the Bokio accounting API for managing journal entries, invoices, customers, items, and more, with read-only mode by default for safety.
    18
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.