Enable Banking MCP 服务器

以下为使用指南(Markdown 格式)

  • 项目简介

    • 该仓库实现了一个基于 MCP 的服务器,主要职责是向 LLM 客户端提供资源(Resources)、可调用的 Tools、以及可渲染的 Prompt/UI。服务器通过 JSON-RPC 与客户端通信,支持标准化的资源读取、工具执行和 UI 渲染。
  • 主要功能点

    • MCP 核心功能实现
      • list_tools、call_tool、list_resources、read_resource 等 MCP 框架接口的实现与对接。
    • 多传输协议支持
      • 既支持标准输入输出(stdio)传输,也提供 HTTP 传输(基于 axum/Rust 的实现),以供不同环境的 MCP 客户端接入。
    • 资源与工具可视化 UI
      • 提供 Balance Dashboard、Transaction Table、Spending Chart、Sessions、Accounts、Payment 等 UI 资源,通过嵌入式 UI 在聊天中渲染。
    • 与 Enable Banking API 的集成
      • 实现 OAuth 授权、会话创建与持久化、账户/交易查询、以及支付等功能的工具实现。
    • 会话与密钥管理
      • 本地持久化会话信息,私钥与应用信息通过 .env 文件或环境变量传入,具备安全的本地存储特性(文件权限控制)。
    • 安全与错误处理
      • 使用 JWT 进行鉴权、对 API 调用进行错误处理并向客户端返回清晰的结果或错误信息。
  • 安装步骤

    • 安装与编译
      • 克隆仓库并执行 cargo build --release 以生成可执行二进制。
    • 运行方式
      • 以标准输入输出模式(stdio)启动:./target/release/enable-banking-mcp
      • 以 HTTP 服务模式启动:运行后可通过 HTTP 端点访问 MCP 服务,支持本地或云端部署。
    • 环境变量与凭据配置
      • ENABLE_BANKING_ENV:sandbox 或 production
      • ENABLE_BANKING_APP_ID:Enable Banking 应用 ID
      • ENABLE_BANKING_PRIVATE_KEY:应用私钥,PEM 格式,换行需转义为 \n
      • ENABLE_BANKING_REDIRECT_URL(可选):OAuth 回调 URL,默认为 GitHub Pages 回调地址
    • 配置与初始化
      • 通过 CLI 的 configure/install/register/init 等子命令完成配置、注册、初始化和安装步骤,生成 MCP 服务器的运行配置和本地凭证。
    • 生产使用注意
      • 将私钥和应用信息以受保护的方式存储(如只限拥有者读取的权限),并在需要时重新加载到环境变量或 .env 文件中。
  • 服务器配置(给 MCP 客户端的配置信息示例) 说明:该配置用于 MCP 客户端在本地/IDE 中启动并连接到服务器。具体字段含义如下:

    • server name:MCP 服务器的名称标识
    • command:启动服务器的命令路径
    • args:启动命令的参数列表(若无参数可留空)
    • env:服务器运行所需的环境变量

    { "mcpServers": { "enable-banking": { "name": "enable-banking", "command": "/usr/local/bin/enable-banking-mcp", "args": [], "env": { "ENABLE_BANKING_ENV": "sandbox", "ENABLE_BANKING_APP_ID": "your-app-id", "ENABLE_BANKING_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\nMIIJ...\n-----END PRIVATE KEY-----" } // 注:REDIRECT_URL 也可以通过 ENV 设置,若需要请添加 } // 如需其他 MCP 服务器,可继续添加 } }

  • 基本使用方法

    • 第一步:准备凭据
      • 获取 Enable Banking 的 AppID 与私钥,确保在运行环境中能通过环境变量或 .env 读取到 ENABLE_BANKING_APP_ID、ENABLE_BANKING_PRIVATE_KEY、ENABLE_BANKING_ENV。
    • 第二步:启动服务器
      • 选择菜单式交互启动或直接通过可执行二进制启动(stdio)或 HTTP 服务启动,确保端口与网络可达。
    • 第三步:使用工具与资源
      • 调用 start_authorization 等工具发起银行授权流程,按照提示在浏览器完成授权并获取回调代码。
      • 使用 create_session 将授权码换取会话,并将会话信息保存到本地,之后可用 list_sessions、list_accounts、get_account_balances、get_account_transactions、spending_summary、create_payment 等工具进行后续操作。
    • 第四步:在你的 MCP 客户端中配置并连接
      • 使用上述服务器配置,将服务器名称、启动命令和环境变量填写到客户端的 MCP 配置中,确保客户端可以正确启动并与 MCP 服务器进行交互。

服务器信息