Skip to content
Back to search
100
MCP live MCP 2026-07-28 streamable-http

Bankstatemently

io.github.bankstatemently/bankstatemently-mcp

Convert PDF bank statements into structured transactions, accounts, and balances.

Watch this dependency

Get before/after evidence when observed tools, schemas, authentication access, availability or the endpoint changes.

Inspect evidence and set up a watch Share public evidence report
Uptime
100.0%
5 direct probes · 30d
Response
1561ms
last probe
Tools
22
callable
Resources
16
readable
Prompts
4
available
Score: 100/100
Handshake verified by our own probe.
why this score
pass Answers the MCP handshake 50/50
The handshake and the list calls succeeded on the primary URL.
pass Lists tools, resources or prompts 30/30
22 tools, 16 resources, 4 prompts returned.
pass 3 or more catalogue items 10/10
42 items in total; 3 or more earns these points.
pass Describes itself 10/10
81 characters; more than 30 earns these points.

Tools · 22

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 no other way to reference the attached file (no pdf_file/pdf_u…

convert_statement

Convert a bank statement PDF into structured data or a spreadsheet. When the user attaches a PDF in the conversation, it arrives automatically as pdf_file — never encode it yourself. Otherwise, pass p…

get_statement

Fetch the full converted data for a previously processed document. Use this after convert_statement returns a "processing" status, or to re-fetch results. output_format "json" (default) returns the da…

categorize_statement

Run AI transaction categorization on a previously processed document, then return its category mappings. Returns cached categories with no charge if this document was already categorized. Consumes cre…

list_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 failed/rejected/cancelled conversion from their history. This i…

adjudicate_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 judge decide. Returns the updated list_transfers answer.

adjudicate_outflows

Decide where an "unresolved" debit from list_outflows went (the documents' claims conflict and nothing settles them). Pass "verdict" and "transactionIds" when the user has told you; leave "verdict" ou…

get_credits

Your remaining Bankstatemently credits — the processing quota, NOT credit/debit transactions. Use for: how many credits do I have, remaining pages, plan limits, quota, how many pages can I upload. 1 c…

list_memories

List your memories, default memory first. The default memory covers the whole workspace. Named memories include name, situation and scope. Free to use — no credits consumed.

create_memory

Create a named memory: a scoped lens over your accounts and dates with a user-authored name, optional situation ("bookkeeping", "divorce" or "estate"), and ChatScope. Free to use — no credits consumed…

update_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. Your rating counts toward the average ratings shown on banksta…

evaluate_benchmark

Score parsed bank statement transactions against the Bankstatemently benchmark ground truth. Accepts a statement_id (e.g. "bsb-001") or content_hash, plus your parsed transactions. Returns extraction …

list_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 across your converted statements, capped at 50 rows. Scope defau…

aggregate

Compute a single metric (sum/average/count/max/min) over a filtered set of transactions across your converted statements. Results are per-currency — never sum across currencies yourself. Scope default…

group_by

Group transactions by a dimension (month/category/counterparty/account/currency) and apply a metric to each group. Results are per-currency. The "counterparty" dimension keys on the printed counterpar…

top_n

Return the top N groups ranked by metric (descending), per-currency for monetary metrics. Scope defaults to all your completed statements; pass "scope" to narrow to specific accounts/products and/or a…

compare

Side-by-side metric comparison for two filtered groups of transactions (e.g. one category vs another, one month vs another). Scope defaults to all your completed statements; pass "scope" to narrow to …

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 your completed statements; pass "scope" to narrow to specific…

list_transfers

Match transfers between your own accounts. A transfer is TWO transactions — a debit leaving one of your accounts and a credit arriving in another — matched as two sides of the same movement (amount an…

list_outflows

Every debit that left your accounts — in no confirmed transfer between your own accounts, and not a fee — each in ONE destination whose kind is also its next step: "own-account" (a printed account mas…

Resources · 16

benchmark-catalog

Bankstatemently Open Benchmark for bank statement parsing — 15 synthetic statements across 3 difficulty tiers, 12 countries, 9 languages, and 30+ parsing challenges.

benchmark://catalog
bsb-001 — basic (SG/SGD)

Singapore standard format with separate credit/debit columns and dedicated account summary page

benchmark://statements/bsb-001
bsb-002 — basic (US/USD)

US credit card with inverted signs, posting dates, and wrapped merchant descriptions

benchmark://statements/bsb-002
bsb-003 — basic (NL/EUR)

European format with comma decimal separator and period thousands

benchmark://statements/bsb-003
bsb-004 — basic (HK/HKD)

Hong Kong bank statement with separate account tables, credit/debit columns, multi-line descriptions, and value date

benchmark://statements/bsb-004
bsb-005 — basic (CA/CAD)

French Canadian bank statement with dates embedded in description, two-digit years, credit-debit columns, and space thousands separator

benchmark://statements/bsb-005
bsb-006 — intermediate (MX/MXN)

Mexican bank statement with Spanish headers, dual balance timeline, and partial-year dates

benchmark://statements/bsb-006
bsb-007 — intermediate (CA/CAD)

Canadian credit card with French headers, split date columns, and cashback sections

benchmark://statements/bsb-007
bsb-008 — intermediate (AU/AUD)

Australian bank statement with date-time dual columns, scanned PDF, and date format variations

benchmark://statements/bsb-008
bsb-009 — intermediate (GB/GBP)

UK bank statement with value date column, currency symbol amounts, and no table grid lines

benchmark://statements/bsb-009
bsb-010 — intermediate (IN/INR)

Indian bank stress test with 500 transactions, payment method column, and pagination challenges

benchmark://statements/bsb-010
bsb-011 — advanced (HK/HKD)

Hong Kong bilingual statement with multiple accounts, multi-currency, and end-of-day balance

benchmark://statements/bsb-011
bsb-012 — advanced (SG/SGD)

Singapore credit card with Chinese-only headers, inverted sign convention, scanned PDF, and fee sections

benchmark://statements/bsb-012
bsb-013 — advanced (KZ/KZT)

Kazakhstan multi-currency statement with 9-column layout, fee column, and dual currency display

benchmark://statements/bsb-013
bsb-014 — advanced (TH/THB)

Thai bilingual statement with Buddhist era dates, payment method column, and balance validation

benchmark://statements/bsb-014
bsb-015 — advanced (MY/MYR)

Malaysian bilingual credit card with header-only currency symbol, scanned PDF, and multiple tables

benchmark://statements/bsb-015

Prompts · 4

convert_statement_workflow

Use when the user attaches a bank statement PDF or asks for CSV/XLSX/QBO/Xero export of a converted statement. Do not use for spending analysis, reconciliation, or benchmark scoring — those have their…

analyze_spending

Use when the user asks to categorize spending, group by merchant or category, rank top merchants, or show monthly trends on converted statements. Do not use for first-time PDF conversion, period recon…

reconcile_statements

Use when the user asks to check statement coverage, missing periods, balance continuity, or cross-account transfers. Do not use for converting a new PDF, spending categorization, or benchmark scoring.

benchmark_accuracy

Use when the user asks to convert and score a published Bankstatemently benchmark statement. Do not use for ordinary user-statement conversion, spending analysis, or reconciliation.

How to use

Add to your Claude Desktop / Cursor / Cline MCP config:

{
  "mcpServers": {
    "bankstatemently": {
      "url": "https://api.bankstatemently.com/mcp",
      "transport": "streamable-http"
    }
  }
}