BenAwf
BenAwf remote MCP for Strategy Lab. Streamable HTTP. Paper GA; live venue beta.
- 1.0.0
- Version
- remote
- Transport
- 16
- Tools
Security review
Review passedReviewed 1d ago.
- tools: 16 tools scanned
- metadata: scanned
No findings.
Tools (16)
list_iterations
Open Lab @R# rows as the same dump as Live rules (parent, headline @B#, Long/Position/Exit).
get_lineage
Champion @R#, per-iteration verdicts, levers tried/untried/failed on champion, converged flag, and user canvas view vs recommended working @R#.
select_iteration
Load an @R# onto the live canvas so mutate tools edit that iteration.
add_entry_gate
Add one AND entry gate. Args: side + condition JSON. You are the DSL translator. Invent the section JSON (condition/position/exit/cooldown). Browser applies only — BenAwf does not call an LLM. No prose text.
patch_entry_gate
Replace one entry gate by id. Args: id + condition JSON. You are the DSL translator. Invent the section JSON (condition/position/exit/cooldown). Browser applies only — BenAwf does not call an LLM. No prose text.
delete_entry_gate
Remove one entry gate by id (from get_experiment). Args: id only. Refuses when it would leave both long and short with zero gates.
patch_position
Full replace of rules.position. Args: position JSON. You are the DSL translator. Invent the section JSON (condition/position/exit/cooldown). Browser applies only — BenAwf does not call an LLM. No prose text.
patch_exit
Full replace of rules.exit. Args: exit JSON. You are the DSL translator. Invent the section JSON (condition/position/exit/cooldown). Browser applies only — BenAwf does not call an LLM. No prose text.
patch_cooldown
Set root cooldownMinutes. Args: cooldownMinutes number|null. You are the DSL translator. Invent the section JSON (condition/position/exit/cooldown). Browser applies only — BenAwf does not call an LLM. No prose text.
list_strategies
Ids, @R# refs, and backtest headlines for strategies not currently open.
list_backtests
Open Lab @B# rows with window, assets, trade count, PnL, win rate, drawdown, and tape_stripped.
get_backtest
Cache-or-run one sim for an @R# + window, then return Score, trade count, PnL, drawdown, and bounded stats for one run. Numbers only — no BenAwf assessment LLM; you analyze. Same @R# + window → cached @B# (identical stats; follow the comment). After any mutate pass that result's dsl_ref. If you changed rules behind the same R#/draft, or suspect a stale cached @B#, pass force:true to force a fresh sim — never extrapolate from a cached B# of a different rules state.
list_trades
One page of fills (20 per page): trade_id, side, prices, PnL.
get_experiment
Prose summary plus rules JSON (entry gates with ids, position, exit, cooldownMinutes) and that iteration's @B# refs. Read before inventing translator-shaped mutate args.
diff_dsl
Structured rules diff between two @R# iterations (entry gates per side, position, exit, cooldown). Use before adopting an older iteration's levers onto a newer one.
get_market_context_by_date
OHLCV and cited indicators around that date (engine lookback each side).