内容
ConnectMCP](/TheFractalyst/QuantConnectMCP/raw/main/assets/banner.svg)](https://github.com/TheFractalyst/MCP)
[](https://pypi.org/project/qc-lean-mcp/)
[](https://python.org/)
[](https://trychroma.com/)
[](https://modelcontextprotocol.io/)
[](LICENSE)
[](https://github.com/TheFractalyst/QuantConnectMCP/actions/workflows/ci.yml)
完整的 QuantConnect/Lean 参考文档,包含 个条目,覆盖 100% 的官方 QuantConnect v2 文档站点地图。
[快速入门](#快速入门) |
[工具](#工具) |
[配置](#配置)数据库](#数据库) |
[开发](#开发)
---
## 一条命令。两分钟。全功能。
```bash
pip install qc-lean-mcp
qc-lean-mcp
```
就是这样。首次运行时,服务器会自动从随附的 JSON 数据构建 ChromaDB 矢量存储(嵌入模型下载和索引需要 30-60 秒)。后续运行立即启动。
**您将获得:**
- 6 个 QuantConnect/Lean 文档查找、代码验证和模板生成的 MCP 工具
- 1265 个条目索引在本地 ChromaDB 矢量存储中(100% 离线)
- 毫秒级热缓存用于优先级查找
- Lean 算法的 Python AST 验证
- 常见 Python.NET 问题检测和自动修复
- 与 Claude Desktop、Cursor、Windsurf、OpenCode 和任何 MCP 客户端配合使用
**您需要:**
- Python 3.10+
- 任何 MCP 兼容的 AI 客户端
---
## 为什么选择 QuantConnectMCP?
AI 编程助手会臆造 Lean API 语法。QuantConnect API 庞大(QCAlgorithm、算法框架、200+ 指标、多个资产类别),并且不断演变。基于旧代码训练的模型会错误地获取方法签名。
QuantConnectMCP 为 AI 助手提供 **权威、实时的** QuantConnect/Lean 参考访问权限:
- **100% 覆盖率**:12577 个官方 QuantConnect v2 文档站点地图 URL
- **语义搜索**:矢量嵌入通过含义查找相关文档,而不是关键词
- **代码验证**:`qc_validate` 检查 Lean 算法的 Python 语法
- **自动修复**:`qc_repair` 修复 Lean 代码中的常见 Python.NET 问题
- **代码生成**:`qc_scaffold` 生成验证的算法模板
- **100% 本地**:运行时无网络调用(ChromaDB 从随附的数据自动构建)
---
## 工具
```
+---------------------------+----------------------------------------------+
| 工具 | 描述 |
+---------------------------+----------------------------------------------+
| qc_lookup(名称, 类型?) | 通过确切名称获取符号的完整文档 |
| qc_search(查询, ...) | 跨所有文档的语义搜索 |
| qc_browse(命名空间, ...) | 枚举命名空间的所有成员 |
| qc_validate(代码?, ...) Lean 算法的 Python 语法 |
| qc_repair(代码, 上下 | 修复 Lean 代码中的常见 Python.NET 问题 |
| qc_scaffold( 名称) | 生成算法/指标/研究模板|
+---------------------------+----------------------------------------------+
## 快速入门
### Claude Desktop
添加到 `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"qc-lean-mcp": {
"command": "qc-lean-mcp"
}
}
}
```
### Cursor / Windsurf / OpenCode
```json
{
"mcpServers": {
"qc-lean-mcp": {
"command": "qc-lean-mcp"
}
}
}
```
### SSE(HTTP)
```bash
qc-lean-mcp
# 然后连接到 http://localhost:8080
```
或使用环境变量:
```bash
TRANSPORT=sse PORT=8080 qc-lean-m```
---
## 配置
```
+-------------------------+---------------+--------------------------------+
| 环境变量 | 默认值 | 描述 |
+-------------------------+---------------+--------------------------------+
| TRANSPORT | stdio | 传输方式:stdio 或 sse |
| PORT | 8080 | SSE 传输端口 |
| QC_DB_PATH | ./qc_db | ChromaDB 路径 |
| QC_COLLECTION | qc_reference | ChromaDB 集合名称 |
| QC_EMBED_MODEL | all-MiniLM-L6 | 句子转换器模型 |
| QC_MAX_RESULTS | 100 | 最大搜索结果 |
| LOG_LEVEL | INFO | 日志级别 |
| LAZY_MODEL | 0 | 跳过启动时的模型预加载 |
+-------------------------+---------------+--------------------------------+
```
---
## 数据库
- 1265 个条目(QuantConnect v2 文档)
- 1257/1257 个站点地图 URL(100% 覆盖率)
- 20 个命名空间:cloud、indicators、writing-algorithms、cli、docs、datasets、research、securities、reality-modeling、local、engine、ai、framework 等
- 毫秒级热缓存用于优先级查找
- 首次运行时从随附的 JSON 数据自动构建(14MB)
要重建数据库:
```bash
qc-lean-mcp build
```
---
## 开发
```bash
git clone https://github.com/TheFractalyst/QuantConnectMCP.git
cd QuantConnectMCP
pip install -e ".[dev]"
pytest tests/ -v
```
### 重新索引 ChromaDB
```bash
python pipeline/merge_and_index.py --reset
```
## Docker
```bash
docker build -t qc-lean-mcp .
docker run -p 8080:8080 -e TRANSPORT=sse qc-lean-mcp
```
## 技术栈
- **FastMCP 3.0** - 带有文件系统提供程序自动发现的 MCP 服务器框架
- **ChromaDB** - 用于语义搜索的本地矢量数据库(余弦,384 维)
- **SentenceTransformers** - `all-MiniLM-L6-v2` 嵌入模型
- **RapidFuzz** - 用于名称查找的模糊字符串匹配
- **Loguru** - 结构化日志记录
## 链接
- [fractalyst.dev](https://fractalyst.dev/) - 作品集
- [QuantConnect 文档](https://www.quantconnect.com/docs/v2/) - 官方文档
- [LEAN 引擎](https://www.quantconnect.com/lean) - 开源算法引擎
- [@TheFractalyst](https://x.com/TheFractalyst) - X / Twitter 许可证
MIT - 请参阅 [LICENSE](LICENSE)