Labsco
MCP SERVER · OFFICIAL PROJECT

Beancount Ledger Editing

by Beancount.io

Runs BQL queries over a plain-text accounting ledger and edits the files in an atomic git commit, with a dry run.

Accounting, Invoicing & BookkeepingOfficial source
Summary
dry_run on the one write tool is the difference between an agent that can help with your books and one that can damage them.

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.

What it is

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.

What you get
  • 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
Requirements

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.

Setup effort

Paste a URL, then authorize — add the endpoint to your client, then approve the OAuth consent screen