mcpField
B
BeanHub

BeanHub

远程服务
docs.beanhub.io金融数据05 周前更新

关于 BeanHub

BeanHub 是面向 Beancount 账簿用户的托管服务 MCP 接口,AI 应用通过 OAuth 访问账簿。连接默认只读,可在启用更新后修改账簿。

主要功能

  1. 01OAuth 登录,无需 CLI 访问令牌
  2. 02查看账户、交易与余额
  3. 03读取账簿条目和文件
  4. 04启用后更新账簿内容

适用场景

  1. 01查询账簿账户和余额
  2. 02搜索交易并查看条目
  3. 03允许 AI 应用修改账簿

MCP 相关

该托管 MCP 服务通过 OAuth 连接 BeanHub 账簿,提供读取工具;启用更新后也提供写入工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://api.beanhub.io/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;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.jsonCursor 插件和 Agent Plugins
.mcp.jsonClaude Code 插件
plugin.jsonAgent Plugins
.cursor-plugin/plugin.jsonCursor Marketplace
.claude-plugin/plugin.jsonClaude Code 插件
.claude-plugin/marketplace.jsonClaude Code marketplace 目录
gemini-extension.jsonGemini 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"

链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。