Agents are being handed money jobs: booking invoices, reconciling accounts, keeping a company's books. Give one a spreadsheet and nothing stops a confident, unbalanced entry. Aethelgard Ledger puts a real accounting engine behind a set of MCP tools, and the engine enforces the rules.
Free evaluation build · Windows, macOS, Linux · Business use only
Language models are fluent and usually right. Accounting has no room for "usually". This is an agent trying to post £500 of debits against £400 of credits, and the ledger's actual response:
→ post_transaction Bank Dr 500.00 Rental income Cr 400.00 REJECTED by ledger engine: Journal entries do not balance: debits 500.00000000 ≠ credits 400.00000000
Nothing was written. The agent gets the reason back, corrects the journal and tries again. The rule lives in the ledger, not in the prompt.
It is the same engine that runs the Aethelgard desktop ledger, used by people who keep books across companies, trusts and property. It was built by a qualified accountant, and it behaves like one.
Every journal must balance before it posts. If debits and credits differ by a penny, the engine refuses the posting and tells the agent why. It does not warn and carry on.
Companies, trusts and individuals, each with its own chart of accounts and trial balance, and subsidiaries linked to a parent with a combined group trial balance. (This is a straight sum by account code. Full consolidation, with eliminations, lives in the desktop app.)
Every posting is linked into a per-entity SHA-256 hash-chain, so an entry edited outside the engine fails the integrity check. The chain is unkeyed, so verify_integrity returns the latest chain hash for you to record somewhere outside the ledger.
The ledger is a file on your computer, and nothing in it is sent to us. The AI model you connect sees whatever the tools return to it, under that provider's terms, so choose it accordingly.
create_entity A company, trust or individual, optionally as a subsidiary of a parent create_account An account in the entity's chart post_transaction A double-entry journal; unbalanced journals are rejected list_entities Every entity in the ledger list_accounts An entity's chart of accounts list_transactions Postings with every journal line, by date range trial_balance Trial balance for one entity consolidate Combined trial balance for a parent and its direct subsidiaries, summed by account code (no intercompany eliminations) verify_integrity Check the hash-chain and return the latest chain hash Download the bundle and open it. Claude Desktop installs the right build for Windows, macOS or Linux.
Download the .mcpb bundleDownload the build for your platform from the release page, then add it as a local server:
claude mcp add aethelgard-ledger -- /path/to/aethelgard-mcp
Listed in the official MCP Registry as finance.aethelgard/ledger.
The Windows build is signed by Aethelgard Finance Ltd, and the macOS build is signed and
notarized by Apple. Setup details are in the README.
It is an evaluation build. The ledger file is not encrypted yet, and its output must not be relied on without independent verification. Use it to find out whether an agent with real accounting guardrails changes what you can build. Don't use it as your system of record.
It is a ledger, not a finance stack. It has no bank feeds, FX revaluation or tax computations through these tools. The full engine, with all of that, is in the Aethelgard desktop app.
It runs locally, over stdio. A hosted, multi-tenant version is not built. If your use case needs one, that is exactly what we want to hear in a pilot conversation.
It is not advice. It enforces double-entry and reports what was posted. Whether the postings are right for your business is still a judgement for you and your accountant.
We are talking to a small number of teams about what an accounting layer for agents needs to be. Tell us what you're building. We read every one.
Free for evaluation under the Aethelgard Ledger Evaluation Licence, business use only. Commercial licensing: contact@aethelgard.finance