
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.
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.
Installation
In SourceWeft
- Open Statement Normalizer in the dashboard and add it to a workspace.
- 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.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
0Version history
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.