Skip to content

Releases: sebastienrousseau/bankstatementparser-mcp

v0.0.15

Choose a tag to compare

@github-actions github-actions released this 28 Jul 23:25
v0.0.15
0f2b21b

What's Changed

Full Changelog: v0.0.14...v0.0.15

v0.0.14

Choose a tag to compare

@github-actions github-actions released this 18 Jul 15:29
v0.0.14

Changed

  • chore(deps): require bankstatementparser>=0.0.11 (was >=0.0.9),
    keeping the ISO 20022 MCP Suite in lockstep with the 0.0.11 core
    release. No functional or API changes.

v0.0.13

Choose a tag to compare

@github-actions github-actions released this 06 Jul 18:35
v0.0.13
365d59f

The discoverability cut. Registers bankstatementparser-mcp with
the official Model Context Protocol Registry, adds MCP-spec
conformance CI, and positions the server as part of the ISO 20022 MCP
Suite. No functional or API changes.

Added

  • Official MCP Registry integration. bankstatementparser-mcp is
    now registered with the official Model Context Protocol Registry
    (registry.modelcontextprotocol.io) as
    io.github.sebastienrousseau/bankstatementparser-mcp. A new
    server.json at the repo root provides the registry metadata (PyPI
    package identifier, stdio transport), and the README carries an
    mcp-name: io.github.sebastienrousseau/bankstatementparser-mcp
    marker that the registry uses to verify PyPI package ownership.
  • Auto-publish workflow (.github/workflows/publish-mcp.yml).
    Authenticates to the MCP Registry via GitHub OIDC (no secrets
    required) on every v*.*.* tag push, syncs the tag version into
    server.json, and runs mcp-publisher publish. Registry metadata
    now stays in lockstep with each PyPI release automatically.
  • Protocol conformance CI (.github/workflows/mcp-inspect.yml).
    Runs @modelcontextprotocol/inspector --cli against tools/list
    on every push and PR. Green run is the spec-compliance evidence
    bank buyers routinely ask for.
  • Suite discoverability. The README now cross-links the sibling
    banking MCP servers under a "Related MCP Servers" section,
    positioning bankstatementparser-mcp as part of the ISO 20022 MCP
    Suite alongside pain001-mcp, camt053-mcp, acmt001-mcp, and
    noyalib-mcp.

Changed

  • GitHub repository description and topics refreshed: description now
    positions the server as part of the ISO 20022 MCP Suite; topics
    extended with mcp, mcp-server, model-context-protocol, iso20022,
    camt053, mt940, ofx, bank-statement, banking, fintech,
    financial-services, claude, ai-agents, python,
    bankstatementparser (topics were empty before).
  • Glama manifest version bumped to 0.0.13.

No functional / API changes

  • Same 5 MCP tools as v0.0.12. This release is metadata, CI, and
    discoverability only.

v0.0.12

Choose a tag to compare

@github-actions github-actions released this 25 Jun 14:36
dca4e89

Changed

  • Audit pass. Covered main() (removed a # pragma: no cover that masked testable code) and hardened the example-regression discovery to a set-equality check.

v0.0.11

Choose a tag to compare

@github-actions github-actions released this 24 Jun 21:42
69c78d2

Added

  • End-to-end install smoke test - a new smoke job in ci.yml
    ("Smoke test (installed wheel)") builds the wheel, installs it into a
    clean virtual environment (pulling bankstatementparser and mcp
    from PyPI), then imports the installed package and runs an example
    from a neutral working directory so the source tree is not on
    sys.path. This catches packaging and CI-vs-local divergence.
  • Expanded edge-case tests keeping the 100% line + branch coverage
    honest: garbage/malformed payloads across the detect/parse/validate
    paths, the limit parameter at its boundaries (0 and larger than
    the row count), an explicit-but-wrong format, and confirmation that
    validate_statement returns a structured {"is_valid": false, ...}
    error rather than raising.

Changed

  • Pruned over-scaffolding CI - removed the nightly.yml and
    docs.yml workflows (redundant for a small thin-adapter package);
    the kept workflows (ci.yml, pr.yml, codeql.yml, security.yml,
    release.yml, docker.yml) already cover the full quality posture.

v0.0.10

Choose a tag to compare

@github-actions github-actions released this 24 Jun 20:16
bce99a6

Added

  • Initial release of bankstatementparser-mcp, a Model Context Protocol
    (MCP) server that exposes the
    bankstatementparser
    bank statement parsing library as tools for AI agents and assistants.
  • bankstatementparser-mcp console script that runs the FastMCP server
    over stdio.
  • Five MCP tools, all delegating to the bankstatementparser parser
    core so they behave identically to the library:
    • list_supported_formats - list every bank statement format the
      parser can read (camt, pain001, csv, ofx, qfx, mt940).
    • detect_format - detect which statement format an inline payload is.
    • parse_statement - parse a statement into structured transactions
      plus a summary, with an optional row limit.
    • validate_statement - dry-run check whether a statement parses
      cleanly, returning a structured result rather than raising.
    • summarize_statement - return only the statement summary
      (opening/closing balances and currency).
  • One resource (bankstatementparser://formats) describing each
    supported format and its file extensions, and one prompt
    (analyze_statement) guiding an agent through reading and reconciling
    a statement.
  • Tools take inline statement content plus a filename hint and
    materialise it in a private temporary file for the duration of a
    single call, so no shared filesystem is required between client and
    server.
  • Multi-stage Dockerfile - a python:3.12-slim-based image runs
    the server over stdio as a non-root mcp user
    (docker run -i --rm bankstatementparser-mcp).
  • Quality workflows - ci.yml enforces ruff, mypy, the 100% pytest
    coverage gate, and the 100% docstring gate on Python 3.10/3.11/3.12;
    security.yml runs bandit + pip-audit; codeql.yml runs GitHub's
    CodeQL Python analysis.
  • Security policy (SECURITY.md) describing the threat model and
    hardening (private temp files, no network listener, no secrets).
  • scripts/verify_versions.py - pre-release script asserting
    __version__, pyproject.toml, and CHANGELOG.md agree.
  • Python 3.10+ support; depends on bankstatementparser (>=0.0.9) and
    mcp (>=1.2).
  • Quality gates pinned at 100% from the initial release:
    • pytest --cov=bankstatementparser_mcp --cov-branch --cov-fail-under=100
      exercising every line and branch in
      bankstatementparser_mcp/server.py.
    • interrogate --fail-under=100 for module and function docstring
      coverage.
  • Runnable examples under examples/ covering every tool, the
    bankstatementparser://formats resource (formats_resource), and the
    analyze_statement prompt — each self-contained (inline fixtures, no
    network) and exercised by the test suite.
  • Documentation regression suite keeping the docs honest:
    • tests/test_docs_accuracy.py asserts the README, CHANGELOG, and
      examples/README.md match the live tool/resource/prompt registry,
      the package version, and the supported-format set.
    • tests/test_regression_examples.py runs every examples/*.py as a
      subprocess and asserts a clean exit.
    • tests/test_regression_docs.py executes every fenced python
      block in the README (and docs/*.md) so no documented example can
      silently rot.