Skip to main content

achlens

achlens is a local-first Python MCP server and CLI for inspecting synthetic ACH files. It parses fixed-width records, validates structure and control totals, explains findings, masks sensitive fields, repairs derived controls, and generates deterministic test files. It never transmits ACH files or makes bank/network calls.

Use synthetic data only. This project is not a bank gateway, compliance advisor, or transmission system.

Quick Start

uv sync
uv run achlens --help
uv run achlens validate tests/fixtures/golden/sample_valid.ach
uv run achlens generate --sec PPD --entries 5 --seed 7 > synthetic.ach

Run the MCP server over stdio:

uv run achlens serve

The MCP server exposes validation, summaries, parsed-record paging, control explanations, routing checks, code lookup, synthetic generation, and control repair. See docs/tools.md for the current tool surface.

Sensitive fields are masked by default. Configure ACHLENS_ALLOWED_ROOTS to enable MCP path inputs; otherwise provide file content directly. See SECURITY.md for the data and write boundaries.

Development

This project uses uv.

uv sync
uv run achlens --help
uv run pytest -q
uv run ruff check .
uv run ruff format --check .
uv run mypy --strict src

Never add real payment data, account numbers, or ACH files to this repository.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

achlens-0.1.0.tar.gz (144.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

achlens-0.1.0-py3-none-any.whl (59.8 kB view details)

Uploaded Python 3

File details

Details for the file achlens-0.1.0.tar.gz.

File metadata

  • Download URL: achlens-0.1.0.tar.gz
  • Upload date:
  • Size: 144.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for achlens-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9e1762c84d9f50faa96ca5a7e4cf770a5019d7bcf876518d8a8683f2a92594cd
MD5 0ef18a5e13097b6ee1fc64a7252146c9
BLAKE2b-256 3ea4598277f30fef1357dbb93ce55005eab62f97675421fd19b5134c02016757

See more details on using hashes here.

Provenance

The following attestation bundles were made for achlens-0.1.0.tar.gz:

Publisher: release.yml on mscott9160-web/achlens

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file achlens-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: achlens-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 59.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for achlens-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a15820c6e03c8c2b61624b4fd0b1ab1b701451411eedd8770d91809fff96a1d
MD5 b256c006572b9f5bf6746ab120dc2467
BLAKE2b-256 6be63c4ff649459bb894e3fdf95f073559dc454a0e92b5a12430281093045b9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for achlens-0.1.0-py3-none-any.whl:

Publisher: release.yml on mscott9160-web/achlens

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.1

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page