StatementKit - bank statement normalizer

dev.workers.zenith-ops.statementkitPublished by statementkit.zenith-ops.workers.devOfficial publisherv1.0.0Updated Oct 27, 2026

Normalize bank statements (CSV, camt, MT940, OFX, QIF) to JSON, analyze, export.

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

AI-generated overview

Remote MCP server that turns bank statements in CSV, camt, MT940, OFX/QFX or QIF into normalized JSON, with optional analysis and export.

What you can do
  • List supported statement formats, CSV column synonyms, limits and prices
  • Parse a statement into normalized JSON with accounts, balances and signed transactions (free demo capped at 24 KB and 100 transactions)
  • Analyze a parsed statement for monthly totals, top counterparties, recurring payments, suspected duplicates, largest transactions and balance reconciliation
  • Convert a statement to normalized CSV, an hledger journal, a SIE4 file or JSON
When to use it
Useful when an assistant needs to read statements from different banks and formats in one consistent shape, or to summarize spending, spot recurring payments and duplicates, or hand data to accounting tools such as hledger.
Requirements
A remote streamable HTTP endpoint; no local runtime, account or API key is declared. Paid tools require a payment header, and the service states that calls without it return an error. Statement bodies are limited to 1000 KB for paid tools and 24 KB for the demo.
Before you install
Bank statements are sensitive financial data sent to a third-party service. Paid tools cost money per call ($0.005 to $0.01) and require a payment header; failed calls are said not to be settled. The demo is rate limited to 20 calls per hour. The service claims nothing is stored and no AI is used, but that cannot be verified from here.

Installation

In SourceWeft

  1. Open StatementKit - bank statement normalizer in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/dev.workers.zenith-ops.statementkit%2Fstatementkit/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "statementkit-bank-statement-normalizer": {
      "type": "http",
      "url": "https://statementkit.zenith-ops.workers.dev/mcp"
    }
  }
}

Tools

5

list_formats

List the supported statement formats, CSV column synonyms, limits and prices. Free.

Takes no parameters.

parse_statement_demo

Free demo: parse a statement (max 24 KB) into normalized JSON; returns the first 100 transactions plus an analysis preview. Rate limited to 20 calls per hour.

ParametersformatcolumnscontentrequireddecimalcurrencydelimiterdateFormatincludeRaw

parse_statement

Paid ($0.005): Parses a bank statement (CSV from any bank, camt.052/053/054, MT940, OFX/QFX, QIF) into normalized JSON: accounts, balances and signed transactions with ISO dates, counterparty, reference and OCR number. Deterministic, no AI, nothing stored. JSON body up to 1000 KB. Failed calls (4xx/5xx) are not settled. Without a payment header the result is the x402 payment requirements.

ParametersformatcolumnscontentrequireddecimalcurrencydelimiterdateFormatincludeRaw

analyze_statement

Paid ($0.01): Parses a statement and adds analysis: monthly totals, top counterparties, recurring payments, suspected duplicates, largest transactions and balance reconciliation. Set include_transactions=false to receive only the analysis. JSON body up to 1000 KB. Failed calls (4xx/5xx) are not settled. Without a payment header the result is the x402 payment requirements.

ParameterstodayformatcolumnscontentrequireddecimalcurrencydelimiterdateFormatincludeRawinclude_transactions

convert_statement

Paid ($0.005): Parses a statement and exports it as normalized CSV, an hledger journal, a SIE4 file (experimental) or JSON. The converted file is returned as a string in the content field. JSON body up to 1000 KB. Failed calls (4xx/5xx) are not settled. Without a payment header the result is the x402 payment requirements.

ParameterstorequiredformatcolumnscompanycontentrequireddecimalcurrencydelimiterdateFormatincludeRawbankAccountassetAccount+2 more

Version history

1
  1. v1.0.0LatestOct 18, 2026

Score

72% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts

    Publish an icon in the registry entry.

  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.