BeanHub
io.beanhubPublished by beanhub.ioOfficial publisherv1.0.0Updated Oct 24, 2026
Read and update hosted Beancount books over OAuth. No CLI access token.
Overview
Hosted MCP server for BeanHub's Beancount books, letting an assistant read accounts, transactions and balances, and optionally update the ledger over OAuth.
- What you can do
- List books, accounts, entries, files, forms and commits in a hosted Beancount book, and read individual entries and files with their contents and history. Search transactions and check account balances. When updates are enabled, create, update and delete entries, rename accounts, submit forms and update files.
- When to use it
- Useful when your accounting or bookkeeping lives in a hosted BeanHub Beancount book and you want an AI assistant to look up transactions, balances and entries, or to make ledger changes you explicitly allow.
- Requirements
- A BeanHub account with MCP enabled in the account's MCP settings, and an OAuth 2.0 sign-in from the AI app (dynamic client registration, no client secret). The server is a remote endpoint; no local runtime or access token is needed.
Installation
In SourceWeft
- Open BeanHub in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.beanhub%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"beanhub": {
"type": "http",
"url": "https://api.beanhub.io/mcp"
}
}
}README
BeanHub MCP
Listing files for BeanHub's hosted MCP server. This repository is not the server source. The live endpoint is https://api.beanhub.io/mcp.
BeanHub is a hosted Beancount book on Git. An AI app signs in with OAuth, then can list accounts, search transactions, check balances, and update the ledger if you allow it. The app does not use a CLI access token. New connections start read-only.
Enable MCP on your account before you connect: https://app.beanhub.io/mcp/. Full steps: Connect an AI app with MCP.
Files
Each client looks for its own filename. They all point at the same URL.
Do not paste https://app.beanhub.io/mcp/ into an AI app. That page is MCP settings, not the server.
Auth
The server uses OAuth 2.0 with dynamic client registration and token_endpoint_auth_method=none. Do not add a Bearer access token or a static client secret.
What the app can do
Read tools: list_books, list_accounts, search_transactions, get_balances, list_entries, get_entry, list_files, get_file, list_forms, list_commits.
Write tools (only if you turn on updates): create_entries, update_entry, delete_entry, rename_account, submit_form, update_files.
The app cannot mint access tokens, change billing, connect a bank, dump Connect or Inbox data, make a book public, or delete a book.
Public source
The public copy is https://github.com/LaunchPlatform/beanhub-mcp. Cursor, Claude Code, Gemini CLI, and the official registry repository.source field use that GitHub repo.
To pull Amendable updates and push GitHub:
For Gemini CLI gallery, add the GitHub topic gemini-cli-extension.
Official MCP Registry
This repo publishes metadata only for the hosted server https://api.beanhub.io/mcp. The registry name is io.beanhub/mcp. That namespace needs HTTP or DNS proof on beanhub.io, not GitHub OIDC. Docs: remote servers, authentication, GitHub Actions.
Do not run mcp-publisher init. It would overwrite server.json.
devenv
The publisher key is stored in secrets.sops.yaml, encrypted with SOPS using PGP fingerprint A57616E62A499B512EDA662E0FC8D7008588874B. Edit later with sops secrets.sops.yaml. Commit the encrypted file; do not commit key.pem.
The public proof is served from the Hugo site as static/.well-known/mcp-registry-auth. Deploy beanhub.io so https://beanhub.io/.well-known/mcp-registry-auth returns that one line. DNS alternative: TXT on the apex beanhub.io. Then:
mcp-publish reads MCP_PRIVATE_KEY (64 hex chars), decrypts ./secrets.sops.yaml, or falls back to ./key.pem. Default auth method is HTTP. For DNS: MCP_AUTH_METHOD=dns mcp-publish.
Without devenv:
GitHub Actions
CI runs ./scripts/validate-mcp.sh on pulls and pushes to master.
Publish to MCP Registry runs on v* tags and on workflow_dispatch. Create a GitHub Environment named mcp-registry-publish, store MCP_PRIVATE_KEY as an environment secret (not a repo secret), and restrict the environment to master and tags. Then:
A tag v1.0.0 publishes version 1.0.0 (the committed server.json is not rewritten). Versions are immutable. Bump the tag for later metadata-only updates.
Confirm:
Links
- App: https://app.beanhub.io
- Docs: https://docs.beanhub.io/guides/mcp/
- Privacy: https://beanhub.io/privacy-policy
- Terms: https://beanhub.io/terms-of-service
- Support: [email protected]
Source: README.md at commit 494ab90
Tools
0Version history
1- v1.0.0LatestSep 21, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts