backtest360-mcp
OfficialClick 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).
Status: pre-release (v0.1.x). Local stdio transport. Remote (HTTP) deployment is planned.
Install
pip install backtest360-mcp # or, from a clone: pip install -e .Requires Python 3.10+ and a Backtest360 API key — create one at backtest360.com.
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
Add the server to your MCP client's configuration (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 |
| Reference catalogs: operators, execution modes, stop types, sizing methods, bar frequencies, metric sections |
| Indicator discovery; per-indicator parameter schemas |
| 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 |
The cheap static catalogs are also published as MCP resources
(backtest360://catalog/{name}, backtest360://schema/strategy) for clients that
support resource attachment.
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.
Development
pip install -e ".[dev]"
pytest # unit suite against a mock engine — no networkLicense
MIT — see LICENSE.
This server cannot be installed
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
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