xtquant 用于 AI,MCP 项目。
xtquantai 是一个基于模型上下文协议 (Model Context Protocol, MCP) 的服务器,它将迅投 (xtquant) 量化交易平台的功能与人工智能助手集成,使 AI 能够直接访问和操作量化交易数据和功能。
功能特点
XTQuantAI 提供以下核心功能(陆续更新中,欢迎大家提交新创意):
基础数据查询
- 获取交易日期 (
get_trading_dates
) - 获取指定市场的交易日期 - 获取板块股票列表 (
get_stock_list
) - 获取特定板块的股票列表 - 获取股票详情 (
get_instrument_detail
) - 获取股票的详细信息
行情数据
- 获取历史行情数据 (
get_history_market_data
) - 获取股票的历史行情数据 - 获取最新行情数据 (
get_latest_market_data
) - 获取股票的最新行情数据 - 获取完整行情数据 (
get_full_market_data
) - 获取股票的完整行情数据
图表和可视化
- 创建图表面板 (
create_chart_panel
) - 创建股票图表面板,支持各种技术指标 - 创建自定义布局 (
create_custom_layout
) - 创建自定义的图表布局,可以指定指标名称、参数名和参数值
安装
⚠️ 注意事项
- QMT 生态系统目前仅支持 Windows,因此以下均在 Windows 环境实现
- Windows 环境目前在实现 MCP 过程中有不少细节,需要注意
前提条件
- Python 3.11 或更高版本
- 迅投 QMT 或投研终端
- uv 包管理工具 (推荐)
uv 的安装及注意事项
uv 是用作启动包的工具,因此您需要安装一下,注意要在需要运行 xtquantai 的环境中安装该包,这是第一个可能的出现问题的地方,如果有疑问的话,可以全都安装一下。
python
pip install uv
第二个注意点,uv 有缓存机制,因此才有了 clear_cache_and_run.py
文件,如果中途有错误的运行,不清除缓存会导致不会更新,所以请在需要更新时运行删除。
下载即可
bash
git clone https://github.com/dfkai/xtquantai.git
或者直接下载压缩包,您可以将其下载到任意文件夹,只要能正确找到 xtquantai 的具体地址即可,最好是在文件夹内直接复制地址。
使用方法
与 Cursor 的集成
Windows(QMT/投研端目前仅支持 Windows,需在 Windows 环境)
在 Cursor 中配置 MCP 服务器:
方法一:
在当前项目中建立 .cursor
文件夹,在该文件夹下建立 mcp.json
文件,则 Cursor 编辑器会在启动时自动加载这个 mcp 工具:
json
{
"mcpServers": {
"xtquantai": {
"command": "cmd /c uvx",
"args": [
"path:\\to\\xtquantai"
]
}
}
}
⚠️ 注意:在 Windows 中,命令必须加上
cmd /c
,否则会导致打开的命令行窗口立即关闭。
方法二:
直接在 设置 > MCP > 添加新的 MCP Server
中添加,名称(name
)设置为 xtquantai
,命令(command
)设置为:cmd /c uvx path:\to\xtquantai
,调整状态为Enabled
。
这里注意 path to
是指您自己的本地地址,同时注意在手动输入时应使用单斜杠,但是在 JSON 文件中需要两个斜杠以防止转义。
工具使用示例
获取交易日期
python
# 获取上海市场的交易日期
dates = get_trading_dates(market="SH")
获取股票清单
python
# 获取沪深A股板块的股票清单
stocks = get_stock_list(sector="沪深A股")
创建图表面板
python
# 创建包含 MA 指标的图表面板
result = create_chart_panel(
codes="000001.SZ,600519.SH",
period="1d",
indicator_name="MA",
param_names="period",
param_values="5"
)
开发
直接启动服务器
bash
# 使用 python 配置文件直接运行服务器
python -m xtquantai
# 或者通过已安装的 XTQuantAI 工具来运行
xtquantai
使用 MCP Inspector 进行调试(仅限于开发阶段)
需要安装 node 环境。
bash
npx @modelcontextprotocol/inspector uv run xtquantai
构建与发布
准备打包:
- 同步依赖并更新锁定文件:
bash
uv sync
- 构建包分发:
bash
uv build
- 在 PyPI 上发布:
bash
uv publish
调试
由于 MCP 服务器通过标准输入/输出运行,在调试上可能会有一些挑战,我们推荐使用 MCP Inspector 进行调试。
项目结构
xtquantai/
├── src/
│ └── xtquantai/
│ ├── __init__.py # 包初始化文件
│ └── server.py # MCP 服务器实现文件
├── main.py # 启动脚本文件
├── server_direct.py # 直接 HTTP 服务器功能实现
├── pyproject.toml # 项目配置
└── README.md # 项目说明文件
许可证
该项目使用的是 MIT 许可证 - 可在 LICENSE 文件中查阅。
贡献机会
十分欢迎您对本项目进行贡献!如有任何问题或者改进的想法,请随时提交问题或更改请求。
感谢
- 感谢 [迅投科技(ThinkTrader)][迅投官网] 提供的量化解决方案
- 谢谢 [模型上下文协议][modelcontextprotocol] 提供的人工智能集成功能框架