backtest360-mcp
OfficialThe backtest360-mcp server exposes the Backtest360 engine API as MCP tools, enabling AI agents to build, validate, and run trading strategy backtests conversationally. It is a thin adapter — all calculations are performed by the Backtest360 engine.
Session Setup & Health
engine_info: Check engine version, API contract, and health statusget_me: Inspect API key permissions, rate limits, usage, and feature flags
Reference & Discovery
get_catalog: Fetch reference catalogs (operators, execution modes, stop types, sizing methods, bar frequencies, metric sections)list_indicators: Discover technical indicators and retrieve full parameter schemaslist_templates: Browse predesigned strategy templates and fetch complete strategy logicget_strategy_schema: Retrieve the JSON Schema for strategy documents
Strategy Building & Validation
validate_strategy: Validate a strategy document without running a backtest — returns structured, actionable errors
Backtesting & Signals
run_backtest: Run a full historical backtest with customizable data source, execution settings, benchmarks, and response detail levels (summary,stats,full)get_latest_signal: Evaluate a strategy on the most recent bar to get a current buy/sell/hold signalcompare_backtests: Run multiple strategies side-by-side on the same data for direct comparisoncompute_stats: Compute performance metrics from an externally provided returns series
Asset & Market Data
search_tickers/list_tickers: Search or list available assets by name or asset classget_data_range: Check available date range and estimated bar count for a symbol/frequencyget_ticker_info: Get identity and data coverage details for a symbolget_quote(paid): Fetch the latest available price for a symbolget_price_history(paid): Retrieve OHLCV price history over a date rangelist_macro_series/get_macro_series: List and fetch macroeconomic data series
Workflow Prompts: Scaffold common multi-tool workflows (e.g., robustness review, build and validate).
Supports both inline OHLCV data (free tier) and server-side data fetching (paid plan). Results are shaped to fit agent context windows, with truncation markers when limits are hit.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@backtest360-mcpRun a backtest for a moving average crossover on AAPL from 2023"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
backtest360-mcp
MCP server exposing the Backtest360 engine API as tools for AI agents.
Connect any MCP-capable AI client and drive real backtests conversationally: discover indicators, build and validate strategies, run backtests, and read the results — all against the deterministic Backtest360 engine. The server contains no AI and computes no numbers of its own; it is a thin, faithful adapter over the engine HTTP API. Your engine API key and its plan govern everything (permissions, rate limits, data access).
Two transports: a hosted HTTP endpoint at
https://mcp.backtest360.com/mcp (send your key as an X-API-Key header) and local
stdio (self-host — see below).
Install
pip install backtest360-mcp # or, from a clone: pip install -e .Requires Python 3.10+ and a Backtest360 API key. Get one free, instantly at
backtest360.com/api-access — submit your email and a key
(format b360_…) is issued on the spot and emailed to you; no approval needed. Authentication
is API-key only. The free tier runs backtests on data you upload; fetching historical price
data from the engine server-side is a paid capability.
Related MCP server: Jesse MCP Server
Configuration
Everything is environment-driven:
Variable | Required | Default | Purpose |
| yes | — | Engine API key, sent as |
| no |
| Engine base URL |
| no |
| Per-request timeout (seconds) |
| no |
| Hard cap on a single tool result |
Connect an MCP client
Hosted (recommended)
Point your MCP client at the hosted endpoint over HTTP and send your key as an
X-API-Key header:
{
"mcpServers": {
"backtest360": {
"type": "streamable-http",
"url": "https://mcp.backtest360.com/mcp",
"headers": {
"X-API-Key": "b360_..."
}
}
}
}Local (stdio)
Run the server yourself and let your client launch it over stdio (the common
mcpServers shape):
{
"mcpServers": {
"backtest360": {
"command": "backtest360-mcp",
"env": {
"BACKTEST360_API_KEY": "b360_..."
}
}
}
}Prefer not to put the key in a config file? Point command at a small wrapper script
that exports the key from your secrets manager and then runs backtest360-mcp. A
minimal example config is in examples/mcp.json.
Tools
Tool | What it does |
| Engine version, API contract, health |
| What the configured key can do: permission scopes, limits, current usage, capability flags |
| Reference catalogs: operators, execution modes, stop types, sizing methods, bar frequencies, metric sections |
| Indicator discovery; per-indicator parameter schemas |
| Predesigned strategy templates — discover compactly, fetch one in full, ready to validate and run |
| JSON Schema for strategy documents |
| Validate a strategy without running it — returns structured, locatable errors |
| Run a historical backtest |
| Evaluate the most recent bar only (no P&L) |
| Run several strategies on the same data, side by side |
| Compute the metric set from an externally produced returns series |
| Asset discovery for server-side data fetch |
| Available history and bar-count estimate for a symbol |
| Symbol identity and data coverage in a single call |
| Latest available price for a symbol (paid plan) |
| OHLCV price history over a date range (paid plan; long histories downsampled to fit) |
| Macroeconomic data: list the series catalog, then fetch one series' observations |
The cheap static catalogs are also published as MCP resources
(backtest360://catalog/{name}, backtest360://schema/strategy) for clients that
support resource attachment.
Prompts
Two workflow prompts scaffold the common multi-tool flows for a connected AI: each names which tools to call, in what order, and what to look at in the results. They carry no interpretation and compute nothing — the connected AI does the reasoning.
Prompt | Arguments | What it scaffolds |
|
| Review a backtested strategy for robustness: validate → run → compare against buy-and-hold → weigh the evidence base (sample size, significance/robustness statistics, warnings) → caveated summary |
|
| Turn a plain-language idea into a validated strategy: survey the catalogs → fetch the schema → construct → validate-and-fix loop → dry-run |
Response shaping
A full backtest result is megabytes; an agent's context is not. run_backtest and
compare_backtests take response_detail:
summary(default) — headline metrics, warnings, counts, equity endpointsstats— every metric the plan allowsfull— plus series (downsampled, endpoints preserved) and trades (paginated)
include=["trades", "equity_curve", "monthly_returns", "yearly_returns"] adds specific
blocks at the lighter levels. Results exceeding the output cap are reduced further and
explicitly marked truncated_by_mcp — never silently cut. Shaping only ever selects and
thins what the engine returned; no value is computed or altered.
Error semantics
Designed for agents:
Fixable by changing the request → returned as a normal result: failed validations arrive as
{"valid": false, "errors": [...]}with machine codes and document locations; engine rejections arrive as{"accepted": false, "error": ...}with a hint.Not fixable that way → a tool error with explicit guidance: rate limits carry the
Retry-Aftervalue; engine-busy says retry with backoff; a compute timeout says do not retry and reduce scope instead; permission problems name the missing capability. Engine request ids are included for support.
Running the tests (self-host)
pip install -e ".[dev]"
pytest # unit suite vs a mock engine — no networkQuestions / feedback
Questions or feedback? hello@backtest360.com — we read everything. backtest360-mcp is in active development, so help shape it.
Bug reports and feature requests: open an issue on GitHub.
License
MIT — see LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Backtest360/backtest360-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server