MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Code & DevOps

CashCtrl MCP by usefulapi

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

Checks passed
14 / 22

0 failed · 8 not measured

Median response
61 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
28

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
402

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 61 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name cashctrl-mcp.

  • Pass
    Lists tools

    tools/list returned 28 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 61 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 61 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    115 of 115 parameters have a description (100%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-11-10T23:34:03.429572Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using CashCtrl MCP by usefulapi

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http cashctrl-mcp-by-usefulapi https://cashctrl.usefulapi.io/mcp

Capabilities

Tools 28

cashctrl_create_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.

Discovered
cashctrl_create_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.

Discovered
cashctrl_create_person

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.

Discovered
cashctrl_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.

Discovered
cashctrl_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.

Discovered
cashctrl_get_account

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

Discovered
cashctrl_get_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.

Discovered
cashctrl_get_article

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

Discovered
cashctrl_get_journal_entry

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

Discovered
cashctrl_get_order

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

Discovered
cashctrl_get_person

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

Discovered
cashctrl_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.

Discovered
cashctrl_get_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.

Discovered
cashctrl_get_salary_statement

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

Discovered
cashctrl_list_account_categories

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

Discovered
cashctrl_list_accounts

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

Discovered
cashctrl_list_articles

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

Discovered
cashctrl_list_bank_accounts

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

Discovered
cashctrl_list_currencies

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

Discovered
cashctrl_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.

Discovered
cashctrl_list_journal

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.

Discovered
cashctrl_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.

Discovered
cashctrl_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.

Discovered
cashctrl_list_persons

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

Discovered
cashctrl_list_salary_statements

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

Discovered
cashctrl_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.

Discovered
cashctrl_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.

Discovered
cashctrl_update_order_status

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.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected61 ms28