mcpbeat Sign in

Categorize Transactions MCP Server

answering

Categorize Transactions is answering right now. Last checked moments ago. It exposes 15 tools. Last commit 6 Nov 2026.

Import a bank CSV, categorise it, summarise it per currency and reconcile it against your expenses.

Uptime history 46 days of history · worst day 94%
46 days agonow
100.0%
Uptime 24h
92 of 92 checks
15
Tools
read from the server
168 ms
Response time
average over 24h
2
Stars
last commit 6 Nov 2026

What changed 25

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 15 October 2026. No other catalogue keeps this.

6 Nov 12 tools changed the parameters they ask for24 times that day bank_delete_upload, bank_upload, category_rules and 9 more
15 Oct a tool changed version
and 12 more, back to 15 October 2026

What the code does

We read the source, 5 h ago · tools taken from the live server · rules 995398eba69f

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Touches key and credential files data/npm_unblock.json:34
        "confound": "actions/setup-node with registry-url wrote NPM_CONFIG_USERCONFIG=$RUNNER_TEMP/.npmrc containing //registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}; with no NODE_AUTH_TOKEN secret this expanded to the literal placeholder XXXXX-XXXXX-XXXXX-XXXXX, so npm authen…
Dumps the whole environment servers/office-suite/src/index.ts:141
  for (const [k, v] of Object.entries(process.env)) if (v !== undefined) env[k] = v;
Page loads a third-party script telegram/public/index.html:11
<script src="https://telegram.org/js/telegram-web-app.js"></script>
Sends data to a third-party sink telegram/src/bot.ts:205
  console.error("Bot started; polling https://api.telegram.org");

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 0 min ago.

run in your terminal
claude mcp add categorize-transactions --transport http https://mcp.zovo.one/mcp/categorize-transactions
Settings → Connectors → Add custom connector, then paste this address
https://mcp.zovo.one/mcp/categorize-transactions
~/.codex/config.toml
[mcp_servers.categorize-transactions]
url = "https://mcp.zovo.one/mcp/categorize-transactions"
.cursor/mcp.json
{
  "mcpServers": {
    "categorize-transactions": {
      "url": "https://mcp.zovo.one/mcp/categorize-transactions"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "categorize-transactions": {
      "type": "http",
      "url": "https://mcp.zovo.one/mcp/categorize-transactions"
    }
  }
}

Available tools 15

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

bank
bank_delete_upload
Delete one statement file stored for your token. The transactions already imported from it are kept; transactions_list and the summary still see them.
bank_files
List the statement files stored for your token, with their sizes.
bank_upload
Send a bank export to this hosted endpoint. There is no filesystem here, so instead of a path you upload the file once with bank_upload and then pass its name as `path` to statement_import. Give exactly one of content (the export as text, header row included - this is the normal case for a CSV), content_base64 (the file's bytes, which keeps a UTF-16 export from Excel readable) or url. url: fetch a public file instead of pasting base64 (recommended above about 10 KB): the url is fetched here with a 10 second timeout, at most 3 redirects, public http(s) hosts only, and a 1 MB cap; the fetched file has to be delimited text, so a PDF statement is refused rather than stored. Uploads are kept for your token between calls; bank_files lists them and bank_delete_upload removes one. The request body cap is 256 KB, so a large export pasted as text has to be split by month.
statement
statement_export
Export the BANK transactions of a date range (a month, a quarter, a year) as .csv or .json and return a download link valid for one hour. This is the tool for "export September" once a statement has been imported. Nothing partial is ever written.
statement_import
Call this tool to read a bank CSV into the local ledger. Columns detected from headers (date, description, amount, currency, balance); amounts use the file's locale; stored lines skipped. Returns detected/stored/skipped.
statement_summary
What was spent/received in a date range per the BANK ACCOUNT, grouped by category, month, account or counterparty. For "what did I spend in August" once imported. Totals are per currency, never summed or converted.
license
license_activate
Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.
license_status
Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.
transactions
transactions_list
List stored transactions in a date range, optionally for one account or category, or only the ones no rule has categorised yet. Totals are reported per currency and never added across currencies.
transactions_search
Find transactions whose description, counterparty, category or account contains the query. Case-insensitive substring search, never a regex, so a query with brackets in it cannot hang the server.
accounts
accounts_list
List the imported accounts: bank, currencies, transaction count, first and last date, and the closing balance when the file carried one. Start here for the account names transactions_list and statement_export take.
category
category_rules
Read the category rules, or pass rules to REPLACE the whole list. A plain match is a substring; a regex compiles only if it cannot backtrack exponentially. An empty match is refused. Free: 5 rules.
reconcile
reconcile_expenses
Match bank debits against mcp-expense-tracker entries: same currency and amount, date within a few days. Reports matches, unmatched bank lines, expenses never hitting the bank. Read-only. Free: 31 days; Pro: any range.
recurring
recurring_detect
Find charges that come back: debits grouped by counterparty and currency with a steady amount and interval, with cadence, typical amount, next due date and annual cost. Free: 3 months, 5 charges.
transaction
transaction_categorize
Set or clear the category on transactions by id, for a one-off no rule is worth writing for. Every id is checked first, so one unknown id refuses the whole call. category_rules matches by text instead.

Endpoints

URLTransportStateLatencyChecked
https://mcp.zovo.one/mcp/categorize-transactions streamable-http answering 68 ms 0 min ago

Alternatives to Categorize Transactions

same job, measured the same way
Bank Statement PDF
by theluckystrike

Import a bank CSV, categorise it, summarise it per currency and reconcile it against your expenses.

15 tools answering
Bank Statement
by theluckystrike

Import a bank CSV, categorise it, summarise it per currency and reconcile it against your expenses.

local only
Cashflow
by theluckystrike

Bank CSV cashflow: categorise, summarise per currency, reconcile against expenses.

15 tools local only
Bank Statement Import Categorise Reconcile
by bestremotetools

Import a bank CSV, dedupe on re-import, categorise, summarise per currency and find subscriptions.

local only
McpStamp Bank Statements
by theluckystrike

Import bank CSV exports, categorise transactions, total them by category or month, match expenses.

15 tools answering
Expenses Tracker
by theluckystrike

Track expenses from your AI chat: log, categorize, monthly CSV reports. All data is local.

14 tools answering
C
CSV Import Rehearsal
by mcpscores

Simulate a CSV import against a supplied typed column contract and return exact accepted rows, re...

1 tools answering
Dmarc Examiner
by dmarc-examiner

Read your own DMARC aggregate and forensic reports: sources, alignment, alerts, CSV export.

47 installs/wk 21 tools answering

Categorize Transactions — questions

Answers built from our own checks of this server.

What can Categorize Transactions do?
It exposes 15 tools, read directly from the server on our last check. Among them: accounts_list, bank_delete_upload, bank_files, bank_upload, category_rules, license_activate and 9 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Categorize Transactions mostly used for?
Its tools cluster around statement, bank and transactions. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Categorize Transactions working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 168 ms. The bar chart above shows every period we have measured.
How do I connect Categorize Transactions?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Categorize Transactions need an API key?
No. Categorize Transactions completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 15 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Categorize Transactions?
It answers our handshake in 168 ms on average, which is faster than 78% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Categorize Transactions open source?
The code is open source: it is published under the MIT licence, written in JavaScript, 2 stars on GitHub and 1 open issue. The licence covers the code in the repository, not the hosted service at mcp.zovo.one, which runs on its operator's own terms.