Categories › Data & Databases › Files, spreadsheets, CSV & PDFs
Convert PDF bank statements into structured transactions, accounts, and balances.
Remote server: your requests and data go to api.bankstatemently.com. Claude Code: claude mcp add --transport http bankstatemently https://api.bankstatemently.com/mcp · Claude app: Settings → Connectors → Add custom connector.
The tools this server listed when we connected to it, in its own words.
request_upload — Mint a single-use upload URL for pushing a conversation-attached PDF to Bankstatemently before converting it. Use this ONLY when you have noconvert_statement — Convert a bank statement PDF into structured data or a spreadsheet. When the user attaches a PDF in the conversation, it arrives automaticalget_statement — Fetch the full converted data for a previously processed document. Use this after convert_statement returns a "processing" status, or to re-categorize_statement — Run AI transaction categorization on a previously processed document, then return its category mappings. Returns cached categories with no clist_statements — Browse your previously converted bank statements with pagination and optional status filter.dismiss_statement — Hide a failed, rejected, or cancelled document from future list_statements results. Use this only when the user asks to clear a terminal faiadjudicate_transfers — Decide whether ambiguous pairs from list_transfers are transfers. Pass "verdict" when the user has told you; leave it out to let the AI judgadjudicate_outflows — Decide where an "unresolved" debit from list_outflows went (the documents' claims conflict and nothing settles them). Pass "verdict" and "trget_credits — Your remaining Bankstatemently credits — the processing quota, NOT credit/debit transactions. Use for: how many credits do I have, remaininglist_memories — List your memories, default memory first. The default memory covers the whole workspace. Named memories include name, situation and scope. Fcreate_memory — Create a named memory: a scoped lens over your accounts and dates with a user-authored name, optional situation ("bookkeeping", "divorce" orupdate_memory — Rename or rescope an existing named memory, or update its situation. The default memory is immutable. Free to use — no credits consumed.rate_statement — Report how well a previously converted bank statement was parsed: submit a 1-5 rating, optionally with structured feedback at any rating. Yoevaluate_benchmark — Score parsed bank statement transactions against the Bankstatemently benchmark ground truth. Accepts a statement_id (e.g. "bsb-001") or contlist_transactions — A transaction is a single line as printed on one account's statement — one side of any movement. Return a filtered list of transactions acroaggregate — Compute a single metric (sum/average/count/max/min) over a filtered set of transactions across your converted statements. Results are per-cugroup_by — Group transactions by a dimension (month/category/counterparty/account/currency) and apply a metric to each group. Results are per-currency.top_n — Return the top N groups ranked by metric (descending), per-currency for monetary metrics. Scope defaults to all your completed statements; pcompare — Side-by-side metric comparison for two filtered groups of transactions (e.g. one category vs another, one month vs another). Scope defaults time_series — Compute a time series by grouping transactions into week or month buckets and applying a metric — useful for trends. Scope defaults to all ylist_transfers — Match transfers between your own accounts. A transfer is TWO transactions — a debit leaving one of your accounts and a credit arriving in anlist_outflows — Every debit that left your accounts — in no confirmed transfer between your own accounts, and not a fee — each in ONE destination whose kindNot tested by KitScout yet. When our harness runs it, pros, cons and the tasks we tried appear here, with the date and evidence.