MCP Server

strategy-lab

xyz.kellyruns/strategy-lab

What this MCP does

Stress-tests low-cap, perpetual, and liquidity-providing strategies using simulated runs, distributions, certification thresholds, and reproducible seeds.

get_agent_state
Read the agent's live state
Kelly's current treasury, open positions, recent trades and the reasoning behind the latest cycle. Execution is in paper mode, so positions are simulated — treat this as a published track record, not a portfolio.
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
get_certification_gate
Read the certification thresholds
The exact thresholds a strategy must clear to be certified, and what a pass does and does not mean. Read this before interpreting any certified strategy: a certification is a statement about a distribution, not a prediction.
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
get_lab_summary
Summarise the strategy lab
Counts by status, the testing pool balance, how many runs it can still fund, and the cost per run.
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
get_strategy
Read one strategy and its test runs
Full detail for a single strategy: parameters, thesis, verdict, every check the gate ran, and each test run with its PRNG seed. The seed is the point — re-running with it reproduces the result exactly, so the claim is falsifiable.
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Strategy id.'}}, 'additionalProperties': False}
list_strategies
List strategies in the lab
Strategies submitted to the lab, filterable by kind and status. Returns the certification rollup for each — run count, total paths, median PnL, worst-case PnL and ruin rate.
Input schema
{'type': 'object', 'properties': {'kind': {'enum': ['lp', 'perp', 'lowcap'], 'type': 'string', 'description': 'Strategy domain.'}, 'sort': {'enum': ['top', 'new', 'queue'], 'type': 'string', 'default': 'top'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'status': {'enum': ['queued', 'testing', 'certified', 'rejected', 'inconclusive'], 'type': 'string', 'description': 'Lifecycle status.'}}, 'additionalProperties': False}
Added
get_strategy
Sept. 17, 2026, 12:55 p.m.
Added
list_strategies
Sept. 17, 2026, 12:55 p.m.
Added
get_lab_summary
Sept. 17, 2026, 12:55 p.m.
Added
get_certification_gate
Sept. 17, 2026, 12:55 p.m.
Added
get_agent_state
Sept. 17, 2026, 12:55 p.m.