investec-mcp

查看源码
2025-5-12
Words 1105Read Time 3 min
Score:85

实现与Investec银行API集成的MCP服务器,支持账户管理、转账支付等功能,为AI代理提供银行服务接口。

这是一个与 Investec 开放银行 API 集成的 Model Context Protocol (MCP) 服务器实现,允许 AI 代理访问银行信息并执行交易。

概述

本项目提供了一个 MCP 服务器,使 AI 代理能够与 Investec 开放银行 API 进行交互。它遵循 Anthropic 提出的 MCP 服务器构建最佳实践,能够与任何 MCP 兼容的客户端(如 Claude)无缝集成。

功能

该服务器基于 Investec 开放银行 API 提供了全面的银行工具:

账户信息

  1. get_accounts: 获取认证用户的所有账户
  1. get_account_balance: 获取指定账户的余额
  1. get_account_transactions: 获取指定账户的交易记录,支持过滤选项
  1. get_pending_transactions: 获取指定账户的待处理交易

档案管理

  1. get_profiles: 获取用户已授权的所有档案
  1. get_profile_accounts: 获取指定档案的账户
  1. get_profile_beneficiaries: 获取指定档案和账户的受益人
  1. get_authorisation_setup_details: 获取需要审批的付款的授权设置详情

受益人管理

  1. get_beneficiaries: 获取所有已保存的受益人
  1. get_beneficiary_categories: 获取所有受益人分类

转账与支付

  1. transfer_money: 在用户自己的账户之间转账(便捷方法)
  1. transfer_multiple: 批量转账至一个或多个账户
  1. pay_beneficiary: 向已保存的受益人付款(便捷方法)
  1. pay_multiple: 批量向多个受益人付款

文档管理

  1. get_documents: 获取指定账户在特定日期范围内的文档列表
  1. get_document: 按类型和日期获取特定文档

先决条件

  • Python 3.12+
  • Investec 开发者账户及 API 凭证
  • 如果以容器方式运行 MCP 服务器,需安装 Docker(推荐)

安装

使用 uv

  1. 克隆本仓库:
    1. 安装依赖:
      1. 基于 .env.example 创建 .env 文件:
        1. .env 文件中配置环境变量,填入你的 Investec API 凭证

        使用 Docker(推荐)

        1. 构建 Docker 镜像:
          1. 基于 .env.example 创建 .env 文件并配置环境变量

          配置

          可以在 .env 文件中配置以下环境变量:
          变量
          描述
          示例
          TRANSPORT
          传输协议(sse 或 stdio)
          sse
          HOST
          使用 SSE 传输时绑定的主机地址
          0.0.0.0
          PORT
          使用 SSE 传输时监听的端口
          8050
          INVESTEC_CLIENT_ID
          Investec 开发者门户中的客户端 ID
          your-client-id
          INVESTEC_CLIENT_SECRET
          Investec 开发者门户中的客户端密钥
          your-client-secret
          INVESTEC_API_KEY
          Investec 开发者门户中的 API 密钥
          your-api-key

          运行服务器

          使用 uv

          SSE 传输

          MCP 服务器将作为 API 端点运行,你可以连接到此端点。

          Stdio 传输

          使用 stdio 时,MCP 客户端可以自行启动 MCP 服务器。

          使用 Docker

          SSE 传输

          MCP 服务器将在容器内作为 API 端点运行,你可以连接到此端点。

          Stdio 传输

          使用 stdio 时,MCP 客户端可以自行启动 MCP 服务器容器。

          与 MCP 客户端集成

          SSE 配置

          在服务器以 SSE 传输方式运行后,你可以使用以下配置连接到它:
          Windsurf 用户注意: 在配置中使用 serverUrl 而不是 url
          如果使用的端口不是默认的 8050,请确保更新端口号。

          Python 与 Stdio 配置

          将此服务器添加到你的 MCP 配置中,适用于 Claude Desktop、Windsurf 或其他 MCP 客户端:

          Docker 与 Stdio 配置

          安全注意事项

          该 MCP 服务器需要敏感的银行凭证。请务必:
          1. 妥善保管 .env 文件,切勿将其提交到版本控制中
          1. 如果构建和分发容器镜像,请使用安全的私有 Docker 仓库
          1. 仅在安全、可信的网络上运行服务器
          1. 考虑实施额外的安全措施,如请求速率限制

          扩展服务器

          要添加更多功能:
          1. src/utils.py 中的 InvestecClient 类中添加新方法,以与所需的 Investec API 端点进行交互。
          1. src/tools/ 目录下的相关 Python 文件中创建新的工具函数(例如,账户相关工具放在 src/tools/accounts.py 中)。使用 @mcp.tool() 装饰器装饰这些函数。
          1. src/main.py 中导入并注册新的工具函数。
          上一篇
          mssql-mcp-server
          下一篇
          agentic-workflow-mcp