Skip to content
EmidLabs logo

EmidLabs MCP server

Which servers in the official MCP registry are EmidLabs's own, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-11

← Back to EmidLabs

Whose server it is
  • Registry nameio.github.emidlabs/backtest-mcpendpoint on the vendor's domain

The server's endpoint is on emidlabs.com and its publisher carries the brand's name. That is the weakest of the three ties: an endpoint alone proves less than a verified namespace.

When we asked itchecked 2026-10-11
  • Stateanswerschecked 2026-10-11
  • Tools9
  • Server calls itselfemidlabs-backtest-mcp
  • Server version0.1.0
  • Protocol version2025-06-18

On 2026-10-11 the server answered initialize and tools/list without a sign-in. First answer in 600 ms.

Tools it offers9 tools · read 2026-10-11
  • submit_confirmation_source

    Runs a strategy against historical data purely to produce a signal timeline used to confirm OTHER backtests — not a backtest itself. Walks the same candles and evaluates the same DSL as submit_backtest, but never simulates a position: no…

  • list_available_assets

    Lists every asset pair with real historical data, each with its supported timeframes and the date range actually available. Optional to call — submit_backtest already returns a clear error (with the real available range) when an asset or…

  • submit_backtest_batch

    Submits ONE strategy against MANY asset pairs in a single call — the same backtest you'd get from calling submit_backtest once per asset, without needing dozens of round trips. Returns immediately with a batchId (pass it to…

  • get_backtest_batch_results

    Fetches every asset's outcome from a submit_backtest_batch call, paginated. By default (waitForCompletion: true) polls internally until every item in the batch is done — a cheap check, not one that pages through everything — so one call…

  • get_backtest_trades

    Fetches the closed-trade list for a completed backtest, paginated and sortable — the trade-by-trade detail get_backtest_result deliberately omits. Only closed trades ever appear; a position still open when the backtest's date range ends…

  • get_backtest_result

    Fetches a submitted backtest by id. By default (waitForCompletion: true) polls internally until it finishes, so one call returns one final answer — no need to poll from the caller's side. Only aggregate metrics are returned here, no…

  • submit_backtest

    Submits a strategy for backtesting against historical OHLCV data. Returns immediately with an id and status — call get_backtest_result to fetch the outcome once it finishes. Testing the same strategy against many assets? Use…

  • get_confirmation_source

    Fetches a submitted confirmation source by id. By default (waitForCompletion: true) polls internally until it finishes, so one call returns one final answer. No trade-outcome fields here at all (no PnlR/WinRate/...) — a confirmation…

  • get_confirmation_source_signals

    Fetches a completed confirmation source's raw signal timeline, paginated — the actual data a backtest's confirmationSources requirement is checked against. Can easily run into the thousands for a frequent condition over a long range…

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "backtest-mcp": {
      "type": "http",
      "url": "https://mcp.backtest.emidlabs.com/mcp"
    }
  }
}

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.