关于 Investec MCP: Banking API for AI Agents
这是通过 MCP 使用 Investec Open Banking API 的服务,面向持有 Investec Developer 凭据的用户及需要查询银行信息或转账的 AI Agent,提供账户、收款人、支付和文档工具。
主要功能
- 01查询账户余额和交易
- 02查看用户档案与收款人
- 03账户间转账及向收款人付款
- 04批量转账和付款
- 05列出并获取账户文档
适用场景
- 01查看账户余额或交易记录
- 02向已保存的收款人付款
- 03汇总处理多笔转账
MCP 相关
向 MCP 客户端提供 Investec Open Banking API 的账户查询和转账等工具。支持 SSE 和 stdio 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Investec MCP:面向 AI Agent 的银行 API
一个 模型上下文协议(MCP) 服务实现,可与 Investec Open Banking API 集成,让 AI Agent 能够访问银行信息并执行交易。
概述
本项目提供一个 MCP 服务,让 AI Agent 能够与 Investec Open Banking API 交互。它遵循 Anthropic 制定的 MCP 服务构建最佳实践,可与 Claude 等任何兼容 MCP 的客户端无缝集成。
功能
该服务基于 Investec Open Banking 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 Developer 账户及 API 凭据
- 如果将 MCP 服务作为容器运行,则需要 Docker(推荐)
安装
使用 uv
-
克隆此仓库:
git clone https://github.com/yourusername/investec-mcp.git cd investec-mcp -
安装依赖项:
uv pip install -e . -
根据
.env.example创建.env文件:cp .env.example .env -
在
.env文件中配置 Investec API 凭据对应的环境变量
使用 Docker(推荐)
-
构建 Docker 镜像:
docker build -t investec/mcp --build-arg PORT=8050 . -
根据
.env.example创建.env文件并配置环境变量
配置
可以在 .env 文件中配置以下环境变量:
| 变量 | 描述 | 示例 |
|---|---|---|
TRANSPORT | 传输协议(sse 或 stdio) | sse |
HOST | 使用 SSE 传输时绑定的主机 | 0.0.0.0 |
PORT | 使用 SSE 传输时监听的端口 | 8050 |
INVESTEC_CLIENT_ID | Investec Developer Portal 中的客户端 ID | your-client-id |
INVESTEC_CLIENT_SECRET | Investec Developer Portal 中的客户端密钥 | your-client-secret |
INVESTEC_API_KEY | Investec Developer Portal 中的 API 密钥 | your-api-key |
运行服务
使用 uv
SSE 传输
# Set TRANSPORT=sse in .env then:
uv run python src/main.py
MCP 服务将作为 API 端点运行,你可以连接到该端点。
Stdio 传输
使用 stdio 时,MCP 客户端本身可以启动 MCP 服务。
使用 Docker
SSE 传输
docker run --env-file .env -p 8050:8050 investec/mcp
MCP 服务将在容器内作为 API 端点运行,你可以连接到该端点。
Stdio 传输
使用 stdio 时,MCP 客户端本身可以启动 MCP 服务容器。
与 MCP 客户端集成
SSE 配置
使用 SSE 传输启动服务后,可以通过以下配置连接:
{
"mcpServers": {
"investec": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}
Windsurf 用户须知:请在配置中使用
serverUrl,而不是url:{ "mcpServers": { "investec": { "transport": "sse", "serverUrl": "http://localhost:8050/sse" } } }
如果使用的端口不是默认的 8050,请务必更新端口。
Python 配合 Stdio 配置
将此服务添加到 Claude Desktop、Windsurf 或任何其他 MCP 客户端的 MCP 配置中:
{
"mcpServers": {
"investec": {
"command": "path/to/python",
"args": ["path/to/investec-mcp/src/main.py"],
"env": {
"TRANSPORT": "stdio",
"INVESTEC_CLIENT_ID": "your-client-id",
"INVESTEC_CLIENT_SECRET": "your-client-secret",
"INVESTEC_API_KEY": "your-api-key"
}
}
}
}
Docker 配合 Stdio 配置
{
"mcpServers": {
"investec": {
"command": "docker",
"args": ["run", "--rm", "-i",
"-e", "TRANSPORT",
"-e", "INVESTEC_CLIENT_ID",
"-e", "INVESTEC_CLIENT_SECRET",
"-e", "INVESTEC_API_KEY",
"investec/mcp"],
"env": {
"TRANSPORT": "stdio",
"INVESTEC_CLIENT_ID": "your-client-id",
"INVESTEC_CLIENT_SECRET": "your-client-secret",
"INVESTEC_API_KEY": "your-api-key"
}
}
}
}
安全注意事项
此 MCP 服务需要敏感的银行凭证。请务必:
- 妥善保管
.env文件,切勿将其提交到版本控制系统 - 如果构建并分发容器镜像,请使用安全、私有的 Docker 镜像仓库
- 仅在安全、可信的网络中运行此服务
- 考虑实施其他安全措施,例如请求速率限制
扩展服务
如需添加更多功能:
- 在
src/utils.py中的InvestecClient类中添加新方法,以调用所需的 Investec API 端点。 - 在
src/tools/目录中相关的 Python 文件内创建新的工具函数(例如,在src/tools/accounts.py中创建与账户相关的工具)。为这些函数使用@mcp.tool()装饰器。 - 在
src/main.py中导入并注册新的工具函数。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。