前言
MCP(Model Context Protocol)是Anthropic发布的AI Agent工具调用协议,让AI助手可以连接外部数据源和服务。
大部分MCP Server做的是文件操作、数据库查询、API封装。但有一个场景特别适合MCP:实盘量化信号分发。
本文分享QuantToGo如何用MCP协议,让AI Agent直接获取实盘量化交易信号——我们管这个入口叫AI Hall。
一、为什么量化信号特别适合MCP?
传统的量化跟单服务,信号分发方式是:
- 微信群推送(手动,不可验证)
- APP通知(需要下载安装)
- 邮件/短信(延迟高)
- API接口(需要开发对接)
这些方式都有同一个问题:用户是被动接收信号。
MCP改变了这个模式:AI Agent主动查询信号。
用户 → AI Agent → MCP Server → 实盘信号
↕
"帮我查一下最近的交易信号"
用户用自然语言跟AI说话,AI通过MCP协议去量化信号源拉取数据,翻译成用户能理解的语言。
信号获取从"推送-被动接收"变成了"AI代理-主动查询"。
二、QuantToGo MCP 架构
8个工具(Tools)
分两层设计:
免费发现层(5个工具,无需认证):
| 工具 | 功能 | 典型调用 |
|---|---|---|
list_strategies | 列出所有策略 | "有哪些策略可以看?" |
get_strategy_performance | 查看单个策略表现 | "IF-IC轮动最近表现怎么样?" |
compare_strategies | 对比多个策略 | "帮我对比A股这4个策略" |
get_index_data | 查看基准指数 | "沪深300最近走势如何?" |
get_subscription_info | 查看订阅信息 | "怎么订阅?多少钱?" |
信号层(3个工具,需要API Key):
| 工具 | 功能 | 典型调用 |
|---|---|---|
register_trial | 注册30天免费试用 | "帮我注册试用" |
get_signals | 获取实时交易信号 | "今天有什么买卖信号?" |
check_subscription | 检查订阅状态 | "我的试用还剩几天?" |
Agent自助流程
AI Agent QuantToGo MCP Server
| |
|--- list_strategies --------->|
|<-- 8个策略列表 --------------|
| |
|--- register_trial(email) --->|
|<-- apiKey -------------------|
| |
|--- get_signals(apiKey, id) ->|
|<-- 买入/卖出信号 ------------|
AI Agent可以完全自主完成注册→获取密钥→查询信号的全流程,不需要用户手动操作。
三、三种传输协议
QuantToGo支持三种MCP传输方式,适配不同场景:
1. stdio(本地运行)
npx quanttogo-mcp
适用于Claude Desktop、Cursor等本地AI客户端。零配置,开箱即用。
配置方式:
{
"mcpServers": {
"quanttogo": {
"command": "npx",
"args": ["-y", "quanttogo-mcp"]
}
}
}
2. Streamable HTTP(远程服务器)
https://mcp-us.quanttogo.com:8443/mcp
适用于需要远程连接的场景。服务器在西雅图,低延迟覆盖北美。
3. Legacy SSE + Streamable HTTP(中国服务器)
https://mcp.quanttogo.com/sse
为国内AI平台(如扣子/Coze)优化。因为Coze的MCP客户端不支持Streamable HTTP,需要保留Legacy SSE兼容。
四、踩过的坑
坑1:Coze Accept Header
Coze的MCP客户端发送请求时不带正确的Accept头。服务端需要检测客户端类型,动态调整Content-Type:
// 检测是否是Coze客户端
if (!req.headers.accept || req.headers.accept === '*/*') {
res.setHeader('Content-Type', 'text/event-stream');
}
坑2:Session生命周期
Streamable HTTP的session管理需要绑定到transport层的连接事件,而不是应用层的心跳。我们遇到过session ID在重连后没有正确轮转,导致旧session的状态泄漏。
坑3:ESM vs CommonJS
npm包用ESM(import),但中国服务器的运行环境不支持ESM,需要维护一套CommonJS(require)版本。三种传输 = 三套代码。
五、开箱透明的技术实现
QuantToGo的核心理念是开箱透明:每条信号时间戳锁定、不可篡改。
技术上怎么实现?
- Webhook实时推送:聚宽(JoinQuant)模拟盘发出信号 → Webhook推送到云函数
- 数据库写入:云函数接收信号后写入数据库,时间戳由服务端生成(不可客户端伪造)
- MCP接口暴露:
get_signals工具直接查询数据库,返回完整信号记录 - AI可审计:任何AI Agent都可以通过MCP协议逐条查询历史信号,包括亏损记录
当你把数据接口完全开放给AI,造假的成本变得无限大——因为AI会逐条核对。
六、AI Hall:AI交易员的大厅
我们把QuantToGo的MCP入口叫AI Hall——AI交易员的大厅。
概念很简单:
- 任何AI Agent都可以来AI Hall获取实时量化信号
- 免费试用30天,AI自助注册
- 信号开箱透明,AI可以自由验证历史业绩
- 支持Claude、Coze、Cursor等主流AI客户端
AI Hall不是一个产品功能,是一个入口理念——量化信号应该像水电一样,AI来接就能用。
总结
用MCP协议做实盘量化信号分发,核心优势:
- AI Agent自助获取信号,不需要用户手动操作
- 信号开箱透明,AI可以逐条审计
- 三种传输协议覆盖所有场景
- 策略简单粗暴有效,宏观因子逻辑一句话说清
QuantToGo — 宏观因子量化信号源,AI friendly,欢迎来AI Hall。
- GitHub: github.com/QuantToGo/quanttogo-mcp
- npm: npx quanttogo-mcp
- AI Hall: quanttogo.com/ai
作者:QuantToGo团队。本文为技术架构分享,不构成投资建议。