MCP server
mcp-backtest-server
IP-clean backtest tools over the Model Context Protocol. Three tools, four textbook strategies, zero market data.
100% offline · 4 strategies · 0 lines of proprietary data
$ uv run server.py
# FastMCP server listening on stdio
{"tools":["get_ohlcv","run_backtest","compute_metrics"]}
smoke · 262 bars returned
sma_cross sharpe=0.471 cagr=0.079 max_dd=-0.21
buy_and_hold sharpe=-0.490
PASS · deterministic from symbol seed
16 papers · 0 API keys · 0 LLM dependency
$ python -m qfin_rag "How do I correct factor significance for data mining?"
# Citations for: How do I correct ...
## Harvey (2016) — And the Cross-Section ...
*Review of Financial Studies, 2016* (relevance: 0.173)
query → 16-paper curated corpus
top-3 by TF-IDF cosine
citation-grounded prompt template
NO network calls
10 demo claims · 5 pass · 5 fail by design
$ python -m eval_harness
[FAIL] btc_2024_sma_cross_20_50 / sharpe: claimed=5.0,
truth=0.4707, diff=4.5293 > tol 0.05
=== summary ===
5/10 passed (50.0%)
fixtures computed deterministically from seeded backtest
tolerances per metric (Sharpe atol=0.05, CAGR=0.02)
per-claim reason + diff vs tolerance
exit code = number of failed claims