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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e1762c84d9f50faa96ca5a7e4cf770a5019d7bcf876518d8a8683f2a92594cd
|
|
| MD5 |
0ef18a5e13097b6ee1fc64a7252146c9
|
|
| BLAKE2b-256 |
3ea4598277f30fef1357dbb93ce55005eab62f97675421fd19b5134c02016757
|
Provenance
The following attestation bundles were made for achlens-0.1.0.tar.gz:
Publisher:
release.yml on mscott9160-web/achlens
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
achlens-0.1.0.tar.gz -
Subject digest:
9e1762c84d9f50faa96ca5a7e4cf770a5019d7bcf876518d8a8683f2a92594cd - Sigstore transparency entry: 2803484643
- Sigstore integration time:
-
Permalink:
mscott9160-web/achlens@f5421a54a170001cf4c2fe8ae915c956c18815fc -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/mscott9160-web
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f5421a54a170001cf4c2fe8ae915c956c18815fc -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a15820c6e03c8c2b61624b4fd0b1ab1b701451411eedd8770d91809fff96a1d
|
|
| MD5 |
b256c006572b9f5bf6746ab120dc2467
|
|
| BLAKE2b-256 |
6be63c4ff649459bb894e3fdf95f073559dc454a0e92b5a12430281093045b9f
|
Provenance
The following attestation bundles were made for achlens-0.1.0-py3-none-any.whl:
Publisher:
release.yml on mscott9160-web/achlens
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
achlens-0.1.0-py3-none-any.whl -
Subject digest:
7a15820c6e03c8c2b61624b4fd0b1ab1b701451411eedd8770d91809fff96a1d - Sigstore transparency entry: 2803484796
- Sigstore integration time:
-
Permalink:
mscott9160-web/achlens@f5421a54a170001cf4c2fe8ae915c956c18815fc -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/mscott9160-web
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f5421a54a170001cf4c2fe8ae915c956c18815fc -
Trigger Event:
push
-
Statement type: