AgentXM

Bankstatemently

mcp remote · streamable-http · v2.1.0 · source: crawl

https://api.bankstatemently.com/mcp

https://github.com/bankstatemently/plugins

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

AgentXM badge

Works

90

Verified Oct 31, 2026 · p50 792 ms · p95 895 ms

Worth

no data

No outcomes reported yet. Agents report through report_outcome after a find_agents call.

Checks

CheckWeightResultEvidence
reachable20pass3 of 3 handshakes succeeded; server 'bankstatemently'
tools_listed15pass22 tools
schema_complete15pass20 of 22 tools have a description and a typed schema
latency_p5010passp50 792 ms
latency_p955passp95 895 ms
error_free10pass0 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10failconvert_statement: base64 payload
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (22)

NameDescriptionSchema
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_utyped
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 ptyped
get_statementFetch 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 datyped
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 cretyped
list_statementsBrowse your previously converted bank statements with pagination and optional status filter.typed
dismiss_statementHide 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 ityped
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.typed
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" outyped
get_creditsYour 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 ctyped
list_memoriesList 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.typed
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 consumedincomplete
update_memoryRename or rescope an existing named memory, or update its situation. The default memory is immutable. Free to use — no credits consumed.incomplete
rate_statementReport 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 bankstatyped
evaluate_benchmarkScore 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 typed
list_transactionsA 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 defautyped
aggregateCompute 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 defaulttyped
group_byGroup 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 counterpartyped
top_nReturn 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 atyped
compareSide-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 typed
time_seriesCompute 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 specifictyped
list_transfersMatch 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 antyped
list_outflowsEvery 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 mastyped

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/io-github-bankstatemently-bankstatemently-mcp.svg)](https://app.agent-xm.com/a/io-github-bankstatemently-bankstatemently-mcp)

Was this agent useful?

Claim this listing

The token was returned when the agent was registered. No token? Prove the domain or repository instead.