mcpField
O
Open Banking (open-banking.io)

Open Banking (open-banking.io)

本地服务
open-banking.io金融数据011 周前更新

关于 Open Banking (open-banking.io)

Open Banking 是只读 MCP 服务,通过 open-banking.io PSD2 API 获取账户、余额、交易和连接状态。敏感字段使用用户私钥在本地解密,不提供资金转移或授权管理操作。

主要功能

  1. 01列出账户和银行连接
  2. 02获取余额与交易记录
  3. 03在本地解密敏感数据
  4. 04以精确十进制字符串返回金额
  5. 05只读工具与交易分页

适用场景

  1. 01查看多个银行账户的余额
  2. 02汇总指定日期范围内的支出
  3. 03检查连接状态和到期日期

MCP 相关

该服务向 MCP 客户端提供账户、余额、交易和银行连接的只读工具。它通过 Python SDK 和配置的凭据访问 open-banking.io API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbopen-banking-io-mcp.mcpb0.1.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

open-banking.io MCP 服务

一个精简的、只读 Model Context Protocol 服务,适用于 open-banking.io PSD2 API。它让 AI Agent(Claude Desktop、Cursor、 任何 MCP 客户端)能够查询你自己的银行账户,例如 “我的余额是多少?” 和 “总结一下上个月的交易”。

该服务封装了官方 open-banking-io Python SDK, 并继承了其零知识特性:服务只返回密文,所有敏感字段(IBAN、持有人姓名、金额、交易对手)都使用你导出的 私钥在进程内解密。明文绝不会接触第三方;包括大模型在内,只能看到 MCP 客户端发送给它的内容。

工具

工具参数描述
list_accounts—银行账户:银行、国家、IBAN、持有人、显示名称、币种、余额、needs_reconnect 标记
get_balancesaccount_id单个账户的 ISO 20022 余额(ITBD = 已记账,ITAV = 可用)
get_transactionsaccount_id、date_from?、date_to?、limit?(默认 50,最大 500)、offset?交易明细,按时间从新到旧排列,包含交易对手和汇款详情
list_connections—银行连接/授权:状态、valid_until、last_synced_at、账户数量

所有工具均为只读。有意不提供同步、发起支付或管理授权的工具——请参阅限制。

配置

环境变量必填含义
OBI_CREDENTIALS首选从 open-banking.io 应用导出的凭据包的路径(或内联 JSON)——包含 apiBaseUrl、apiKey 和加密私钥
OBI_API_KEY备选不使用凭据包时所用的 API 密钥
OBI_PRIVATE_KEY备选与 OBI_API_KEY 匹配的 Base64 PKCS#8 EC(SECP256R1)私钥
OBI_BASE_URL使用备选项时必填API 基础 URL(凭据包中的 apiBaseUrl);使用分开的环境变量时必填

在应用中选择 → Settings → Credentials,即可导出凭据包文件。

Claude Desktop

claude_desktop_config.json(Claude → Settings → Developer → Edit Config):

{
  "mcpServers": {
    "open-banking-io": {
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/open-banking-io/mcp-server.git",
        "obi-mcp"
      ],
      "env": {
        "OBI_CREDENTIALS": "/absolute/path/to/credentials.json"
      }
    }
  }
}
Cursor

.cursor/mcp.json:

{
  "mcpServers": {
    "open-banking-io": {
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/open-banking-io/mcp-server.git",
        "obi-mcp"
      ],
      "env": {
        "OBI_CREDENTIALS": "/absolute/path/to/credentials.json"
      }
    }
  }
}

需要 uv(curl -LsSf https://astral.sh/uv/install.sh | sh)。 发布到 PyPI 后,可以移除 --from git+… 参数。

在本地运行 / 从源代码运行
git clone https://github.com/open-banking-io/mcp-server.git
cd mcp-server
uv venv && uv pip install -e '.[dev]' --python .venv/bin/python
OBI_CREDENTIALS=/path/to/credentials.json .venv/bin/obi-mcp   # speaks MCP over stdio
.venv/bin/python tests/smoke.py                               # network-free smoke test
uv run --python .venv/bin/python pytest -q                    # full test suite

可向 Agent 提出的问题示例

  • “显示每个账户的已记账余额。”
  • “我 7 月在食品杂货上花了多少钱?”(get_transactions + 分组)
  • “我的哪些银行连接即将过期?”(list_connections)

设计说明

  • 从设计上确保只读。 只公开 SDK 的 get_* 方法。SDK 中虽有 sync/sync_all,但有意不提供;Agent 无法通过此服务转移资金或更改授权。
  • 金额精确。 金额以精确的十进制字符串("1234.56")返回,绝不使用浮点数。
  • 清晰的错误信息。 凭据缺失、日期无效、账户 ID 未知和上游 HTTP 错误都会显示为可操作的工具错误(例如,账户 ID 不存在时列出有效的账户 ID)。
  • 适配上下文窗口。 get_transactions 默认返回 50 条,并限制最多返回 500 条,以保护 Agent 的上下文窗口;使用 offset 分页。

局限性(如实列出)

  • 没有写入工具:无法同步、发起付款或创建/续期授权。授权续期始终在 open-banking.io 应用中进行(PSD2 SCA)。
  • 没有银行/机构目录工具:上游 API(SDK v1.0.0)未提供公开的 ASPSP 搜索端点——如果 API 添加了该端点,再考虑实现。
  • 尚未发布到 PyPI——请通过 uvx --from git+…(见上文)或从源码安装。计划以 open-banking-io-mcp 的名称发布到 PyPI。
  • 数据最小化由你负责:交易信息包含交易对手方和汇款文本;此服务仅供你信任的 MCP 客户端使用,并出于隐私考虑,优先选择本地 MCP 客户端(Claude Desktop/Cursor),而非托管客户端。

封装的 API 接口

SDK 调用HTTP(由 SDK 在后台处理)
get_accounts()GET {apiBaseUrl}/api/accounts
get_transactions(id, from, to, limit, offset)GET {apiBaseUrl}/api/accounts/{id}/transactions
get_connections()GET {apiBaseUrl}/api/connections

身份验证:X-Api-Key 请求头。响应包含零知识信封 (ECDH P-256 → HKDF-SHA256 → AES-256-GCM),由 SDK 在本地解密。 完整的线路格式:clients 仓库 · THREAT_MODEL.md。

许可证

MIT——与 clients SDK 仓库相同。

评论

支持 Markdown

第一次接触 MCP?

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

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