安装¶
环境要求¶
- Python
>=3.10,<3.14 - MCP Python SDK
>=2.0.0,<2.1(以2.0.0验证) - 唯一可接受的 Backtrader 运行时是
cloudQuant/backtrader,固定到 commit3c967ed61be184c0099ba5bef55d4bed09ad0b4a。
在专用环境中安装¶
python -m venv .runtime
. .runtime/bin/activate
python -m pip install -c constraints/requirements-v2.txt .
python -m backtrader_mcp --help
constraints/requirements-v2.txt 以带环境标记的方式固定了 Python 3.10-3.13
的完整依赖闭包。包依赖会安装固定的 CloudQuant Backtrader 源码;其他环境中若
Backtrader 缺失,可运行:
backtrader-mcp install-backtrader | python -m json.tool
它只在 Backtrader 缺失时安装;已存在的非 CloudQuant 发行版会被保留并以
installed_backtrader_untrusted 报告。
配置 root¶
只注册绝对、可信的路径:
BACKTRADER_MCP_STATE_ROOT=/absolute/private/state
BACKTRADER_MCP_SOURCE_ROOTS={"market_data":"/absolute/read-only/csv"}
BACKTRADER_MCP_TARGET_ROOTS={"strategies":"/absolute/generated/strategies"}
BACKTRADER_MCP_RUNTIMES={"default":"/absolute/cloudquant-backtrader"}
- MCP 调用方只能拿到 root ID 与相对路径,不能提交绝对路径或可执行路径。
- 运行时 root 必须包含
backtrader/__init__.py,且其 Gitorigin(或已安装 包溯源)必须解析为github.com/cloudquant/backtrader;其他 fork 与公开 PyPI 包会在策略运行前被拒绝。 - 若省略
BACKTRADER_MCP_RUNTIMES,已验证的已安装 CloudQuant 分发会自动 注册为default。
用只读诊断验证¶
export BACKTRADER_MCP_STATE_ROOT='/absolute/private/state'
export BACKTRADER_MCP_SOURCE_ROOTS='{"market_data":"/absolute/read-only/csv"}'
export BACKTRADER_MCP_TARGET_ROOTS='{"strategies":"/absolute/generated/strategies"}'
export BACKTRADER_MCP_RUNTIMES='{"default":"/absolute/cloudquant-backtrader"}'
backtrader-mcp doctor | python -m json.tool
doctor.status 必须为 passed。报告是稳定的 JSON,覆盖产品与依赖版本、已
安装 Backtrader 溯源、root 检查,以及每个运行时的 module file / 版本 /
commit / 能力。诊断本身绝不创建 state root,也不写入 source/target root。