Plain-text accounting is appealing precisely because every change is a diff, and this server keeps that property: edits land as one atomic commit, and the agent can preview exactly what that commit would be before making it. Wire the dry run into your workflow and the model's mistakes stay hypothetical. The scoping matters too — OAuth is per ledger, so a connection reaches one set of books rather than the account.
Beancount.io's endpoint over your ledger repository. Four tools: one query language, two for reading files, and one that writes — as a single git commit.
- runBqlQuery — Beancount Query Language against balances, transactions and accounts
- listLedgerFiles and readLedgerFiles — browse the repository and read the .beancount files
- editLedgerFiles — create, update, replace or delete in one atomic git commit, with a dry_run mode that validates and previews the exact change first
OAuth 2.1 scoped to a ledger, signed in through the browser and auto-refreshed, or a static token from account settings. The server is stateless — it stores nothing between calls.
Paste a URL, then authorize — add the endpoint to your client, then approve the OAuth consent screen