Skip to content
Agentmart
Submit a tool

Beancount.io

Query, edit, and reconcile a hosted Beancount ledger: BQL, reports, files, and bank imports.

Connector by beancount.ioOfficial · Domain verified by the MCP Registry

IndexedMITRemote (HTTP)★ 312
Write a review

Install

Works with Claude Code, VS Code, Cursor, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install connector/beancount-io-beancount

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://beancount.io/api-gateway/mcp Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Query, edit, and reconcile a hosted Beancount ledger: BQL, reports, files, and bank imports.

Use cases: finance-accounting, document-processing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
14 read · 13 write · 10 delete
Secrets
None asked for
Install scripts
Nothing to install (hosted)
Runs as
Hosted (remote endpoint)

Tools by what they do 37

Read from the source code; the running server may list different tools.

Read 14 · Look things up without changing anything.

  • checkLedger
  • getEntryContext
  • getLedgerContext
  • listBankConnections
  • listLedgerEntries
  • listLedgerFiles
  • listLedgers
  • listStagedBankTransactions
  • previewLedgerSetup
  • readLedgerFiles
  • reconcile-account
  • runBqlQuery
Show 2 more tools
  • runBqlQueryStructured
  • spending-report

Write 13 · Create, change, send or run things.

  • addLedgerEntries
  • appendLedgerText
  • categorize-imports
  • close-month
  • createLedger
  • createPullRequest
  • generateTempAssetUploadUrl
  • insertReceiptTransaction
  • parseFile
  • parseReceipt
  • refreshManagedPrices
  • renameLedgerFile
Show 1 more tools
  • setLedgerStar

Delete 10 · Delete, drop, revoke or wipe things.

  • deleteEntrySource
  • deleteEntrySources
  • deleteLedger
  • leaveLedger
  • mergePullRequest
  • rejectPullRequest
  • removeLedgerCollaborator
  • setLedgerCollaborator
  • updateEntrySource
  • updateLedger

Network hosts it talks to 1

  • beancount.io · found in remote endpoint, install command

Files it touches

  • Any path the agent passes to its tools

Tools (37)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • addLedgerEntriesAdd Structured Ledger Entries

    Append entries [{type,entry}]. Supports transaction, commodity, price, note, balance, open, close, budget, document, event. Budget interval uses lowercase daily/weekly/monthly/quarterly/yearly. One posting per transaction may omit its amount and is written elided. An unbalanced transaction is refused with UNBALANCED, and entries that would add bean-check errors (a second open for an open account, a balance against an unopened account), or a budget for an account the ledger lacks, with VALIDATION_FAILED naming each error, unless allowInvalid records them deliberately. ledger is required unless …

  • appendLedgerTextAppend Beancount Directive Text

    Description is built at runtime.

  • categorize-importsCategorize Staged Bank Transactions

    Sync a linked bank, deduplicate the staged transactions against what the ledger already holds, propose a counter-account for each from the ledger's own history, and write the confirmed ones.

  • checkLedgerCheck Ledger Validityread-only

    Check one ledger's validity in one call: bean-check errors with file and line, entry counts per directive type, and the latest commit.

  • close-monthClose The Month

    Month-end close ritual: reconcile active accounts, verify balance assertions, check recurring-entry completeness, sweep flagged entries, and report the period's P&L. Reports what it cannot verify instead of forcing a tie-out.

  • createLedgerCreate Ledger

    Create a ledger owned by the authenticated user. Requires name; accepts description, private, template (STARTER default, including null: options and accounts without transactions; SAMPLE: demonstration transactions), a setup specification (mutually exclusive with template), and a requestId for idempotent retries.

  • createPullRequestCreate Pull Request

    Propose a set of file changes as a pull request. Requires title, description, clearCommitMessage, and changes [{path,content}]; an omitted baseBranch targets main. A repository server failure is SERVICE_UNAVAILABLE naming the failed step.

  • deleteEntrySourceDelete Entry Sourcecan change or delete data

    Delete one entry's source text, addressed by entryHash (listLedgerEntries' entry_hash) and sha256sum from getEntryContext. A write that would add a bean-check error the ledger did not have — deleting an entry a balance assertion depends on, re-dating it past one — is refused with VALIDATION_FAILED naming each new error; pass allowInvalid: true to commit it anyway.

  • deleteEntrySourcesDelete Several Entry Sourcescan change or delete data

    Delete several entries' source text in one commit; entries is a list of {entryHash, sha256sum}. Returns the deleted count. A write that would add a bean-check error the ledger did not have — deleting an entry a balance assertion depends on, re-dating it past one — is refused with VALIDATION_FAILED naming each new error; pass allowInvalid: true to commit it anyway.

  • deleteLedgerDelete Ledgercan change or delete data

    Permanently delete a ledger, including its history.

  • generateTempAssetUploadUrlCreate Temporary Asset Upload URL

    Create a presigned PUT URL bound to the current user. Optional filename and mimeType preserve the upload metadata. Upload the bytes to uploadUrl before using objectKey in an ingestion workflow.

  • getEntryContextRead Entry Source Contextread-only

    Read the source context around one entry, addressed by the entry_hash listLedgerEntries returns; updateEntrySource and deleteEntrySource take the same hash and this result's sha256sum. Same data as the entry-context resource. A result with `generated_from` is a copy a plugin or a pad generated from that source entry (amortize_over, forecast, padding): it shares the source's slice and sha256sum, so editing or deleting it would change the source and every other copy; address the `generated_from` entry instead.

  • getLedgerContextRead Ledger Vocabularyread-only

    Read a ledger's working vocabulary in one call: attributes, open accounts, currencies, payees, years, and source files. Counts accompany truncated lists so a large ledger does not flood context.

  • insertReceiptTransactionInsert Receipt Transaction

    Promote the caller-owned temporary receipt named by receiptObjectKey into receipt storage and append the confirmed transaction. input carries date, payee, description, postings [{account,amountNumber,amountCurrency}], and documentAccount. ledger is required unless pinned. Applies immediately.

  • leaveLedgerLeave Ledgercan change or delete data

    Remove the authenticated user's own access to a ledger they collaborate on.

