业务算法 MCP 构想
将私募基金组合算法(风险平价、多因子、优化器等)封装为远程 MCP 服务,供 Hermes Agent 按需调用。
架构示意
┌─────────────────┐ JSON-RPC over HTTP/SSE ┌──────────────────────────┐
│ Hermes Agent │ ──── tools/list ───────────→ │ MCP Server (远程服务器) │
│ (MCP Client) │ ←─── tool schemas ────────── │ ┌────────────────────┐ │
│ │ ──── tools/call(params) ──→ │ │ 组合算法引擎 │ │
│ │ ←─── 计算结果(json) ──────── │ │ · 风险平价 │ │
│ │ │ │ · 多因子归因 │ │
│ │ │ │ · 组合优化器 │ │
│ │ │ │ · 风险预算 │ │
│ │ │ └────────────────────┘ │
└─────────────────┘ └──────────────────────────┘标准 MCP 交互确认
此场景是完全标准的 MCP 远程 HTTP 交互:
| 步骤 | MCP 协议对应 | 标准性 |
|---|---|---|
| 远程服务器部署含组合算法的服务 | MCP Server:实现 tools/list + tools/call 端点 | ✅ 标准 |
| 提供 MCP 地址和 token key | HTTP Transport:url + headers.Authorization | ✅ 标准 |
| 在 Hermes config.yaml 中配置连接 | mcp_servers.<name>.url + headers | ✅ 标准 |
| Agent 对话中调用 | mcp_<server>_<tool>(params) → 内部 tools/call | ✅ 标准 |
| 拿到计算结果 | Server 返回 JSON-RPC 响应,注入 agent 上下文 | ✅ 标准 |
当前已运行的 TuShare MCP 就是完全相同的模式:
mcp_servers:
tushare:
url: https://api.tushare.pro/mcp/?token=xxx
timeout: 120配置方式
mcp_servers:
组合算法:
url: https://你的服务器.com/mcp
headers:
Authorization: Bearer <你的token>
timeout: 180 # 算法计算可能较慢两个关键设计点
1. Tool Schema 要写充分
MCP 协议不负责语义——它只管传参数和结果,不解释参数是什么含义。服务端在 tools/list 返回的 tool schema 中需要写清楚:
- 每个参数的含义、取值范围、默认值
- 返回结果的结构和字段说明
- 示例调用
Schema 越丰富,Agent 越不需要外部文档就能正确调用。
2. Skill 辅助文档
对于业务场景复杂的算法(何时调用、结果怎么解读、常见参数组合),建议搭配一个 Skill 文件,在需要时加载到 prompt:
- 告诉 Agent 什么场景应该调用哪个算法
- 结果中出现边界值(如收敛失败)怎么处理
- 调用的最佳实践和常见陷阱
两者关系:MCP 提供通路,Skill 提供导航。