银行账户管理协议服务器

Bunq MCP是一个为荷兰新银行Bunq设计的模型上下文协议服务器,提供账户管理、交易查询、支付请求创建等功能。

  • by WilcoKruijer
  • TypeScript
  • 本地部署
  • 17 星标
  • 更新于
在 GitHub 查看 WilcoKruijer/bunq-mcp

使用说明

Bunq MCP

Bunq(荷兰新银行)的模型上下文协议服务器。

可用工具

此MCP服务器提供以下与Bunq交互的工具:

  1. bunq账户 -获取您的Bunq帐户,包括帐户类型、余额和ID等详细信息
  2. GetTransactions -查看特定账户的交易(付款)
  3. getRequest查询 -获取您从特定帐户发送的资金请求
  4. 创建付款请求 -创建付款请求以将资金存入您的账户
  5. GetPaymentAutoAllocates -获取帐户的自动付款分配设置
  6. getTop交易对手 -根据最近的交易获取唯一个人交易对手列表
  7. 创建DraftPayment -创建带有可选日程安排的付款草案(需要在中审核/批准 执行前的应用程序)
  8. 创建付款 -创建真实货币支付(立即转账)。仅在使用时可用 API密钥(而不是OAuth)。

这些工具可以通过连接到此服务器的任何MCP客户端访问。

认证

此服务器支持两种身份验证模式: OAuth 和 API密钥。请参阅 邦克 文档 了解更多信息。

创建API密钥或OAuth客户端是通过Bunq应用程序完成的:

  1. 按左上角的脸
  2. 按下右上角的齿轮
  3. 在“开发人员”下,转到“OAuth”或“API密钥”。
  4. 如果使用OAuth,请将重定向URL设置为以下内容:
    http://localhost:8788/callback
    

(如果需要,请修改端口。)

启动服务器时,您可以设置 BUNQ_CLIENT_ID 和 BUNQ_CLIENT_SECRET 环境变量,或 BUNQ_API_KEY 环境变量。或者,您可以通过 客户端ID和secret或API密钥作为命令行参数: --bunq-client-id <id> --bunq-client-secret <secret> 或 --bunq-api-key <key>.

注: 如果你想创建实际的真实货币非汇票支付,你需要使用API密钥。

安装与使用

  1. 安装 bunq-mcp 和 mcp-remote CLI工具:
npm install -g bunq-mcp mcp-remote
  1. 在Bunq应用程序中,创建一个OAuth客户端或API密钥(请参见上文)。

  2. (可选)生成新的公钥/私钥对:

bunq-mcp --generate-keys

请注意,这是假设 openssl 已安装并可在PATH上使用。如果您决定跳过此步骤, 预先存在的密钥 ./src/keys/ 将被使用。创建的密钥将覆盖预先存在的密钥 密钥并存储在全局 node_modules 目录。

  1. 在任何终端中启动MCP服务器:
bunq-mcp --mcp --bunq-client-id <client-id> --bunq-client-secret <client-secret>

客户端ID和密码也可以使用 BUNQ_CLIENT_ID 和 BUNQ_CLIENT_SECRET 环境变量。

  1. 在您最喜欢的编辑器或其他MCP客户端(如Claude Desktop)中,添加以下内容:
{
  "mcpServers": {
    "bunq-mcp": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://localhost:8788/sse"]
    }
  }
}

如果需要,再次修改端口。 mcp-remote 因为该包使用SSE传输, 而大多数客户不支持这一点。看 mcp遥控器 为了 更多信息。

  1. 一旦MCP服务器启动, mcp-remote 应该打开浏览器以启动OAuth 流动。

现在,您应该能够提出一个问题,例如

  • 我目前的Bunq余额是多少?
  • 我的前五大对手是什么?
  • 我最后一笔交易是什么?

故障排除

  • 如果OAuth流程有任何问题,您可以尝试删除由创建的目录 mcp-remote 在您的主目录中: rm -rf ~/.mcp-auth.

命令行界面

Usage: bunq-mcp [options]

Options:
  --help              Show help
  --version           Show version
  --generate-keys     Generate private and public key pair for Bunq installation
  --mcp               Start MCP server
  --host <host>       Host (for MCP server)
  --port <port>       Port (for MCP server)
  --bunq-client-id <id>         Bunq client ID (alternative to BUNQ_CLIENT_ID env var)
  --bunq-client-secret <secret> Bunq client secret (alternative to BUNQ_CLIENT_SECRET env var)
  --bunq-api-key <key>          Bunq API key (alternative to BUNQ_API_KEY env var)

发展

  1. 创建 .dev.vars 根目录中的文件,内容如下:
# When set to 1 the public/private key pair in this repo is used.
IS_DEVELOPMENT=1

# Create OAuth client in the Bunq app
BUNQ_CLIENT_ID=
BUNQ_CLIENT_SECRET=
  1. 启动开发服务器
npm run dev
  1. 设置MCP配置
{
  "mcpServers": {
    "bunq-mcp": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://localhost:8788/sse"]
    }
  }
}

局限性

  • 无法使用OAuth流创建付款。只能创建草稿付款。
{ "Error": [{ "error_description": "Not enough permissions to create payment." }] }