Server data from the Official MCP Registry
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Valid MCP server (1 strong, 4 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
7 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: BACKTEST360_API_KEY
Add this to your MCP configuration file:
{
"mcpServers": {
"com-backtest360-backtest360": {
"env": {
"BACKTEST360_API_KEY": "your-backtest360-api-key-here"
},
"args": [
"backtest360-mcp"
],
"command": "uvx"
}
}
}From the project's GitHub README.
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).
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.
Everything is environment-driven:
| Variable | Required | Default | Purpose |
|---|---|---|---|
BACKTEST360_API_KEY | yes | — | Engine API key, sent as X-API-Key |
BACKTEST360_ENGINE_URL | no | https://api.backtest360.com | Engine base URL |
BACKTEST360_MCP_TIMEOUT | no | 300 | Per-request timeout (seconds) |
BACKTEST360_MCP_MAX_OUTPUT_BYTES | no | 100000 | Hard cap on a single tool result |
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_..."
}
}
}
}
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.
| Tool | What it does |
|---|---|
engine_info | Engine version, API contract, health |
get_catalog | Reference catalogs: operators, execution modes, stop types, sizing methods, bar frequencies, metric sections |
list_indicators | Indicator discovery; per-indicator parameter schemas |
get_strategy_schema | JSON Schema for strategy documents |
validate_strategy | Validate a strategy without running it — returns structured, locatable errors |
run_backtest | Run a historical backtest |
get_latest_signal | Evaluate the most recent bar only (no P&L) |
compare_backtests | Run several strategies on the same data, side by side |
compute_stats | Compute the metric set from an externally produced returns series |
search_tickers / list_tickers | Asset discovery for server-side data fetch |
get_data_range | 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.
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.
Designed for agents:
{"valid": false, "errors": [...]} with machine codes and document
locations; engine rejections arrive as {"accepted": false, "error": ...} with a hint.Retry-After value; 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.pip install -e ".[dev]"
pytest # unit suite vs a mock engine — no network
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.
MIT — see LICENSE.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.