Bankstatemently
Convert PDF bank statements into structured transactions, accounts, and balances.
Connect it
Settings → Connectors → Add custom connector
URL: https://api.bankstatemently.com/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://api.bankstatemently.com/mcp{
"mcpServers": {
"bankstatemently-mcp": {
"url": "https://api.bankstatemently.com/mcp",
"headers": {
"X-API-Key": "<YOUR_X_API_KEY>"
}
}
}
}claude mcp add --transport http bankstatemently-mcp https://api.bankstatemently.com/mcp --header "X-API-Key: <value>"{
"servers": {
"bankstatemently-mcp": {
"type": "http",
"url": "https://api.bankstatemently.com/mcp",
"headers": {
"X-API-Key": "<YOUR_X_API_KEY>"
}
}
}
}22 tools, verified live
request_uploadMint 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_url equivalent for this host) â e.g. a code-execution sandbox that can see the file on disk but has no URL for it. Playbook: (1) check your sandbox's uploads/attachments directory first â if the fi
convert_statementConvert 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 pdf_url for a public HTTPS link. If your host has no way to reference the attached file at all (no pdf_file/pdf_url equivalent), call request_upload first and pass its upload_id here instead. The bas
get_statementread-onlyFetch 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 data inline, renderable in chat. The other formats (csv, xlsx, qbo, xero) return a time-limited download link instead: present it as a normal link. data_mode selects which projection of the data you get
categorize_statementRun 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 credits (pooled per page, same rate as the categorize toggle on the website) the first time â free on every re-fetch after. Every response includes a "summary" field: use it as the single source of tru
list_statementsread-onlyBrowse your previously converted bank statements with pagination and optional status filter.
dismiss_statementcan modifyHide 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 is not a delete: it marks the document dismissed and leaves stored data/artifacts untouched.
adjudicate_transfersDecide 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_outflowsDecide 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" out to let the AI judge decide the named rows, or every unresolved row. Returns the updated list_outflows answer.
get_creditsread-onlyYour 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 credit = 1 page of bank statement processing. Also reports your plan's operational limits (max pages per upload, max upload size, daily spend cap) so you can size a multi-file batch correctly before
list_memoriesread-onlyList 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_memoryCreate 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_memorycan modifyRename or rescope an existing named memory, or update its situation. The default memory is immutable. Free to use â no credits consumed.
rate_statementcan modifyReport 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 bankstatemently.com. Calling this again for the same document updates your existing rating without clearing feedback already submitted for it. Returns the stored rating state in the response â there is no
evaluate_benchmarkread-onlyScore 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 accuracy, integrity score, and an overall score. Only statements marked published: true in the catalog can be evaluated â held-out statements return an error. transactions[].originalData is optional
list_transactionsread-onlyA 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 defaults to all your completed statements; pass "scope" to narrow to specific accounts/products and/or a date range. Every response names the scope it actually evaluated (document count + covered date ra
aggregateread-onlyCompute 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 defaults to all your completed statements; pass "scope" to narrow to specific accounts/products and/or a date range. For "how many credits do I have" / processing quota / remaining pages, use get_credits i
group_byread-onlyGroup 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 counterparty, else a printed account mask (â¢â¢1234), else the description's name tokens, so a rail word or reference number never splits one payee; a line with no key groups under "unknown". Scope defaults t
top_nread-onlyReturn 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 date range.
compareread-onlySide-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 specific accounts/products and/or a date range.
time_seriesread-onlyCompute 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 accounts/products and/or a date range.
list_transfersread-onlyMatch 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 and date aligned); account-level successions (an account closing into a successor) are matched too. A payment to an outside party is not a transfer here: only movements with both sides visible in yo
list_outflowsread-onlyEvery 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 mask that names one of your accounts and no matched credit was found: ask for that account's statement), "account" (a printed account mask for an account outside your statements: request that account
Alternatives in Finance & Payments
Compare →NMNorman MCP ServerB
AI-powered bookkeeping and tax filing for entrepreneurs at the heart of the European economy.
FIFiatDockB
MCP marketplace: AI agents buy services from other agents per call in USDC, plus a bank cash-out
KSKenwea — Sandbox Attestation & Agent MarketplaceB
Signed sandbox verdicts on any artifact, plus an agent marketplace. No key, no signup, no payment.
CHChurnkeyB
Read and manage Churnkey cancel flows, retention metrics, and payment recovery
EIEconomy Intel MCPB
Macro data for AI agents: GDP, inflation, unemployment and more (World Bank, US BLS). No keys.
RORoboSystemsB
Accounting knowledge graphs: SEC XBRL filings, QuickBooks ledgers, reports and forecasts over MCP.