Mercury MCP服务器
Mercury Banking API的综合模型上下文协议(MCP)服务器,通过标准化的MCP接口为AI代理提供对银行业务的安全访问。
特性
- 🏦 账户管理:查看账户余额、详细信息和交易历史记录
- 💰 支付处理:发送带有验证和幂等性的ACH/电汇付款
- 👥 收件人管理:使用路由信息创建和验证付款收件人
- 🔐 基于权限的访问:READ_ONLY与READ_WRITE令牌支持
- 📊 实时数据:具有可配置TTL的缓存响应
- ✅ 全面验证:所有API交互的Zod模式
- 🚀 多个传输:支持Stdio(CLI)和HTTP/SSE
- 🛡️ 安全第一:具有权限管理的基于令牌的身份验证
快速设置
1.安装依赖项
npm install
npm run build2.配置环境
创建 .env 文件:
MERCURY_API_TOKEN=secret-token:your_mercury_token_here
MERCURY_API_BASE_URL=https://backend.mercury.com/api/v1 # Optional3.添加到克劳德代码
地方发展
# Add Mercury MCP server to Claude Code
claude mcp add mercury --env MERCURY_API_TOKEN=secret-token:your_token -- node /path/to/mcp-mercury/dist/index.js
# Verify installation
claude mcp list项目范围(通过.mcp.json共享)
# Creates .mcp.json for team sharing
claude mcp add --scope project mercury --env MERCURY_API_TOKEN=your_token -- node dist/index.js用户范围(适用于所有项目)
claude mcp add --scope user mercury --env MERCURY_API_TOKEN=your_token -- node dist/index.jsClaude代码使用示例
查看帐户信息
Get my Mercury account balances发送付款
Send $500 to DappHero Corp via wire transfer from my main account创建收件人
Add a new recipient: ABC Company, email: billing@abc.com, with routing number 021000021项目结构
mcp-mercury/
├── src/
│ ├── server/
│ │ ├── mcp-server.ts # Main MCP server
│ │ ├── mercury-client.ts # Mercury API wrapper
│ │ ├── auth/ # Authentication logic
│ │ ├── resources/ # MCP resources
│ │ ├── tools/ # MCP tools
│ │ ├── transports/ # Transport implementations
│ │ └── utils/ # Utilities and schemas
│ └── index.ts # Entry point
├── tests/
│ ├── unit/ # Unit tests
│ ├── integration/ # Integration tests
│ └── fixtures/ # Test data
├── examples/ # Usage examples
└── docs/ # Documentation发展
运行测试
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run with coverage
npm run test:coverage建筑
# Build TypeScript to JavaScript
npm run build
# Clean build artifacts
npm run clean掉毛
npm run lint环境变量
| 变量 | 必填 | 描述 | 默认值 |
|---|---|---|---|
MERCURY_API_TOKEN | 是 | 您的Mercury API代币 | - |
MERCURY_API_BASE_URL | 否 | Mercury API基础URL | https://backend.mercury.com/api/v1 |
MCP_SERVER_NAME | 否 | MCP服务器名称 | mercury-mcp-server |
MCP_SERVER_VERSION | 否 | MCP服务器版本 | 1.0.0 |
HTTP_PORT | 否 | HTTP服务器端口 | 3000 |
NODE_ENV | 否 | 环境模式 | production |
可用资源
mercury://accounts-列出所有账户的余额和详细信息mercury://recipients-列出带有路由信息的付款收件人mercury://account/{id}/transactions-账户交易历史记录(为未来API准备)mercury://transaction/{id}-交易明细(为未来API准备)
可用工具
- mercury_validatePayment -发送前验证付款参数
- mercury_send付款 -执行ACH/电汇支付(需要READ_WRITE令牌)
- mercury_validate接受者 -验证收件人信息并检查重复项
- mercury_createRecipient -创建新的付款收件人(需要READ_WRITE令牌)
权限级别
READ_ONLY令牌
- ✅ 查看帐户和收件人
- ✅ 验证付款/收款人参数
- ❌ 无法发送付款或创建收件人
READ_WRITE令牌
- ✅ 所有READ_ONLY功能
- ✅ 发送付款并创建收件人
- ✅ API完全访问
安全
- API令牌从未被记录或公开
- 所有输入都使用Zod模式进行验证
- Idempotency密钥可防止重复付款
- 基于权限的工具公开(只读与读写)
错误处理
服务器实现了全面的错误处理:
- 身份验证错误(401)
- 权限错误(403)
- 未找到资源(404)
- 速率限制(429)
- 网络和超时错误
测试
该项目使用Jest进行全面覆盖的测试:
- 所有组件的单元测试
- API交互的集成测试
- 模拟汞API测试响应
- TDD方法用于新功能
故障排除
Claude代码集成问题
未找到MCP服务器
确保路径 claude mcp add 命令指向已构建 dist/index.js 文件:
# Use absolute path
claude mcp add mercury --env MERCURY_API_TOKEN=your_token -- node /Users/yourname/path/to/mcp-mercury/dist/index.js权限错误
验证您的Mercury API令牌是否具有所需的权限:
- READ_ONLY令牌只能查看数据和验证参数
- READ_WRITE代币可以创建收件人并发送付款
连接问题
检查您的Mercury API代币是否有效:
curl -H "Authorization: Bearer secret-token:your_token" https://backend.mercury.com/api/v1/accounts环境变量问题
确保您的令牌格式正确 secret-token: 前缀:
MERCURY_API_TOKEN=secret-token:mercury_production_xxx...贡献
本项目遵循测试驱动开发(TDD):
- 先编写失败的测试
- 实现最少的代码以通过测试
- 在保持测试绿色的同时进行重构
- 文档更改
许可证
麻省理工学院
支持
对于问题或疑问:
- 在存储库中创建问题
- 联系Mercury支持部门了解特定于API的问题
- 有关协议问题,请参阅MCP文档
