Jesse MCP服务器
](https://badge.fury.io/py/jesse-mcp)  
一个MCP(模型上下文协议)服务器,向LLM代理公开Jesse的算法交易框架功能。
状态:功能完成✅
所有计划的功能都已实施和测试。32个工具可用(17个核心+15个代理)。
安装
PyPI
pip install jesse-mcpuvx(建议直接运行)
uvx jesse-mcpArch Linux(AUR)
yay -S jesse-mcp
# or
paru -S jesse-mcp源自
git clone https://github.com/bkuri/jesse-mcp.git
cd jesse-mcp
pip install -e .用法
# stdio transport (default, for MCP clients)
jesse-mcp
# HTTP transport (for remote access)
jesse-mcp --transport http --port 8100
# Show help
jesse-mcp --help环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
JESSE_URL | Jesse REST API URL | http://server2:9100 |
JESSE_PASSWORD | Jesse UI密码 | (必填) |
JESSE_API_TOKEN | 预生成的API令牌 | (可替代密码) |
JESSE_TRADE_API_KEY | jesse.trade社区API Bearer代币 | (可选) |
特性
- 回溯测试 -通过Jesse REST API执行单个和批回测试
- 优化 -带前进验证的超参数调优
- 蒙特卡罗分析 -统计稳健性测试
- 配对交易 -协整测试和策略生成
- 战略管理 -交易策略的CRUD操作
- 风险分析 -风险价值、压力测试、综合风险报告
- 代理工具 -15个用于自主交易工作流程的专用工具
- 社区浏览 -浏览、比较和检查jesse.trade社区策略
建筑
LLM Agent ←→ MCP Protocol ←→ jesse-mcp ←→ Jesse REST API (localhost:9000)
↓
Mock Fallbacks (when Jesse unavailable)可用工具
核心工具(17)
第1阶段:回测
| 工具 | 说明 |
|---|---|
backtest | 使用指定参数运行单次回溯测试 |
strategy_list | 列出可用策略 |
strategy_read | 阅读策略源代码 |
strategy_validate | 验证策略代码 |
第二阶段:数据与分析
| 工具 | 说明 |
|---|---|
candles_import | 从交易所下载蜡烛数据 |
backtest_batch | 运行并发多资产回溯测试 |
analyze_results | 从回溯测试结果中提取见解 |
walk_forward | 用于过拟合检测的前向分析 |
第三阶段:优化
| 工具 | 说明 |
|---|---|
optimize | 使用Optuna优化超参数 |
第四阶段:风险分析
| 工具 | 说明 |
|---|---|
monte_carlo | 风险分析的蒙特卡罗模拟 |
var_calculation | 风险价值(历史、参数、蒙特卡洛) |
stress_test | 极端市场情景下的测试 |
risk_report | 综合风险评估 |
第五阶段:配对交易
| 工具 | 说明 |
|---|---|
correlation_matrix | 交叉资产相关性分析 |
pairs_backtest | 回溯配对交易策略 |
factor_analysis | 将回报分解为系统因素 |
regime_detector | 识别市场机制和转型 |
代理工具(15)
自主交易工作流程的专用工具:
| 工具 | 说明 |
|---|---|
strategy_suggest_improvements | 基于人工智能的战略增强建议 |
strategy_compare_strategies | 并排比较多种策略 |
strategy_optimize_pair_selection | 优化配对交易选择 |
strategy_analyze_optimization_impact | 分析优化变更的影响 |
risk_analyze_portfolio | 投资组合级风险分析 |
risk_stress_test | 高级压力测试 |
risk_assess_leverage | 利用风险评估 |
risk_recommend_hedges | 对冲建议 |
risk_analyze_drawdown_recovery | 提款回收分析 |
backtest_comprehensive | 包含所有指标的完整回溯测试 |
backtest_compare_timeframes | 比较不同时间段的性能 |
backtest_optimize_parameters | 快速参数优化 |
backtest_monte_carlo | 使用蒙特卡洛分析进行回测 |
backtest_analyze_regimes | 制度意识回溯测试分析 |
backtest_validate_significance | 统计显著性验证 |
社区工具(5)
浏览、比较和检查来自jesse.trade的社区策略:
| 工具 | 说明 |
|---|---|
list_periods | 在jesse.trade上列出可用的回溯测试时段 |
browse_community_strategies | 浏览按绩效指标排序的策略 |
get_strategy_metrics | 特定策略的详细回溯测试指标 |
get_strategy_code | 策略的完整Python源代码 |
compare_community_strategies | 多种策略的并排度量比较 |
测试
# Install dev dependencies
pip install jesse-mcp[dev]
# Run all tests
pytest -v
# Run with coverage
pytest --cov=jesse_mcp状态: 49项测试通过
本地开发
先决条件
- Python 3.10+
- Jesse 1.13.x在本地主机上运行:9000
- 本地主机上的PostgreSQL:5432
- 本地主机上的Redis:6379
杰西·斯塔克(波德曼)
# Start infrastructure
podman run -d --name jesse-postgres --network host \
-e POSTGRES_USER=jesse_user -e POSTGRES_PASSWORD=password -e POSTGRES_DB=jesse_db \
docker.io/library/postgres:14-alpine
podman run -d --name jesse-redis --network host \
docker.io/library/redis:6-alpine redis-server --save "" --appendonly no
# Start Jesse
podman run -d --name jesse --network host \
-v /path/to/jesse-bot:/home:z \
docker.io/salehmir/jesse:latest bash -c "cd /home && jesse run"启动开发MCP服务器
./scripts/start-dev-server.sh # Start on port 8100
./scripts/stop-dev-server.sh # Stop server添加到OpenCode
添加 ~/.config/opencode/opencode.json:
{
"mcp": {
"jesse-mcp-dev": {
"type": "remote",
"url": "http://localhost:8100/mcp",
"enabled": true
}
}
}文档
API 参考
Jesse REST客户端
这 jesse_rest_client.py 模块提供对Jesse的REST API的直接访问:
from jesse_mcp.core.jesse_rest_client import get_jesse_rest_client
client = get_jesse_rest_client()
# Run backtest
result = client.backtest(
strategy="OctopusStrategy",
symbol="BTC-USDT",
timeframe="1h",
start_date="2024-01-01",
end_date="2024-01-31"
)模拟实现
当Jesse不可用时,所有工具都会优雅地退回到返回真实合成数据的模拟实现中。这使得无需完整安装Jesse即可进行开发和测试。
关键依赖关系
| 包装 | 版本 | 用途 |
|---|---|---|
| fastmcp | >=0.3.0 | MCP服务器框架 |
| numpy | >=1.24.0 | 数值计算 |
| pandas | >=2.0.0 | 数据操作 |
| scipy | >=1.10.0 | 统计函数 |
| scikit-learn | >=1.3.0 | ML实用程序 |
| optuna | >=3.0.0 | 超参数优化 |
项目结构
jesse_mcp/
├── server.py # FastMCP server with 17 core tools
├── optimizer.py # Phase 3: Optimization tools
├── risk_analyzer.py # Phase 4: Risk analysis tools
├── pairs_analyzer.py # Phase 5: Pairs trading tools
├── agent_tools.py # 15 agent-specific tools
├── core/
│ ├── integrations.py # Jesse framework integration
│ ├── jesse_rest_client.py # REST API client
│ └── mock.py # Mock implementations
├── agents/
│ ├── base.py # Base agent class
│ ├── backtester.py # Backtesting specialist
│ └── risk_manager.py # Risk management specialist
└── scripts/
├── start-dev-server.sh
└── stop-dev-server.sh许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
出版
此包使用GitHub Actions和PyPI可信发布。要发布新版本,请执行以下操作:
- 更新版本
pyproject.toml和jesse_mcp/__init__.py - 创建一个git标签:
git tag v1.x.x - 推送标签:
git push origin v1.x.x - 创建GitHub发布-自动发布到PyPI
