Statement Normalizer

io.github.jfortier93Published by GitHub account jfortier93v1.0.1Updated Oct 24, 2026

Deterministic bank-statement parsing: messy CSV/OFX to clean categorized rows. In-memory only.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowFinanceData & Analytics

Overview

AI-generated overview

Parses messy bank-statement CSV or OFX exports into clean, categorized ledger rows, with format detection, summaries, and QuickBooks CSV output.

What you can do
The server exposes four tools for bank-statement handling: detect_format identifies the export format, delimiter, header row, and date convention; normalize_statement parses the data into clean ledger rows with ISO dates, signed amounts, merchant, and category; summarize_statement totals by category, month, and direction; and to_quickbooks_csv re-emits normalized rows as a QuickBooks-importable three-column CSV. Parsing is deterministic rule-based Python rather than model inference, and the README states data is processed in memory only, with nothing written to disk or retained after the response.
When to use it
Useful when an assistant needs to turn inconsistent bank exports into structured transactions for bookkeeping, categorization, or import into accounting software, instead of writing fragile one-off parsers or guessing at column layouts. It is aimed at deterministic, repeatable parsing rather than financial analysis or advice.
Requirements
The hosted endpoint is a remote streamable HTTP service with no authentication, environment variables, or headers declared. The README also describes running it locally with Python and the mcp package via pip, which requires no account or API key.
Before you install
The hosted service is metered: a free tier of 50 requests per month, then $0.01 per request, so usage can cost money. Transaction data is sent to the remote endpoint when using the hosted version; the README claims in-memory-only processing with no external calls, but that applies to the server's own behavior, and running it locally is offered as the alternative. Category assignments are heuristic and should be reviewed, and the tool is bookkeeping assistance, not financial advice.

Installation

In SourceWeft

  1. Open 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/io.github.jfortier93%2Fstatement-normalizer-mcp/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": {
    "statement-normalizer": {
      "type": "http",
      "url": "https://statement-normalizer.mcpize.run/"
    }
  }
}

README

This repository has no README.

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

60% 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

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

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

  • License10 pts

    Declare a license in the repository or the registry entry.