Connect Backtest360 and your agent gets 20 tools, among them compare_backtests, compute_stats, engine_info. It answers at https://mcp.backtest360.com/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 10 of 10 times since 4 September 2026; the last check, on 18 October 2026, succeeded.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
compare_backtests | Run several strategies on the same data and compare side by side. One quota-counted call, but compute scales with the number of strategies. If the wall-clock compute budget is exceeded, the call fails with a tool error (504) instead of retu Inputs: data_source, strategies, include_benchmark, response_detail, trades_limit |
compute_stats | Compute the engine's performance metrics from a returns series. Use when the returns came from somewhere other than run_backtest (an external system, a portfolio) — backtest results already include these statistics. Args: returns: Per-bar l Inputs: returns, trading_days_per_year, benchmark_returns, trades, risk_free_rate |
engine_info | Engine version, API contract number, and health. Free (not quota-counted). Call once at the start of a session to confirm the engine is reachable and which contract it serves. |
export_backtest | Export a multi-strategy comparison as an Excel workbook. Quota-counted; needs a key whose plan includes full-metrics export (a 403 means the configured key's plan does not — do not retry). Returns the workbook base64-encoded — decode and wr Inputs: data_source, strategies, include_benchmark |
get_catalog | Fetch one engine reference catalog. Catalogs (cheap, cacheable per session): - 'operators' — comparison operators for condition expressions - 'execution-modes' — entry/exit anchors and fill algorithms, with the validity matrix by market typ Inputs: catalog |
get_data_range | Available date range and estimated bar count for a symbol/frequency. Available on paid plans. Call before a server-side fetch so the requested start/end stay inside what the provider can deliver and the bar count stays inside the key's per- Inputs: symbol, frequency |
get_latest_signal | Evaluate the strategy on the most recent bar only — no P&L, no stats. Returns the latest signal (-1/0/1), which condition slots fired, and the bar timestamp. Use for "what would this strategy do right now" questions; use run_backtest for pe Inputs: data_source, strategy, execution, data_inputs |
get_macro_series | Observations for one macroeconomic series over an optional date range. Free — no special plan. ``series`` is an ``id`` from list_macro_series (e.g. treasury_10y, cpi, unemployment_rate); arbitrary external ids are not accepted. ``start``/`` Inputs: series, start, end |
get_me | The configured API key's permissions, limits, and current usage. Cheap. Call early in a session — before planning work — to learn what this key can do instead of discovering limits through failed calls. Returns: ``scopes``: the permission s |
get_price_history | OHLCV price history for a symbol over a date range. Requires a paid plan (managed market data). ``start`` is required (``YYYY-MM-DD``); ``end`` defaults to today. Returns a summary (symbol, resolved date range, total bar count, price range, Inputs: symbol, start, frequency, end |
get_quote | Latest available price for a symbol. Requires a paid plan (managed market data). Returns the most recent *available* bar for the given frequency — the end-of-day close for daily, the last completed bar otherwise — as open/high/low/close/vol Inputs: symbol, frequency |
get_strategy_schema | JSON Schema for the strategy document (condition_tree + indicators). Fetch this before composing a strategy by hand; the validate_strategy tool checks against the same rules. |
get_ticker_info | Identity and data coverage for one symbol, in a single call. Metadata only — no market data, so no paid plan is needed. Returns the asset's identity (name, asset class, exchange, currency, and whether it is still active) together with a cov Inputs: symbol, frequency |
list_indicators | List indicators, or fetch one indicator's full schema. Cheap, cacheable per session. With no arguments: a compact catalog — ``{"indicators": [...], "count": N}`` — where each entry carries id, name, category, kind, and value_dtype (no descr Inputs: name, compact |
list_macro_series | List the available macroeconomic series (the catalog). Free — no special plan. Returns the set of macro series you can fetch with get_macro_series, each with its stable ``id`` (the value get_macro_series takes), title, category, native repo Inputs: category |
list_templates | List predesigned strategy templates, or fetch one in full. Cheap, cacheable per session. The engine returns the templates available to the calling key. With no arguments: a compact catalog — ``{"templates": [...], "count": N}`` — where each Inputs: name, compact |
list_tickers | List available tickers, optionally filtered by asset class. The full universe is very large, so the MCP server caps the returned list and marks it ``truncated_by_mcp`` — pass asset_class to narrow it, or use search_tickers to resolve a spec Inputs: asset_class |
run_backtest | Run a historical backtest against the engine. Quota-counted and compute-bound. Validate the strategy first (validate_strategy is far cheaper). On a 504 compute timeout, do NOT retry the same request — reduce the date range, use a coarser fr Inputs: data_source, strategy, signals, execution, benchmark, data_inputs |
search_tickers | Search available assets by ticker or name (relevance-ranked). Use to resolve a user's asset mention ("bitcoin", "S&P") to the exact ticker before requesting a server-side data fetch. asset_class filters to 'stocks', 'crypto', 'forex', or 'i Inputs: query, asset_class, limit |
validate_strategy | Validate a strategy document without running a backtest. A cheap quota separate from backtest runs, so validate freely and ALWAYS before run_backtest. Args: strategy: The strategy document — name, indicators[], and condition_tree (see get_s Inputs: strategy, injected_indicators |
Every block below points at https://mcp.backtest360.com/mcp. Pick your client and copy.
claude mcp add --transport http backtest360 https://mcp.backtest360.com/mcp
{
"mcpServers": {
"backtest360": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.backtest360.com/mcp"]
}
}
}{
"mcpServers": {
"backtest360": {
"url": "https://mcp.backtest360.com/mcp"
}
}
}{
"servers": {
"backtest360": {
"type": "http",
"url": "https://mcp.backtest360.com/mcp"
}
}
}{
"context_servers": {
"backtest360": {
"url": "https://mcp.backtest360.com/mcp"
}
}
}{
"mcpServers": {
"backtest360": {
"serverUrl": "https://mcp.backtest360.com/mcp"
}
}
}{
"mcpServers": {
"backtest360": {
"url": "https://mcp.backtest360.com/mcp"
}
}
}name: Backtest360
version: 0.0.1
schema: v1
mcpServers:
- name: Backtest360
type: streamable-http
url: https://mcp.backtest360.com/mcp{
"mcpServers": {
"backtest360": {
"httpUrl": "https://mcp.backtest360.com/mcp"
}
}
}{
"mcpServers": {
"backtest360": {
"type": "http",
"url": "https://mcp.backtest360.com/mcp"
}
}
}{
"mcpServers": {
"backtest360": {
"url": "https://mcp.backtest360.com/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fmcp.backtest360.com%2Fmcp&type=streamable_http&id=backtest360&name=Backtest360
It answered our last check on 18 October 2026 in 148 ms. Over 10 checks since 4 September 2026 it answered 10. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by backtest360.com and served from mcp.backtest360.com, the vendor's own domain: https://mcp.backtest360.com/mcp.
20, as returned by the server's own tools/list on 10 September 2026: compare_backtests, compute_stats, engine_info, export_backtest, get_catalog, get_data_range, get_latest_signal, get_macro_series, and 12 more.
It answered our last check on 18 October 2026 in 148 ms. Over 10 checks since 4 September 2026 it answered 10.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.backtest360.com/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
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.
Publisher: com.backtest360. Endpoint host: mcp.backtest360.com. ARD identifier: urn:air:com.backtest360:mcp:backtest360.
First indexed 31 August 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.