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

In Windows PowerShell, use an explicit ASCII encoding because PowerShell's default > redirection can write UTF-16 output that is not valid ACH text:

uvx achlens generate --sec PPD --entries 5 --seed 7 |
	Set-Content -Encoding ascii 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.1.tar.gz (148.0 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.1-py3-none-any.whl (62.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: achlens-0.1.1.tar.gz
  • Upload date:
  • Size: 148.0 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.1.tar.gz
Algorithm Hash digest
SHA256 e3d54bf1ed7d32c6d1e9948454de4791a57eea45bda71b5983a6f216d6b81e17
MD5 0b1dc2bea7b9e04921c7ccd70a9e9700
BLAKE2b-256 1f503739ee515556679966b0336843d7bbb71d73408459a1ca84ae55725cf1e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for achlens-0.1.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: achlens-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 62.7 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 289a73080365304438266ca4fb78e1b40df47efe8ce9dd3884594670e87012ad
MD5 00dcec3168560f0266525ed0128c7883
BLAKE2b-256 fb6bf3f821e9c85a1ff9ef031333ed9113c5f724a2ccb7f87f84d523376e1d81

See more details on using hashes here.

Provenance

The following attestation bundles were made for achlens-0.1.1-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

This release

0.1.1 This release

2 files

0.1.0

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