mcpField
B
bank-mcp

bank-mcp

本地服务
github.com/pritch56金融数据16 天前更新

关于 bank-mcp

bank-mcp 是通过 TrueLayer Open Banking 读取英国银行和银行卡数据的非官方 MCP 服务,面向需要在 MCP 客户端中查询自有账户信息的用户。它仅申请只读权限,不能转账。

主要功能

  1. 01列出已关联银行及授权期限
  2. 02查询账户与银行卡
  3. 03读取余额
  4. 04按日期和分页查询交易
  5. 05查看待处理交易

适用场景

  1. 01在客户端查看银行和银行卡余额
  2. 02按日期筛选账户交易
  3. 03检查待处理交易及银行授权期限

MCP 相关

该 MCP 服务提供五种只读工具,用于列出连接、账户、余额、交易和待处理交易。可通过 stdio 连接 MCP 客户端,也可按 README 所述部署为受 Cloudflare Access 保护的远程 Worker。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"pritch56-bank": {
"command": "uvx",
"args": [
"bank-mcp"
],
"env": {
"TRUELAYER_CLIENT_ID": "<TRUELAYER_CLIENT_ID>",
"TRUELAYER_CLIENT_SECRET": "<TRUELAYER_CLIENT_SECRET>",
"TRUELAYER_ENV": "<TRUELAYER_ENV>"
}
}
}
}
启动命令uvx bank-mcp
需要配置的环境变量
TRUELAYER_CLIENT_IDTrueLayer Console client id
TRUELAYER_CLIENT_SECRET密钥TrueLayer Console client secret
TRUELAYER_ENVlive (default) or sandbox

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypibank-mcp0.1.2

工具

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

  1. 在 TrueLayer Console 创建免费账户。
  2. 创建应用并记下其 client ID 和 client secret。先使用沙盒,然后切换到正式环境。
  3. 在应用设置中,添加以下 redirect URI:http://localhost:3000/callback (如果更改 --port,请使用相同的端口)。
  4. 确保已启用 Data API,并配置以下权限范围:info accounts cards balance transactions offline_access。
  5. 在运行 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_transactionssince/before 日期、limit/offset 分页、include_pending
list_pending待处理交易

查询所有银行时,仍会返回正常工作的银行,并在 errors 下列出发生故障的银行。

Configuration

变量含义
TRUELAYER_CLIENT_ID / TRUELAYER_CLIENT_SECRETTrueLayer Console 凭据(必需)
TRUELAYER_ENVlive(默认)或 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

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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