Show 22 more tools
  • listBankConnectionsList Linked Banks And Their Accountsread-only

    List linked bank connections (item_id) and their accounts (account_id), the ids the bank sync, import, and connection tools take.

  • listLedgerEntriesList Journal Entriesread-only

    List journal entries, each with the entry_hash getEntryContext, updateEntrySource, and deleteEntrySource take. Narrows by account, filter, time, and directiveTypes; pages with limit and offset; total counts every match. Same data as the journal resource.

  • listLedgerFilesList Ledger Files & Directoriesread-only

    Description is built at runtime.

  • listLedgersList Accessible Ledgersread-only

    List the ledgers this credential can reach — every one when `page` and `limit` are omitted. A pinned credential returns its one ledger; for an unpinned credential, ledger tools take one of these as `ledger: owner/name`.

  • listStagedBankTransactionsList Bank Transactions Staged For Importread-only

    List bank transactions staged for import. Each row's `transactionId` — not its `id` — is what importStagedBankTransactions and discardStagedBankTransactions take; optional accountId filter.

  • mergePullRequestMerge Pull Requestcan change or delete data

    Merge a pull request into its base branch; the merge applies immediately. A merge that would take a free ledger past its directive limit is RESOURCE_LIMIT_REACHED. A repository server failure is SERVICE_UNAVAILABLE naming the failed step.

  • parseFileParse Uploaded File

    Parse a caller-owned temporary upload into transaction rows. s3ObjectKey comes from the upload operation; fileFormat names the format (csv, pdf, xlsx, json, etc.). Consumes AI quota. Does not write ledger entries.

  • parseReceiptParse Receipt and Recommend Accounts

    Parse the caller-owned temporary image/PDF named by objectKey and recommend accounts. Pinned credentials may omit ledger; others must select it. Consumes extraction and recommendation tokens, without inserting entries.

  • previewLedgerSetupPreview Ledger Setupread-only

    Preview a ledger setup (ADR021) without creating anything: returns the files, account list, and validation result the specification would produce. Accepts the same setup object as createLedger.

  • readLedgerFilesRead Ledger File Contentsread-only

    Description is built at runtime.

  • reconcile-accountReconcile An Account Against A Statement

    Diff one account against one statement period, classify every discrepancy, and — after confirmation — append the missing transactions plus a period-end balance assertion that proves the account ties out.

  • refreshManagedPricesRefresh Managed Price Feeds

    Re-fetch the ledger's managed price feeds now and return each source's status (the ledgerManagedPrices records). Never edits the ledger. ledger is required unless pinned.

  • rejectPullRequestReject Pull Requestcan change or delete data

    Reject a pull request by closing it without merging; applies immediately.

  • removeLedgerCollaboratorRemove Ledger Collaboratorcan change or delete data

    Remove a collaborator's access to a ledger.

  • renameLedgerFileRename Ledger File

    Move oldPath to newPath preserving content in one atomic commit. Refuses when oldPath is still `include`d unless updateIncludes rewrites those lines in the same commit. Pinned credentials can omit ledger.

  • runBqlQueryRun Beancount Query (BQL)read-only

    Description is built at runtime.

  • runBqlQueryStructuredRun BQL with Typed Resultsread-only

    Execute BQL and return the typed table (column names, types, and rows) or structured text result. Uses the same query contract as REST JSON and GraphQL queryShell.

  • setLedgerCollaboratorAdd or Update Ledger Collaboratorcan change or delete data

    Add a collaborator to a ledger, or change an existing collaborator's permission (read, write, or admin).

  • setLedgerStarStar or Unstar a Ledger

    Set starred:true to star a ledger or false to unstar it for the authenticated user. ledger selects owner/name and defaults to the credential pin.

  • spending-reportReport On Spending

    Answer analytical questions about the ledger with shown, re-runnable BQL — spending, trends, net worth, burn rate, subscriptions. Strictly read-only; every figure comes from a query the user can see.

  • updateEntrySourceUpdate Entry Sourcecan change or delete data

    Replace one entry's source text with newContent, addressed by entryHash (listLedgerEntries' entry_hash) and sha256sum from getEntryContext. Returns the entry's new hash as newEntryHash; the request's entryHash is stale after the commit. A replacement that would take a free ledger past its directive limit is RESOURCE_LIMIT_REACHED. A write that would add a bean-check error the ledger did not have — deleting an entry a balance assertion depends on, re-dating it past one — is refused with VALIDATION_FAILED naming each new error; pass allowInvalid: true to commit it anyway.

  • updateLedgerUpdate Ledger Settingscan change or delete data

    Change a ledger's name, description, or privacy; omitted fields stay as they are.

Signals

Stars
312
Forks
39
Open issues
1
Last commit (this folder)
Oct 24, 2026 (5 days ago)
Last release
Oct 5, 2026 (24 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.beancount/beancount
Version
1.0.0
Auth
Auth not stated
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026
Cite this page

Beancount.io MCP server. Agent Mart. https://agentmart.dev/connectors/beancount-io-beancount (last updated 2026-10-25)