Skip to main content

Jesse MCP Server

PyPI version Python 3.10+ License: MIT

An MCP (Model Context Protocol) server that exposes Jesse's algorithmic trading framework capabilities to LLM agents.

Status: Feature Complete ✅

All planned features implemented and tested. 32 tools available (17 core + 15 agent).

Installation

PyPI

pip install jesse-mcp

uvx (recommended for running directly)

uvx jesse-mcp

Arch Linux (AUR)

yay -S jesse-mcp
# or
paru -S jesse-mcp

From Source

git clone https://github.com/bkuri/jesse-mcp.git
cd jesse-mcp
pip install -e .

Usage

# stdio transport (default, for MCP clients)
jesse-mcp

# HTTP transport (for remote access)
jesse-mcp --transport http --port 8100

# Show help
jesse-mcp --help

Environment Variables

Variable Description Default
JESSE_URL Jesse REST API URL http://localhost:9000
JESSE_PASSWORD Jesse UI password (required)
JESSE_API_TOKEN Pre-generated API token (alternative to password)

Features

  • Backtesting - Single and batch backtest execution via Jesse REST API
  • Optimization - Hyperparameter tuning with walk-forward validation
  • Monte Carlo Analysis - Statistical robustness testing
  • Pairs Trading - Cointegration testing and strategy generation
  • Strategy Management - CRUD operations for trading strategies
  • Risk Analysis - VaR, stress testing, comprehensive risk reports
  • Agent Tools - 15 specialized tools for autonomous trading workflows

Architecture

LLM Agent ←→ MCP Protocol ←→ jesse-mcp ←→ Jesse REST API (localhost:9000)
                                    ↓
                            Mock Fallbacks (when Jesse unavailable)

Available Tools (32 Total)

Core Tools (17)

Phase 1: Backtesting

Tool Description
backtest Run single backtest with specified parameters
strategy_list List available strategies
strategy_read Read strategy source code
strategy_validate Validate strategy code

Phase 2: Data & Analysis

Tool Description
candles_import Download candle data from exchanges
backtest_batch Run concurrent multi-asset backtests
analyze_results Extract insights from backtest results
walk_forward Walk-forward analysis for overfitting detection

Phase 3: Optimization

Tool Description
optimize Optimize hyperparameters using Optuna

Phase 4: Risk Analysis

Tool Description
monte_carlo Monte Carlo simulations for risk analysis
var_calculation Value at Risk (historical, parametric, Monte Carlo)
stress_test Test under extreme market scenarios
risk_report Comprehensive risk assessment

Phase 5: Pairs Trading

Tool Description
correlation_matrix Cross-asset correlation analysis
pairs_backtest Backtest pairs trading strategies
factor_analysis Decompose returns into systematic factors
regime_detector Identify market regimes and transitions

Agent Tools (15)

Specialized tools for autonomous trading workflows:

Tool Description
strategy_suggest_improvements AI-powered strategy enhancement suggestions
strategy_compare_strategies Compare multiple strategies side-by-side
strategy_optimize_pair_selection Optimize pairs trading selection
strategy_analyze_optimization_impact Analyze impact of optimization changes
risk_analyze_portfolio Portfolio-level risk analysis
risk_stress_test Advanced stress testing
risk_assess_leverage Leverage risk assessment
risk_recommend_hedges Hedging recommendations
risk_analyze_drawdown_recovery Drawdown recovery analysis
backtest_comprehensive Full backtest with all metrics
backtest_compare_timeframes Compare performance across timeframes
backtest_optimize_parameters Quick parameter optimization
backtest_monte_carlo Backtest with Monte Carlo analysis
backtest_analyze_regimes Regime-aware backtest analysis
backtest_validate_significance Statistical significance validation

Testing

# Install dev dependencies
pip install jesse-mcp[dev]

# Run all tests
pytest -v

# Run with coverage
pytest --cov=jesse_mcp

Status: 49 tests passing

Local Development

Prerequisites

  • Python 3.10+
  • Jesse 1.13.x running on localhost:9000
  • PostgreSQL on localhost:5432
  • Redis on localhost:6379

Start Jesse Stack (Podman)

# 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"

Start Dev MCP Server

./scripts/start-dev-server.sh   # Start on port 8100
./scripts/stop-dev-server.sh    # Stop server

Add to OpenCode

Add to ~/.config/opencode/opencode.json:

{
  "mcp": {
    "jesse-mcp-dev": {
      "type": "remote",
      "url": "http://localhost:8100/mcp",
      "enabled": true
    }
  }
}

Documentation

API Reference

Jesse REST Client

The jesse_rest_client.py module provides direct access to Jesse's 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"
)

Mock Implementations

When Jesse is unavailable, all tools gracefully fall back to mock implementations that return realistic synthetic data. This enables development and testing without a full Jesse installation.

Key Dependencies

Package Version Purpose
fastmcp >=0.3.0 MCP server framework
numpy >=1.24.0 Numerical computations
pandas >=2.0.0 Data manipulation
scipy >=1.10.0 Statistical functions
scikit-learn >=1.3.0 ML utilities
optuna >=3.0.0 Hyperparameter optimization

Project Structure

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

License

MIT License - see LICENSE file for details.

Publishing

This package uses GitHub Actions with PyPI trusted publishing. To release a new version:

  1. Update version in pyproject.toml and jesse_mcp/__init__.py
  2. Create a git tag: git tag v1.x.x
  3. Push tag: git push origin v1.x.x
  4. Create GitHub release - automatically publishes to PyPI

Metadata

Release files for jesse-mcp 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jesse-mcp 1.0.0
File Size Uploaded Provenance
jesse_mcp-1.0.0.tar.gz 75.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for jesse-mcp 1.0.0
File Interpreter ABI Platform
jesse_mcp-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 163.0 kB

Release files / jesse_mcp-1.0.0.tar.gz

Download URL jesse_mcp-1.0.0.tar.gz
Size 75.1 kB
Tags Source
SHA-256 checksum
How to use checksums
0f3201c271dd338bd18fad12703b4af346a8318268f9aadf08940f2d5e3c9193
BLAKE2b-256 checksum
How to use checksums
49243bf909c19390eb6a4f06f069678900a5f7d0bf619ce112209ccb1574f20c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.

Transparency log

Release files / jesse_mcp-1.0.0-py3-none-any.whl

Download URL jesse_mcp-1.0.0-py3-none-any.whl
Size 87.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f78c4078bcbe99a16b31ec77433805f6037c974bb947cf1413f1b7a821f1fe58
BLAKE2b-256 checksum
How to use checksums
484202b37bda76d81ab9cde03768e97b1fac505339c3606187d7ceb188d39e39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.

Transparency log

Security for jesse-mcp 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for jesse_mcp-1.0.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page