Manifoldbt Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Manifoldbt Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Releasing to PyPI is fully automated via GitHub Actions + PyPI Trusted Publishing — just tag vX.Y.Z and push.Model Context Protocol (MCP) server for [manifoldbt](https://github.com/Jimmy7892/manifoldbt) — the Rust-powered backtesting engine for quantitative research.
Expose the full manifoldbt backtesting engine to any MCP-compatible client (Claude Desktop, Claude Code, Cursor, Devin, VS Code, Windsurf, …). Let an LLM author strategies, run backtests, sweep parameters, and generate tearsheets — without the user writing a line of Python.
This package is not affiliated with the manifoldbt authors; it is a thin adapter that imports the published manifoldbt wheel and wraps its Python API behind an MCP server. All heavy lifting is done by the underlying Rust engine.
pip install manifoldbt-mcpThis pulls in manifoldbt and the reference mcp Python SDK as dependencies. Python 3.10+ is required.
Optional extras:
pip install "manifoldbt-mcp[plot]" # matplotlib, for plot_tearsheet
pip install "manifoldbt-mcp[dev]" # pytest, ruff, matplotlibmanifoldbt-mcp # stdio transport (default)
manifoldbt-mcp --http --port 8765 # streamable-HTTP transport
manifoldbt-mcp --http --host 0.0.0.0 # remote deployment~/Library/Application Support/Claude/claude_desktop_config.json (or %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"manifoldbt": {
"command": "manifoldbt-mcp"
}
}
}claude mcp add manifoldbt -- manifoldbt-mcp{
"mcpServers": {
"manifoldbt": {
"command": "manifoldbt-mcp"
}
}
}Any MCP-over-stdio client will work — just point it at the manifoldbt-mcp binary that pip installed on your PATH.
manifoldbt-mcp --http --host 0.0.0.0 --port 8765Then connect your MCP client to http://<host>:8765/mcp.
| Tool | Purpose |
|---|---|
get_version | Return manifoldbt version + license tier (Community / Pro). |
activate_license | Activate a Pro license key for the running process. |
list_indicators | Enumerate all 45+ indicators with their Python signatures. |
list_examples, get_example | Browse / fetch bundled example strategies. |
list_symbols, resolve_symbol | Inspect a DataStore, resolve tickers. |
ingest_data | Pull bars from Binance / Hyperliquid (Databento / Massive on Pro). |
build_strategy | Compile a Python DSL snippet → StrategyDef JSON + params. |
validate_strategy | Validate a StrategyDef JSON through the Rust compiler. |
run_backtest | Run a single backtest and return metrics + summary. |
run_batch | Run many strategies in parallel on a shared data load. |
run_sweep | Cartesian parameter sweep, ranked by any metric. |
run_sweep_2d | 2-D parameter heatmap. |
run_walk_forward | Walk-forward optimisation (Pro). |
run_stability | Parameter stability analysis. |
run_monte_carlo | Trade-permutation Monte Carlo on a fresh backtest. |
run_stochastic | SDE path simulation (GBM, Heston, Merton, GARCH-JD, or custom). |
run_portfolio | Multi-strategy portfolio with risk rules & rebalancing. |
plot_tearsheet | Render a full tearsheet as a self-contained HTML report from a backtest. |
| URI | Content |
|---|---|
manifoldbt://reference/api | Quick API tour. |
manifoldbt://reference/indicators | Full indicator reference (Markdown). |
manifoldbt://reference/strategy-authoring | The strategy authoring guide shipped with manifoldbt. |
manifoldbt://examples/{filename} | Source of a bundled example (e.g. 01_trend_following.py). |
strategy from a natural-language description.
run_backtest metrics payloadinto a research note.
Every tool is JSON-friendly so LLM clients don't have to think about types:
"2022-01-01" or "2022-01-01 09:30:00"."1h", "5m", "15s", "1d"."binance_perps", "binance_spot", "zero"; ora dict with individual overrides.
{"kind": "fixed_bps", "bps": 2},{"kind": "volume_impact", "impact_coeff": 0.1, "exponent": 1.5}, etc.
Strategies are authored as Python DSL snippets executed in a namespace that pre-imports every manifoldbt symbol — so the LLM never has to write import statements:
fast = ema(close, 12)
slow = ema(close, 26)
strategy = (
Strategy.create("ema_cross")
.signal("fast", fast)
.signal("slow", slow)
.size(when(fast > slow, lit(0.5), lit(0.0)))
.stop_loss(pct=3.0)
)Or, if the client prefers, send the already-serialised StrategyDef JSON through strategy_json on any tool.
run_backtest payload{
"strategy_code": "fast = ema(close, 12)\nslow = ema(close, 26)\nstrategy = Strategy.create('ema_cross').signal('fast', fast).signal('slow', slow).size(when(fast > slow, lit(0.5), lit(0.0))).stop_loss(pct=3.0)",
"config": {
"universe": {"binance": ["BTC-USDT:perp"]},
"start": "2022-01-01",
"end": "2024-01-01",
"bar_interval": "1h",
"initial_capital": 10000,
"fees": "binance_perps",
"slippage": {"kind": "fixed_bps", "bps": 2},
"warmup_bars": 60
},
"store": {
"data_root": "data",
"metadata_db": "metadata/metadata.sqlite"
}
}list_indicators → discover available indicators.write_strategy prompt → draft a strategy.build_strategy(strategy_code=…) → validated StrategyDef + declared parameters.run_backtest(…) → metrics + summary.run_sweep(…) ranked by Sharpe → find the best variant.plot_tearsheet(…) → HTML tearsheet report on disk.analyze_result prompt → research note.strategy_code is executed in-process by the Python interpreter — **thereis no sandbox**. The DSL namespace is convenient (pre-imported manifoldbt symbols), but nothing prevents arbitrary Python from running. Only use this server with trusted clients, or run it isolated (dedicated venv, container, restricted user).
--http.git clone https://github.com/ClementG91/manifoldbt-mcp
cd manifoldbt-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest
ruff check .MIT — see LICENSE.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.