关于 bank-mcp
bank-mcp 是通过 TrueLayer Open Banking 读取英国银行和银行卡数据的非官方 MCP 服务,面向需要在 MCP 客户端中查询自有账户信息的用户。它仅申请只读权限,不能转账。
主要功能
- 01列出已关联银行及授权期限
- 02查询账户与银行卡
- 03读取余额
- 04按日期和分页查询交易
- 05查看待处理交易
适用场景
- 01在客户端查看银行和银行卡余额
- 02按日期筛选账户交易
- 03检查待处理交易及银行授权期限
MCP 相关
该 MCP 服务提供五种只读工具,用于列出连接、账户、余额、交易和待处理交易。可通过 stdio 连接 MCP 客户端,也可按 README 所述部署为受 Cloudflare Access 保护的远程 Worker。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
bank-mcp
通过 TrueLayer 开放银行服务,为你自己的英国银行账户和银行卡数据提供非官方、只读的 MCP 服务。它可以读取账户、银行卡、余额和交易记录,但无法转账:始终只请求读取权限范围。
与 TrueLayer 或任何银行均无关联。关联真实账户前,请先阅读 SECURITY.md。
Setup
需要 Python 3.11+ 和 uv(或 pip)。
git clone https://github.com/pritch56/bank-mcp.git
cd bank-mcp
uv sync
uv run bank-mcp-link --help
也可以使用 pip install . 将软件包安装到任意环境中;这会提供 bank-mcp(服务)和 bank-mcp-link(银行关联)命令。
Get TrueLayer credentials
- 在 TrueLayer Console 创建免费账户。
- 创建应用并记下其 client ID 和 client secret。先使用沙盒,然后切换到正式环境。
- 在应用设置中,添加以下 redirect URI:
http://localhost:3000/callback(如果更改--port,请使用相同的端口)。 - 确保已启用 Data API,并配置以下权限范围:
info accounts cards balance transactions offline_access。 - 在运行
bank-mcp-link的 shell 中导出凭据:
export TRUELAYER_CLIENT_ID=your-client-id
export TRUELAYER_CLIENT_SECRET=your-client-secret
export TRUELAYER_ENV=sandbox # or "live" (the default)
切勿提交这些值。.env 文件已加入 git 忽略规则。
Link a bank
bank-mcp-link 会在浏览器中打开银行的登录页面,并将生成的令牌以你选择的昵称保存。你可以关联多家银行。
# Sandbox (no real bank needed)
uv run bank-mcp-link --provider mock --name test --sandbox
# A real bank: use its TrueLayer provider id, for example ob-nationwide
uv run bank-mcp-link --provider ob-nationwide --name nationwide
uv run bank-mcp-link --list # linked banks and consent expiry
uv run bank-mcp-link --remove nationwide # forget a bank
如果浏览器没有打开,请复制终端中显示的 URL。关联流程会等待重定向,最长五分钟。
英国开放银行授权有效期为 90 天。授权过期后,工具会返回 Reconnect required for '<bank>';请针对该银行再次运行 bank-mcp-link。
令牌保存在 ~/.bank-mcp/tokens.json 中,只有你自己可以读取。
Configure your MCP client
将 /path/to/bank-mcp 替换为你的代码库路径。服务会从其环境中读取相同的 TRUELAYER_* 凭据,并使用关联每家银行时记录的提供方 ID 和环境。
Claude Desktop
将以下内容添加到 claude_desktop_config.json(Settings > Developer > Edit Config),然后重启 Claude Desktop:
{
"mcpServers": {
"bank": {
"command": "uv",
"args": ["run", "--directory", "/path/to/bank-mcp", "bank-mcp"],
"env": {
"TRUELAYER_CLIENT_ID": "your-client-id",
"TRUELAYER_CLIENT_SECRET": "your-client-secret",
"TRUELAYER_ENV": "live"
}
}
}
}
Claude Code
claude mcp add bank \
--env TRUELAYER_CLIENT_ID=your-client-id \
--env TRUELAYER_CLIENT_SECRET=your-client-secret \
--env TRUELAYER_ENV=live \
-- uv run --directory /path/to/bank-mcp bank-mcp
Host it on Cloudflare Workers
如需通过远程方式运行服务,而非使用 stdio,请参阅 worker/README.md:这是一个使用 Workers KV 存储令牌,并由 Cloudflare Access 保护的 TypeScript Worker。
Tools
bank-mcp(stdio)提供五个只读工具。除 list_connections 外,每个工具都接受一个可选的 bank 昵称;省略该参数即可查询所有已关联的银行。
| 工具 | 返回内容 |
|---|---|
list_connections | 已关联的银行及授权到期时间 |
list_accounts | 账户和银行卡 |
get_balance | 余额(可选指定一个 account_id) |
list_transactions | since/before 日期、limit/offset 分页、include_pending |
list_pending | 待处理交易 |
查询所有银行时,仍会返回正常工作的银行,并在 errors 下列出发生故障的银行。
Configuration
| 变量 | 含义 |
|---|---|
TRUELAYER_CLIENT_ID / TRUELAYER_CLIENT_SECRET | TrueLayer Console 凭据(必需) |
TRUELAYER_ENV | live(默认)或 sandbox |
TRUELAYER_PROVIDER_ID | 提供方 ID;由 bank-mcp-link 按银行自动设置 |
BANK_TOKEN_FILE | 令牌文件路径(默认 ~/.bank-mcp/tokens.json) |
BANK_MAX_RANGE_DAYS | 单次交易查询允许的最长日期范围 |
BANK_TRUELAYER_REFRESH_TOKEN | 可选的刷新令牌种子 |
Development
请参阅 CONTRIBUTING.md。发布历史见 CHANGELOG.md。
Licence
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。