概述
本项目提供了一个 MCP 服务器,使 AI 代理能够与 Investec 开放银行 API 进行交互。它遵循 Anthropic 提出的 MCP 服务器构建最佳实践,能够与任何 MCP 兼容的客户端(如 Claude)无缝集成。
功能
该服务器基于 Investec 开放银行 API 提供了全面的银行工具:
账户信息
get_accounts
: 获取认证用户的所有账户
get_account_balance
: 获取指定账户的余额
get_account_transactions
: 获取指定账户的交易记录,支持过滤选项
get_pending_transactions
: 获取指定账户的待处理交易
档案管理
get_profiles
: 获取用户已授权的所有档案
get_profile_accounts
: 获取指定档案的账户
get_profile_beneficiaries
: 获取指定档案和账户的受益人
get_authorisation_setup_details
: 获取需要审批的付款的授权设置详情
受益人管理
get_beneficiaries
: 获取所有已保存的受益人
get_beneficiary_categories
: 获取所有受益人分类
转账与支付
transfer_money
: 在用户自己的账户之间转账(便捷方法)
transfer_multiple
: 批量转账至一个或多个账户
pay_beneficiary
: 向已保存的受益人付款(便捷方法)
pay_multiple
: 批量向多个受益人付款
文档管理
get_documents
: 获取指定账户在特定日期范围内的文档列表
get_document
: 按类型和日期获取特定文档
先决条件
- Python 3.12+
- Investec 开发者账户及 API 凭证
- 如果以容器方式运行 MCP 服务器,需安装 Docker(推荐)
安装
使用 uv
- 克隆本仓库:
- 安装依赖:
- 基于
.env.example
创建.env
文件:
- 在
.env
文件中配置环境变量,填入你的 Investec API 凭证
使用 Docker(推荐)
- 构建 Docker 镜像:
- 基于
.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 服务器需要敏感的银行凭证。请务必:
- 妥善保管
.env
文件,切勿将其提交到版本控制中
- 如果构建和分发容器镜像,请使用安全的私有 Docker 仓库
- 仅在安全、可信的网络上运行服务器
- 考虑实施额外的安全措施,如请求速率限制
扩展服务器
要添加更多功能:
- 在
src/utils.py
中的InvestecClient
类中添加新方法,以与所需的 Investec API 端点进行交互。
- 在
src/tools/
目录下的相关 Python 文件中创建新的工具函数(例如,账户相关工具放在src/tools/accounts.py
中)。使用@mcp.tool()
装饰器装饰这些函数。
- 在
src/main.py
中导入并注册新的工具函数。
- Author:waytomcp
- URL:https://www.waytomcp.com/article/Nicolaas0411/investec-mcp
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!