accueil / serveurs / Recherche & Web / com.benawf/mcp
com.benawf/mcp
serveur MCP (Model Context Protocol) · benawf 1.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.benawf/mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.benawf/mcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 16 outils
- add_entry_gate≈ 2022 tokens
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.
Paramètres, retour & exemple (3)
Paramètresside· string · requis · long | short
entry.long or entry.short.condition· ? · requis
Translator-shaped entry gate condition.strategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.
Exemple d'appel{"name": "add_entry_gate", "arguments": {"side": "long", "condition": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_entry_gate≈ 160 tokens
Remove one entry gate by id (from get_experiment). Args: id only. Refuses when it would leave both long and short with zero gates.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Gate id shown in Live rules or get_experiment.strategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.
Exemple d'appel{"name": "delete_entry_gate", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - diff_dsl≈ 196 tokens
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.
Paramètres, retour & exemple (3)
Paramètresref_a· string · requis
First @R# to compare (older / baseline).ref_b· string · requis
Second @R# to compare (newer).strategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.
Exemple d'appel{"name": "diff_dsl", "arguments": {"ref_a": "texte", "ref_b": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_backtest≈ 702 tokens
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.
Paramètres, retour & exemple (4)
Paramètresref· string · requis
@R# to sim. After mutate use that result's dsl_ref, not the Live-rules header.force· boolean · optionnel
Skip the cache and force a fresh sim for this @R# + window. Use after any rule change on the same R#/draft, or whenever a cached B# is suspect.config· object · optionnel
Window + capital. Omit to reuse the previous run's window. Do not send empty strings or zeros.strategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.
Exemple d'appel{"name": "get_backtest", "arguments": {"ref": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_experiment≈ 167 tokens
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.
Paramètres, retour & exemple (2)
Paramètresref· string · requis
DSL iteration ref @R# (e.g. R2 or @R2).strategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.
Exemple d'appel{"name": "get_experiment", "arguments": {"ref": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_lineage≈ 125 tokens
Champion @R#, per-iteration verdicts, levers tried/untried/failed on champion, converged flag, and user canvas view vs recommended working @R#.
Paramètres, retour & exemple (1)
Paramètresstrategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.
Exemple d'appel{"name": "get_lineage", "arguments": {"strategy_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_market_context_by_date≈ 433 tokens
OHLCV and cited indicators around that date (engine lookback each side).
Paramètres, retour & exemple (4)
Paramètresdate· string · requissymbol· string · requis · BTC | ETH | SOL | XRP | BNB | LTC | LINK | DOGEtime_frame· number · requis · 1 | 5 | 15 | 30 | 60 | 240 | 1440
OHLCV timeframe in minutes: 1, 5, 15, 30, 60, 240, 1440.strategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.
Exemple d'appel{"name": "get_market_context_by_date", "arguments": {"date": "texte", "symbol": "BTC", "time_frame": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_backtests≈ 170 tokens
Open Lab @B# rows with window, assets, trade count, PnL, win rate, drawdown, and tape_stripped.
Paramètres, retour & exemple (2)
Paramètresstrategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.iteration_ref· string · optionnel
Optional @R#. Omit to retrieve backtests across all iterations.
Exemple d'appel{"name": "list_backtests", "arguments": {"strategy_id": "texte", "iteration_ref": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_iterations≈ 114 tokens
Open Lab @R# rows as the same dump as Live rules (parent, headline @B#, Long/Position/Exit).
Paramètres, retour & exemple (1)
Paramètresstrategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.
Exemple d'appel{"name": "list_iterations", "arguments": {"strategy_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_strategies≈ 133 tokens
Ids, @R# refs, and backtest headlines for strategies not currently open.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionneloffset· integer · optionnelstrategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.
Exemple d'appel{"name": "list_strategies", "arguments": {"limit": 1, "offset": 1, "strategy_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_trades≈ 181 tokens
One page of fills (20 per page): trade_id, side, prices, PnL.
Paramètres, retour & exemple (4)
Paramètresref· string · requis
Backtest @B# ref (e.g. B3 or @B3).page· integer · requissort· string · requis · open_date | pnlstrategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.
Exemple d'appel{"name": "list_trades", "arguments": {"ref": "texte", "page": 1, "sort": "open_date"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - patch_cooldown≈ 190 tokens
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.
Paramètres, retour & exemple (2)
Paramètresstrategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.cooldownMinutes· ? · requis
Root cooldownMinutes, or null to clear.
Exemple d'appel{"name": "patch_cooldown", "arguments": {"cooldownMinutes": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - patch_entry_gate≈ 2028 tokens
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.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
Gate id from get_experiment.rules.entry.condition· ? · requis
Translator-shaped replacement condition.strategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.
Exemple d'appel{"name": "patch_entry_gate", "arguments": {"id": "texte", "condition": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - patch_exit≈ 3268 tokens
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.
Paramètres, retour & exemple (2)
Paramètresexit· object · requis
Full replace of rules.exit (not a merge). Every key required — null disables: stopLossPercentage + takeProfitPercentage = 0–100 number OR {source,op,value,fallbackPercentage,minPercentage,maxPercentage}; partialExitsAt = [{pricePercentage, exitAmountFraction}] | null (pricePercentage is a decimal fraction: 0.03 = +3%, NOT the 0–100 SL/TP scale); trail = [fire, extend] | null (fire in (0,1), extend >= 0; NOT {fire,extend}); breakevenAfterMinutes + maxHoldMinutes = number | null; signalExit = {long, short} condition arrays | null. Cooldown lives on the rules root (op=patch_cooldown), not here.strategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.
Exemple d'appel{"name": "patch_exit", "arguments": {"exit": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - patch_position≈ 574 tokens
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.
Paramètres, retour & exemple (2)
Paramètresposition· object · requis
Full replace of rules.position (not a merge). Every key required. usdAmount XOR balancePercent (unused = 0). orderType = market|limit. limitPrice + expiresInMinutes = number | null (null unless limit). usedTechnicalAnalysisIndicators = string[] ([] if none; never zone types).strategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.
Exemple d'appel{"name": "patch_position", "arguments": {"position": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - select_iteration≈ 145 tokens
Load an @R# onto the live canvas so mutate tools edit that iteration.
Paramètres, retour & exemple (2)
Paramètresref· string · requis
@R# to load onto the canvas (usually champion).strategy_id· string · optionnel
Strategy id. Prefer always: routes to that Lab tab, and NO_ACTIVE_LAB errors include a direct Lab URL to open.
Exemple d'appel{"name": "select_iteration", "arguments": {"ref": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».