MCP server exposing the Backtest360 engine API as tools for AI agents.
healthy
status
20
tools exposed
356ms
connect latency
6c5bd7ef3cc0
schema fingerprint
Tools (20)
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 scopes the key carries.
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.
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 type
- 'stop-types'
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 description, to keep the discov
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 entry carries id, origin,
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.
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_strateg
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 frequency, or simplify the st
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 performance.
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 returning partial results —
nar
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 write it to a
``.xlsx`` file.
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 log returns as
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 'indices'.
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 specific
asset by name.
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-run limit.
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 coverage summary for the given
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/volume
plus an ``as_of`` times
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, gap flags),
market-hours d
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 reporting frequency,
and units,
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``/``end`` are ``YYYY-MM-DD``, inclusive
Endpoint
https://mcp.backtest360.com/mcp Category: Finance & Data · Last checked: 2026-07-30T12:52:12Z
Monitor your own MCP server
Get alerted the moment yours goes down, a tool schema drifts, or an upstream silently breaks.
What this means. This server responded to the MCP handshake and listed its tools without authentication. The schema fingerprint lets us flag if tool signatures silently change (schema drift) between checks.