关于 BeanHub
BeanHub 是面向 Beancount 账簿用户的托管服务 MCP 接口,AI 应用通过 OAuth 访问账簿。连接默认只读,可在启用更新后修改账簿。
主要功能
- 01OAuth 登录,无需 CLI 访问令牌
- 02查看账户、交易与余额
- 03读取账簿条目和文件
- 04启用后更新账簿内容
适用场景
- 01查询账簿账户和余额
- 02搜索交易并查看条目
- 03允许 AI 应用修改账簿
MCP 相关
该托管 MCP 服务通过 OAuth 连接 BeanHub 账簿,提供读取工具;启用更新后也提供写入工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://api.beanhub.io/mcpclaude mcp add --transport http io-beanhub https://api.beanhub.io/mcp{"mcpServers":{"io-beanhub":{"type":"http","url":"https://api.beanhub.io/mcp"}}}在 Cursor 中打开{"servers":{"io-beanhub":{"type":"http","url":"https://api.beanhub.io/mcp"}}}在 VS Code 中打开{"mcpServers":{"io-beanhub":{"type":"http","url":"https://api.beanhub.io/mcp"}}}{"mcpServers":{"io-beanhub":{"serverUrl":"https://api.beanhub.io/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
BeanHub MCP
列出 BeanHub 托管的 MCP 服务的文件。本仓库不是服务的源代码。线上端点为 https://api.beanhub.io/mcp。
BeanHub 是托管在 Git 上的 Beancount 账簿。AI 应用通过 OAuth 登录后,可以列出账户、搜索交易、查看余额,并在你允许的情况下更新账簿。该应用不会使用 CLI 访问令牌。新连接默认只读。
连接前,请先在账户中启用 MCP:https://app.beanhub.io/mcp/。完整步骤:使用 MCP 连接 AI 应用。
文件
每个客户端都会查找自己的文件名。它们都指向同一个 URL。
| 文件 | 使用方 |
|---|---|
server.json | 官方 MCP Registry(io.beanhub/mcp) |
mcp.json | Cursor 插件和 Agent Plugins |
.mcp.json | Claude Code 插件 |
plugin.json | Agent Plugins |
.cursor-plugin/plugin.json | Cursor Marketplace |
.claude-plugin/plugin.json | Claude Code 插件 |
.claude-plugin/marketplace.json | Claude Code marketplace 目录 |
gemini-extension.json | Gemini CLI gallery |
不要将 https://app.beanhub.io/mcp/ 粘贴到 AI 应用中。该页面是 MCP 设置页面,不是服务。
身份验证
该服务使用 OAuth 2.0,并采用动态客户端注册和 token_endpoint_auth_method=none。不要添加 Bearer 访问令牌或静态客户端密钥。
应用可以执行的操作
读取工具:list_books、list_accounts、search_transactions、get_balances、list_entries、get_entry、list_files、get_file、list_forms、list_commits。
写入工具(仅在你启用更新后可用):create_entries、update_entry、delete_entry、rename_account、submit_form、update_files。
应用无法创建访问令牌、更改账单、连接银行、导出 Connect 或 Inbox 数据、公开账簿或删除账簿。
公共源代码
公开副本位于 https://github.com/LaunchPlatform/beanhub-mcp。Cursor、Claude Code、Gemini CLI 和官方 Registry 的 repository.source 字段均使用该 GitHub 仓库。
要拉取 Amendable 更新并推送到 GitHub:
cd beanhub-mcp
git fetch origin
git merge origin/master
git push github master
对于 Gemini CLI gallery,请添加 GitHub 主题 gemini-cli-extension。
官方 MCP Registry
本仓库仅为托管服务 https://api.beanhub.io/mcp 发布元数据。Registry 名称为 io.beanhub/mcp。该命名空间需要在 beanhub.io 上通过 HTTP 或 DNS 进行证明,而不是使用 GitHub OIDC。文档:远程服务、身份验证、GitHub Actions。
不要运行 mcp-publisher init。这会覆盖 server.json。
devenv
direnv allow # or: devenv shell
mcp-validate
mcp-gen-auth # encrypts MCP_PRIVATE_KEY into secrets.sops.yaml + gitignored mcp-registry-auth
发布者密钥存储在 secrets.sops.yaml 中,并使用 SOPS 和 PGP 指纹 A57616E62A499B512EDA662E0FC8D7008588874B 加密。之后可使用 sops secrets.sops.yaml 编辑。提交加密文件;不要提交 key.pem。
公共证明由 Hugo 网站通过 static/.well-known/mcp-registry-auth 提供。部署 beanhub.io,使 https://beanhub.io/.well-known/mcp-registry-auth 返回该单行内容。DNS 替代方案:在顶级域名 beanhub.io 上添加 TXT 记录。然后:
mcp-publish
mcp-publish 会读取 MCP_PRIVATE_KEY(64 个十六进制字符),解密 ./secrets.sops.yaml;如果失败,则使用 ./key.pem。默认身份验证方法为 HTTP。使用 DNS 时:MCP_AUTH_METHOD=dns mcp-publish。
不使用 devenv 时:
./scripts/validate-mcp.sh
./scripts/gen-mcp-registry-auth.sh
./scripts/publish-mcp.sh
GitHub Actions
CI 会在向 master 推送或提交拉取请求时运行 ./scripts/validate-mcp.sh。
Publish to MCP Registry 会在 v* 标签和 workflow_dispatch 时运行。创建一个名为 mcp-registry-publish 的 GitHub Environment,将 MCP_PRIVATE_KEY 存储为 环境 密钥(而非仓库密钥),并将该环境限制为 master 和标签。然后:
git tag v1.0.0
git push github v1.0.0
标签 v1.0.0 会发布版本 1.0.0(不会改写已提交的 server.json)。版本不可变。之后仅更新元数据时,请升级标签。
确认:
curl -sS "https://registry.modelcontextprotocol.io/v0.1/servers?search=io.beanhub/mcp"
链接
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。