Index / MCP servers / Backtesting Arena

Backtesting Arena MCP server

Backtesting Arena is a remote MCP server that gives an AI agent 89 tools, among them arena_batch, arena_cancel_subscription, arena_check_subscription_updates. It answers at https://tradingstrategies.work/api/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 20 October 2026, succeeded.

Status
Answering
Tools
89
Reliability
6 of 6 checks
Response time
263 ms
Transport
streamable HTTP
Last checked
20 October 2026

Crypto backtesting & Bitcoin cycle analytics. Point-in-time, DSR-corrected, look-ahead-aware.

Description as the publisher wrote it.

The 89 tools Backtesting Arena offers

ToolWhat it does
arena_batchSeveral market snapshots in ONE call instead of one roundtrip per read. Batchable reads (14): spot_price, pulse, cycle, fear_greed, funding_rate, macro_regime, iv_snapshot, etf_flows, stablecoin_supply, mayer_multiple, onchain_latest, max_p
Inputs: queries
arena_cancel_subscriptionStop this alert? Deactivates one subscription by id, so it stops firing and frees a slot against the per-tier limit. Returns the deactivated subscription. Idempotent — cancelling an already-cancelled one is a no-op, not an error. Get ids fr
Inputs: subscription_id
arena_check_subscription_updatesHas anything I subscribed to fired? Returns all undelivered updates for the API key, then marks them as delivered. Call regularly to consume the polling queue. Updates contain payload with subscription_type, current value, previous value, a
arena_compare_strategiesWhich of these strategies performed best on the same data? Run 2–5 strategies against the SAME pair, interval and date range and return per-strategy metrics plus a comparison summary (best by CAGR, best by win-rate, worst by drawdown). Use
Inputs: strategies, pair, asset_type, interval, date_from, date_to
arena_dip_decisionBuy now or wait for the dip? Decision-math over the user's OWN assumptions (target/dip prices, probabilities, capital). Two modes: "compare" = expected value of Buy-Now vs Wait vs Split + the breakeven dip probability (prices as MULTIPLES o
Inputs: mode, compare, allocate
arena_dip_scenarioWhere would I add on a dip, and when is the thesis wrong? Turn a dip/accumulation thesis into a concrete, checkable plan from YOUR assumptions. Given an asset (BTC/ETH/SOL), a named cycle-state preset and a thesis horizon, returns: (1) a tr
Inputs: asset, preset, horizon_days, risk_aversion, invalidation, capital
arena_get_altcoin_seasonIs it altcoin season? Daily Altcoin-Season indicator (v7 Native-Filter methodology). Returns BTC-Dominance, Alt-Dominance, 4 Layer-1 signals (USDT.D, USDC.D, BTC-DOM, ETH-DOM), overall color (red/amber/green) + Top-50 CoinGecko snapshot. [F
arena_get_altcoin_season_historyHas capital been rotating into or out of altcoins? Returns the Altcoin-Season TIME SERIES: one row per day with overall_color, BTC / alt / stablecoin dominance and BTC price, ascending by date. Use it to see whether capital has been rotatin
Inputs: days
arena_get_backtestWhat exactly did that backtest do? Returns the full record of ONE backtest run by id: strategy, pair, interval, date range, parameters, filters and the aggregate metrics (CAGR, total return, win-rate, max drawdown, trade count, Buy & Hold c
Inputs: id
arena_get_backtest_tradesWhich trades did that backtest actually take? Returns the individual round-trips of one of your backtest runs: entry and exit date, entry and exit price, per-trade P&L and the running equity after each trade. Use it when the aggregate metri
Inputs: id
arena_get_btc_macro_correlationsWhat does Bitcoin actually move with? Pre-aggregated weekly correlations between Bitcoin and 13 macro components (Fed Net Liquidity, VIX, DXY, Real Yield 10Y, NFCI, Yield Curve, etc.). Returns quadrant_performance (BTC return stats per 2D-m
arena_get_btc_market_structureIs the trend up or down, and how fresh is the flip? Daily Bitcoin market structure from 1000-bar Phantomflow adaptation (BTCUSDT 1d). Returns current_trend (up/down/sideways), last trend change timestamp, counts of waves + fractals, last-5
arena_get_bullmarket_ampelIs this still a bull market? Bitcoin Bullmarket-Ampel current state (0-5 active stages). Returns active_count, a stages[] breakdown (each stage with key, label, active and `since` = first day of its current state; null when the state predat
Inputs: history_days
arena_get_chartRenders one of the named platform series as a PNG line chart and returns it as an MCP image content block, plus a JSON meta block. The chart INHERITS the freedom of the data tool: it calls the same delivery layer, so it shows exactly the po
Inputs: series, days
arena_get_cost_basis_spreadIs the market in profit or at a loss? It depends on which cost basis you ask. Puts the three BTC cost-basis measures side by side — Realized Price (unweighted), True Market Mean (cointime-weighted) and Vaulted Price (dormant holdings only)
arena_get_cycleCrypto cycle position — where are we in the cycle? Default BTC: point-in-time 9-indicator aggregation (Pi-Cycle Top & Bottom, Mayer Multiple, weekly RSI, 200-week-MA distance, halving position, Fear & Greed, BTC-dominance trend, mining-diff
Inputs: asset
arena_get_cycle_historyHow has the cycle score moved over time? Returns the BTC-Cycle TIME SERIES: one row per day with adj_score and z_adj_score, ascending by date. Look-ahead-free by construction: a day's value uses only data up to that day. 7 of the 9 dimensio
Inputs: days
arena_get_drift_logDo two independent providers still agree on the same on-chain quantity? Daily drift log comparing BRK against a second provider, per metric pair, with mean / max / outlier counts for the requested window. The comparison source changed — bge
Inputs: days
arena_get_edge_reportsWhich entry filter carries a real edge? Platform-wide aggregated analysis: how each Pro+ entry filter (200 WMA, ATR low/high/expansion, Altcoin Season, Bullmarket confirm/strict) affects strategy CAGR — baseline vs. filtered, asset-equal-we
Inputs: market, strategy, verdict, limit, offset
arena_get_etf_flowsSpot-ETF net flows (USD millions) — is the flow impulse turning or accelerating? The summary only gives point-in-time deltas; this exposes the trend: 30d/90d net flow, a direction label (inflows/outflows/flat) and a compact cumulative-inflo
Inputs: asset, days
arena_get_fear_greedHow fearful or greedy is the market right now? Crypto Fear & Greed Index (alternative.me). Returns the current `value` (0-100) and `classification` (extreme fear / fear / neutral / greed / extreme greed) as their own fields, plus `history`
Inputs: days, end_date
arena_get_filter_insightsDo entry filters help, and which ones? Lift analysis of entry filters (200WMA, Altcoin-Season, ATR-Volatility, Bullmarket-Stage) per strategy combo — baseline vs filtered CAGR/win-rate/drawdown. [API Pro tier]
arena_get_funding_rateAre longs or shorts paying right now? Latest BTC perpetual funding rate, averaged across up to three exchanges (Binance, Bybit, OKX; 8h settlement cadence). Returns value, 30d moving average and Z-Score. Positive = longs pay shorts (bullish
arena_get_funding_rate_historyHow has leverage positioning shifted over time? Returns the BTC perpetual funding-rate TIME SERIES, aggregated across the available perpetual venues (Binance, Bybit, OKX), at the 8h funding cadence, ascending by date. The response is SEGMEN
Inputs: days
arena_get_gem_scoreHow does this altcoin score? Returns the Altcoin-Screener score for ONE coin, addressed by its CoinGecko id: the composite score, its group breakdown and — for Pro+ — the 9 raw factor values across groups A/B/C. Use it once a candidate is k
Inputs: coingecko_id
arena_get_gem_scoresAltcoin screener ranking — which altcoins look strong right now? Today's CoinGecko Top-200 minus stablecoins and tokenized fiat, scored by a composite of 3 factor groups: Mean-Reversion (A), Tokenomics (B), Market-Structure (C). Each score
Inputs: limit, from_rank
arena_get_gem_validationDid the screener picks actually beat BTC? Equal-weight basket of the top-N screener picks, rebalanced every 14 days (grid anchored at the first snapshot — the `rebalance` block declares anchor and cadence, `phase_spread` the CAGR and vs_btc
Inputs: top_n
arena_get_halvingsWhen were the halvings, and what followed? The full Bitcoin halving table: date, block height, reward change, price at the halving day, cycle peak (highest daily close before the next halving) with days-after-halving and peak multiple. E33:
arena_get_hash_ribbonsAre miners capitulating? Latest Hash Ribbons indicator (Charles Edwards). Returns 30d and 60d hashrate moving averages — when 30d > 60d after a capitulation, signals miner recovery (bullish). [Free tier]
arena_get_historical_analogWhat happened historically after the Bitcoin cycle looked like this? Conditional forward-return distribution for a named preset cycle state — over N DISTINCT historical episodes matching that state (matched_episodes), returns median/IQR/pos
Inputs: preset, asset, forward_horizons, vol_rank_threshold, condition_on_direction, direction_window_days
arena_get_indicator_snapshotWhat do the classic indicators read right now? Current RSI(14), MACD(12/26/9), Bollinger(20,2), ATR(14) and OBV for a pair — each with a PERCENTILE RANK against that indicator's own history on that pair, plus the observation count — the ran
Inputs: pair, interval
arena_get_iv_snapshotWhat is the options market pricing in? Latest Deribit volatility snapshot for BTC or ETH. Returns DVOL (30d vol index), constant-maturity ATM implied vol (30/60/90/180d via options chain), 30d realized vol, and `vol_risk_premium_30d`, which
Inputs: currency, include_implied
arena_get_job_statusIs my universe backtest finished? Polls an async job by job_id (created via arena_run_universe_backtest). Returns status (pending/running/completed/failed), progress_pct, pairs_completed, and once completed: the full result (summary + per-p
Inputs: job_id
arena_get_key_levelsWhich price levels matter above and below spot? Reproducible Bitcoin structural levels on BOTH sides of spot, in TWO distinct provenance classes. (1) resistance/support: swing-pivot clusters — where past pivot highs+lows cluster into price
arena_get_kimchi_premiumIs Korean spot trading BTC at a premium? Daily Kimchi-premium snapshots: Upbit BTC/KRW (USD-converted) versus the global BTC/USD price, in percent — one point-in-time reading per UTC day (~01:45 UTC), both legs from the same price/FX source
Inputs: days
arena_get_knowledgeWhat does the platform know about this subject? Fetch a versioned, explainable Knowledge Object by type + subject (e.g. type='market_regime', subject='GLOBAL'). Returns the current published envelope: payload, explanation (factors + weights
Inputs: type, subject, as_of, include_graph
arena_get_ma_distance_historyHow far above or below its moving averages did price stand back then? A measured time series, not an estimate. Covers six MAs (50/100/200-day and 50/100/200-week; weekly MAs are simple averages over ISO-week closes, the same definition aren
Inputs: pair, mas, from, to, granularity
arena_get_macro_regimeWhat is the macro backdrop doing? Daily Macro Regime snapshot from 18 components in 6 tiers (Liquidity 30%, Financial Conditions 20%, Risk Appetite 15%, Crypto Liquidity 10%, Business Cycle 15%, Inflation/Real Rates 10%). FRED-sourced. Retu
arena_get_max_painWhat happened at the last Deribit expiry? Max pain and how spot settled against it: max_pain_strike, spot_at_expiry, %-diff, put_call_ratio, notional. Plus up to 10 upcoming expiries, each with current live max-pain level, days_to_expiry, o
Inputs: market, include_strike_ladder, include_gex
arena_get_max_pain_historyDoes max pain actually pull price to the strike? Settled Deribit BTC options expiries with the max-pain level we compute per expiry, for measuring the convergence question: does spot drift toward the max-pain level as expiry approaches? Eac
Inputs: days, market, include_open_snapshots, expiry_type, min_contracts, snapshot_expiry_date
49 more tools

arena_get_mayer_multiple, arena_get_mayer_multiple_history, arena_get_onchain_history, arena_get_onchain_latest, arena_get_ontology_term, arena_get_platform_activity, arena_get_pulse, arena_get_pulse_history, arena_get_report_status, arena_get_robustness_field, arena_get_sentiment, arena_get_shared_backtest, arena_get_signal_context, arena_get_signal_events, arena_get_signal_status, arena_get_spot_price, arena_get_stablecoin_supply, arena_get_sth_cost_basis, arena_get_strategy_filter_effect, arena_get_strategy_insights, arena_get_strategy_performance, arena_get_strategy_performance_by_regime, arena_get_taker_imbalance, arena_get_trend_channels, arena_get_universe, arena_get_volatility_history, arena_get_volatility_insights, arena_get_volatility_phases, arena_get_volatility_recommendations, arena_get_winners, arena_is_distinguishable, arena_list_backtests, arena_list_knowledge, arena_list_onchain_series, arena_list_strategies, arena_list_subscriptions, arena_list_universes, arena_quote_report, arena_run_backtest, arena_run_grid_backtest, arena_run_universe_backtest, arena_share_grid_backtest, arena_status, arena_subscribe_bullmarket_stage, arena_subscribe_cycle_changes, arena_subscribe_pulse_changes, arena_subscribe_signal_alerts, arena_suggest_grid_range, validate_strategy

Add Backtesting Arena to your AI client

Every block below points at https://tradingstrategies.work/api/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http backtesting-arena https://tradingstrategies.work/api/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "backtesting-arena": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://tradingstrategies.work/api/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "backtesting-arena": {
      "url": "https://tradingstrategies.work/api/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "backtesting-arena": {
      "type": "http",
      "url": "https://tradingstrategies.work/api/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "backtesting-arena": {
      "url": "https://tradingstrategies.work/api/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "backtesting-arena": {
      "serverUrl": "https://tradingstrategies.work/api/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "backtesting-arena": {
      "url": "https://tradingstrategies.work/api/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: Backtesting Arena
version: 0.0.1
schema: v1
mcpServers:
  - name: Backtesting Arena
    type: streamable-http
    url: https://tradingstrategies.work/api/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "backtesting-arena": {
      "httpUrl": "https://tradingstrategies.work/api/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "backtesting-arena": {
      "type": "http",
      "url": "https://tradingstrategies.work/api/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "backtesting-arena": {
      "url": "https://tradingstrategies.work/api/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Ftradingstrategies.work%2Fapi%2Fmcp&type=streamable_http&id=backtesting-arena&name=Backtesting%20Arena

Is Backtesting Arena up right now?

It answered our last check on 20 October 2026 in 263 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to Backtesting Arena

Questions about Backtesting Arena

How many tools does Backtesting Arena have?

89, as returned by the server's own tools/list on 12 September 2026: arena_batch, arena_cancel_subscription, arena_check_subscription_updates, arena_compare_strategies, arena_dip_decision, arena_dip_scenario, arena_get_altcoin_season, arena_get_altcoin_season_history, and 81 more.

Is Backtesting Arena down?

It answered our last check on 20 October 2026 in 263 ms. Over 6 checks since 11 September 2026 it answered 6.

How do I add Backtesting Arena to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://tradingstrategies.work/api/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does Backtesting Arena need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: io.github.schoasch. Endpoint host: tradingstrategies.work. ARD identifier: urn:air:io.github.schoasch:mcp:backtesting-arena. First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.