io.github.CacheCarti/dmoera-creator
repo:https://github.com/cachecarti/dmoera-mcp
Build, backtest, and deploy crypto trading strategies via MCP with 7-stage validation.
- transport:
- remote
- credential class:
- open
Owner verification
Not yet verified. Verifying proves you control this server and is free, permanently — it never changes a published score.
Start verification →Tools
- activate_fundshallow
Activate Manager Mode for a fund — starts the personal router. This deploys capital across the fund's roster bots according to their weights and the fund's risk caps. The main platform router is paused while Manager Mode is active. Args: user_id: The user's ID (must own the fund). fund_id: The fund's ID. Returns success or error.
- add_bot_to_fundshallow
Add a bot to a fund's roster. Args: user_id: The user's ID (must own the fund). fund_id: The fund's ID. bot_id: The bot to add (e.g. "momentum_eth_v3"). bot_domain: The bot's domain (e.g. "eth_usdc", "btc_usdc"). weight: Initial allocation weight in percent (default 20.0). Returns the updated roster entry.
- browse_fund_marketplaceshallow
Browse bots available for adding to a fund roster. Shows bots with their performance stats and available capacity. Requires the trading engine to be running. Args: domain: Filter by domain (e.g. "eth_usdc"). min_sharpe: Minimum Sharpe ratio filter. Returns a JSON array of marketplace bot entries.
- close_fundshallow
Permanently close a hedge fund. Returns all capital to the wallet. This is irreversible. The fund's performance record is preserved for reporting and copy-trader settlement. Args: user_id: The user's ID (must own the fund). fund_id: The fund's ID. Returns success or error.
- create_fundshallow
Create a new hedge fund for the user. The fund starts inactive — call activate_fund to start Manager Mode. Initial capital is taken from the user's wallet_cash at creation time. Args: user_id: The user's ID. fund_name: Display name for the fund. router_preset: Risk profile — one of "prudent", "standard", "opportunistic", "unrestricted". aggression_mode: "normal" or "yolo". philosophy: Optional text describing the fund's investment thesis (max 2000 chars). Returns the created fund object.
- deactivate_fundshallow
Deactivate Manager Mode — returns to the main platform router. Closes all roster bot positions and returns capital to the wallet. Args: user_id: The user's ID (must own the fund). fund_id: The fund's ID. Returns success or error.
- delist_strategyshallow
Delist a strategy from the platform. Retired bots (tombstone=False) stay visible with their performance history — bad performance can't be hidden. Tombstoned bots (tombstone=True) are permanently removed and cannot be re-submitted. Args: strategy_id: The ID of the strategy to delist. tombstone: If True, permanently remove (cannot re-submit). If False, just retire (can re-submit with improvements). api_key: Your dMoERA Personal Access Token. Required for this tool. Get one at https://dmoera.xyz → Settings → API Keys. (If running locally with DMOERA_API_KEY env var set, this can be omitted.) Returns JSON with: success, strategy_id, status.
- estimate_swap_costshallow
Estimate the friction cost (in bps) of swapping a bot in a fund. Use this before calling swap_bot_in_fund to understand the cost of winding down the old bot's positions and opening new ones. Args: fund_id: The fund's ID. old_bot_id: The bot being considered for removal. new_bot_id: The replacement bot. new_bot_domain: The replacement bot's domain. Returns the estimated friction in bps of fund AUM.
- fork_strategyshallow
Get the source code from an open-source strategy for forking. Returns the full code + parent info. Use this to study and remix open-source strategies from the open-source leaderboard. The actual submission of the forked code goes through submit_strategy with parent_strategy_id set (which the backend uses to exclude the parent from similarity checks). Args: strategy_id: The ID of the open-source strategy to fork. api_key: Your dMoERA Personal Access Token. Required for this tool. Get one at https://dmoera.xyz → Settings → API Keys. (If running locally with DMOERA_API_KEY env var set, this can be omitted.) Returns JSON with: success, parent_strategy_id, parent_bot_id, parent_name, parent_domain, code.
- generate_fund_report_cardshallow
Generate a new report card for a fund (immutable once saved). Args: fund_id: The fund's ID. Returns the generated report card with grades and analysis.
- get_active_fundshallow
Get the user's currently active (Manager Mode) fund. Args: user_id: The user's ID. Returns the active fund object or null if Manager Mode is not active.
- get_bot_profileshallow
Get detailed profile and performance stats for a specific bot. Args: bot_id: The bot identifier (e.g. "Eth_Full_Ensemble"). Returns JSON with: bot_id, domain, strategy type, full performance metrics (Sharpe, Sortino, Calmar, profit factor, win rate, return, max drawdown, avg trade), and proven tier.
- get_current_pricesshallow
Get current live prices for all tracked symbols. Returns JSON with symbol -> {price, change_24h_pct, volume_24h, source} for ETHUSDT, BTCUSDT, SOLUSDT.
- get_feature_catalogshallow
List all data feeds available to strategies via ctx.features. Features are external data that strategies can read during on_bar(). Each feature has a status: "live" (available now) or "planned" (roadmap). Returns JSON array of features with: key, label, description, unit, example, cadence, source, and status.
- get_fundshallow
Get detailed info for a specific hedge fund, including its roster. Args: fund_id: The fund's ID. Returns a JSON object with fund details and active roster entries (bot_id, bot_name, weight, domain, current_pnl).
- get_fund_analyticsshallow
Get real-time analytics for a fund dashboard. Args: fund_id: The fund's ID. Returns fund analytics: allocation breakdown, per-bot performance, risk metrics, and benchmark comparison.
- get_fund_live_pnlshallow
Build a real-time PnL chart from closed positions for a fund's roster. Args: fund_id: The fund's ID. Returns a JSON series of cumulative PnL points.
- get_fund_performanceshallow
Get performance snapshots for a fund's P&L graph. Args: fund_id: The fund's ID. limit: Max snapshots to return (default 100). Returns a JSON time-series of AUM/PnL snapshots.
- get_fund_positionsshallow
Get open positions for a fund's roster bots. Args: fund_id: The fund's ID. Returns a JSON array of open positions with entry/exit prices and PnL.
- get_fund_report_cardshallow
Get the latest report card for a fund. Args: fund_id: The fund's ID. Returns the latest immutable report card, or null if none exists.
- get_fund_tradesshallow
Get closed trade history for a fund's roster bots. Args: fund_id: The fund's ID. limit: Max trades to return (default 50). offset: Pagination offset. Returns a JSON array of closed trades.
- get_market_regimeshallow
Get current market regime classification. Returns the aggregate regime (e.g. "bull_calm", "bear_volatile"), per-symbol regimes, crisis score, and the derivatives data driving the classification (funding rates, open interest, long/short ratios). Regime determines which trade directions are allowed: - bull_* -> longs only - bear_* -> shorts only - neutral_* -> both longs and shorts - crisis/meltdown -> no new positions
- get_marketplace_botsshallow
List bots published to the marketplace. Args: domain: Filter by domain (e.g. "eth_usdc"). Omit for all domains. sort: Sort order — "rating", "return", "subscribers", or "newest". limit: Max results (default 20, max 100). Returns JSON array of marketplace listings with: listing_id, bot_id, title, description, domain, creator, monthly_price_usd, stats (win_rate, return_bps, sharpe), subscriber_count, and avg_rating.
- get_open_source_leaderboardshallow
Browse the open-source strategy leaderboard with FIFA-style ratings. Each strategy gets an overall rating (0-99) with sub-ratings for edge, drawdown control, regime fit, risk, turnover, and robustness. Strategies are tagged with positions (GK, DEF, MID, FWD) and tier (Bronze, Silver, Gold, Elite) like FIFA Ultimate Team cards. Use this to discover strategies worth forking. Then call fork_strategy with the strategy_id to get the code. Args: sort_by: Sort key — overall | edge | dd_ctrl | regime | risk | turnover | robust | forks | likes | return | sharpe | trades | newest domain: Filter by domain (e.g. "eth_usdc"). Empty = all domains. limit: Max entries to return. Returns JSON with: success, count, and bot entries with ratings, validation metrics, creator_username, fork_count, like_count.
- get_strategy_reportshallow
Get a detailed report card for a strategy. Includes validation run results for all 7 stages, performance metrics, and the integrity block (code hash, AST hash, parameter fingerprint). Args: strategy_id: The strategy's database ID. Returns JSON with: strategy details, latest validation runs, metrics.
- get_tournament_statusshallow
Get current tournament round status and leaderboard. Tournaments run every 3 days. Top 3 bots per domain win prizes from the reward pool. Scoring is based on the bot's own performance: 50% risk-adjusted (rolling Sharpe), 30% total return, 20% consistency. Returns JSON with: current round info (round_id, start/end time, reward_pool_usd, total_participants, hours_remaining), and leaderboard entries.
- get_vault_historyshallow
Get the Vault's regime switch history for the timeline. Returns a JSON array of past regime transitions with timestamps.
- get_vault_statusshallow
Get the authenticated user's Vault state. The Vault is a regime-aware allocator: in strong markets most capital holds BTC/ETH/SOL; when the market weakens it rotates into savings and funding arbitrage. Returns current regime, allocation weights, and sleeve holdings.
- list_botsshallow
List trading bots ranked by performance. Args: domain: Filter by domain key (e.g. "eth_usdc", "btc_usdc", "sol_usdc"). If omitted, returns top bots across all domains. limit: Maximum number of bots to return (default 20, max 100). Returns JSON array of bots with: bot_id, domain, strategy_name, sharpe, win_rate, total_trades, return_bps, and validation_score.
- list_domainsshallow
List all available trading domains on dMoERA. Domains define what asset pair a strategy trades, what time horizon it uses (scalp=5m, swing=1h), and what data is available. Strategies must declare which domain they belong to. Returns a JSON array of domain objects with: key, name, type, base_asset, quote_asset, grading_seconds, and feed_symbols.
- list_fundsshallow
List all hedge funds for a user (active + closed). Args: user_id: The user's ID. Returns a JSON array of fund objects with: id, fund_name, is_active, inception_date, initial_capital, current_aum, router_preset, aggression_mode, total_pnl_usd, total_pnl_bps, and roster summary.
- list_my_botsshallow
List the authenticated user's OWN bots eligible for a personal fund roster. Personal funds can NEVER contain another user's bots — this returns only the caller's own personal + incubating + live bots with live engine stats and gamified card ratings. Args: domain: Filter by domain (e.g. "eth_usdc"). Returns a JSON array of the user's bots.
- list_open_source_botsshallow
Browse open-source bots with normalized stats and capacity info. NOTE: personal funds can only contain the authenticated user's OWN bots — use list_my_bots for roster-eligible strategies. This tool is for researching the broader bot ecosystem. Args: domain: Filter by domain (e.g. "eth_usdc"). Returns a JSON array of bot entries with gamified card ratings.
- list_strategiesshallow
List all strategies created by a user. Args: user_id: The creator's user ID (authentication required). api_key: Your dMoERA Personal Access Token. Required for this tool. Get one at https://dmoera.xyz → Settings → API Keys. (If running locally with DMOERA_API_KEY env var set, this can be omitted.) Returns JSON array of strategies with: id, bot_id, name, domain, status, and created_at.
- open_source_strategyshallow
Convert a rejected strategy to open-source status. The strategy must have passed stages 1-2 (static check + in-sample with >=5 trades). Its code becomes public on the open-source leaderboard where other creators can fork it. Open-source bots cannot enter tournaments or receive fund allocations — they're for community learning. Use this when a strategy fails full validation but still has educational value or interesting logic worth sharing. Args: strategy_id: The ID of the strategy to open-source (from submit_strategy or list_strategies). api_key: Your dMoERA Personal Access Token. Required for this tool. Get one at https://dmoera.xyz → Settings → API Keys. (If running locally with DMOERA_API_KEY env var set, this can be omitted.) Returns JSON with: success, strategy_id, status, bot_id, or error.
- remove_bot_from_fundshallow
Remove a bot from a fund's roster (triggers wind-down of its positions). Args: user_id: The user's ID (must own the fund). fund_id: The fund's ID. bot_id: The bot to remove. reason: Optional reason for removal. Returns success or error.
- run_fund_historical_testshallow
Simulate how a roster of bots would have performed historically. Queries each bot's closed positions over the available historical period and combines them (weighted) into a single PnL time-series with diagnosis. Rate limited: 1 request per 30 seconds per user. Args: roster: List of {"bot_id": str, "weight_pct": float} entries. initial_capital: Starting capital for the simulation (default 10000). Returns the simulated PnL time-series and diagnosis.
- sandbox_backtestshallow
Run a sandbox backtest of strategy code without persisting anything. This is the fastest way to test a strategy. The code is run through static checks and a full backtest on historical data, but no Strategy rows are created. Use this for rapid iteration. Args: code: Python source code implementing the Strategy contract. Must define a METADATA dict and a class extending Strategy with an on_bar(ctx) -> Signal method. See the strategy template resource. domain: Trading domain (e.g. "eth_usdc", "btc_usdc", "sol_usdc"). user_id: Identifier for the creator (requires authentication for this endpoint). api_key: Your dMoERA Personal Access Token. Required for this tool. Get one at https://dmoera.xyz → Settings → API Keys. (If running locally with DMOERA_API_KEY env var set, this can be omitted.) Returns JSON with: success, metrics (sharpe, sortino, win_rate, total_trades, return_bps, max_drawdown, regime_breakdown), or error details if validation failed.
- submit_strategyshallow
Submit a strategy for full validation and live deployment. Runs the complete 7-stage validation pipeline: 1. static_check — code safety (banned imports, syntax) 2. in_sample — sanity check on training data 3. out_of_sample — test on unseen data (70/30 split) 4. walk_forward — rolling window validation 5. randomized_start — different random start points 6. perturbation — market stress test 7. holdout — server-side reserved data (pass/fail only) If all stages pass, the strategy is registered for isolated live paper trading with status="incubating". Promotion to "live" requires a proven track record. Args: name: Human-readable strategy name (e.g. "ETH Momentum v2"). domain: Trading domain key (e.g. "eth_usdc"). code: Python source code implementing the Strategy contract. user_id: The creator's user ID (authentication required). symbol: Price symbol (auto-detected from domain if omitted). api_key: Your dMoERA Personal Access Token. Required for this tool. Get one at https://dmoera.xyz → Settings → API Keys. (If running locally with DMOERA_API_KEY env var set, this can be omitted.) Returns JSON with: success, strategy_id, bot_id, validation results per stage, or error details.
- swap_bot_in_fundshallow
Swap one bot for another in a fund's roster. Closes the old bot's positions and opens new ones for the replacement. Incurs friction cost — use estimate_swap_cost first. Args: user_id: The user's ID (must own the fund). fund_id: The fund's ID. old_bot_id: The bot to remove. new_bot_id: The bot to add in its place. new_bot_domain: The new bot's domain (e.g. "eth_usdc"). weight: Allocation weight for the new bot (defaults to old bot's weight). reason: Optional reason for the swap. Returns the updated roster entry and friction estimate.
- tag_team_badgesshallow
Get the authenticated user's Tag Team badges. Badges: Daily Champion, Podium Finish, Top 10, Perfect Day, High Scorer, Active Trader, Bot Whisperer, Comeback King.
- tag_team_historyshallow
Get the authenticated user's past Tag Team sessions with scores.
- tag_team_infoshallow
Get the authenticated user's Tag Team session info. Tag Team is a daily paper-trading competition: you get $10k paper capital split 70% human / 30% Co-Pilot bot. Make manual trades, deploy the Co-Pilot after 3 closed manual trades, and your combined PnL is scored on the daily leaderboard. Returns session state, open positions, bot status, and rank.
- tag_team_leaderboardshallow
Get the daily Tag Team leaderboard. Args: date: Optional date filter (YYYY-MM-DD). Defaults to today. Scoring needs 5+ human trades AND 5+ bot trades to qualify. score = sharpe x trade_factor x (1 + win_bonus).
- tag_team_templatesshallow
List all available Co-Pilot templates (momentum, scalper, etc.). Each template defines the Co-Pilot bot's signal logic and tunable parameter ranges. Bot params carry over between days for the same template — trained settings persist.
- tag_team_tiershallow
Get the authenticated user's Tag Team tier and stats. Tiers: Rookie (0) -> Apprentice (10) -> Trader (50) -> Veteran (150) -> Expert (500) -> Master (1000+), based on total trades across all sessions (persists across days).
- tag_team_weeklyshallow
Get weekly championship standings (best 5 daily scores per user).
- update_fund_capsshallow
Update a fund's risk caps and settings. Args: user_id: The user's ID (must own the fund). fund_id: The fund's ID. max_per_bot_pct: Max allocation per single bot (e.g. 40.0 = 40%). max_per_domain_pct: Max allocation per domain (e.g. 60.0 = 60%). regime_veto_enabled: Whether the regime detector can veto trades. Only provided fields are updated; others remain unchanged. Returns success or error.
- update_fund_weightsshallow
Update allocation weights for bots in a fund's roster. Args: user_id: The user's ID (must own the fund). fund_id: The fund's ID. weights: A dict mapping bot_id to new weight percentage (e.g. {"momentum_eth_v3": 15.0, "scalper_btc_v2": 20.0}). Returns success or error.
Embed this server’s score
Tool count and median score across every tool in this server’s corpus — honest in a way a single cherry-picked tool’s badge wouldn’t be.
[](https://vouch.tools/servers/46af9d6d-a189-4a21-a0ee-d5a855a786a6)