This guide explains how other users of the open-source Kiploks engine can let AI agents analyze backtests and fetch reports - without Kiploks cloud or private SaaS.
| Capability | Requires orchestrator? | MCP tool / CLI |
|---|---|---|
| WFA from trades CSV/JSON | No | kiploks_analyze_trades / kiploks analyze-trades |
| Full report from integration JSON | No | kiploks_analyze_integration_payload |
| List Freqtrade backtests on disk | Yes | kiploks_list_backtests |
| Run Freqtrade bridge + WFA | Yes | kiploks_run_backtest_analysis |
| Open report in local UI | Yes | kiploks_get_report -> /ui/#report=<id> |
npx -y @kiploks/engine-cli ui --no-openOrchestrator listens on http://127.0.0.1:41731 (or next free port). UI: /ui/.
Package: @kiploks/engine-mcp
Cursor (.cursor/mcp.json or Settings -> MCP):
{
"mcpServers": {
"kiploks": {
"command": "npx",
"args": ["-y", "@kiploks/engine-mcp"]
}
}
}Claude Desktop (claude_desktop_config.json): same block under mcpServers.
No orchestrator needed. Agent tool:
kiploks_analyze_tradeswithinput_pathpointing to CSV or JSONTrade[]
Or CLI:
kiploks analyze-trades ./trades.json --json \
--in-sample-months 6 --out-of-sample-months 2 --step rollingSample output: docs/examples/sample-output/wfa-from-trades.json
Prerequisites on the user's machine:
- Freqtrade install (path known to the user)
- Docker (if using default
dockerintegration mode) - Orchestrator running (
kiploks ui --no-open)
Agent steps:
kiploks_orchestrator_status- confirm orchestrator is upkiploks_register_freqtrade_path-path= Freqtrade rootkiploks_bootstrap_integration- cloneskiploks-freqtradeinto that repokiploks_list_backtests- discover artifacts underuser_data/backtest_resultskiploks_run_backtest_analysis- passselected_artifact_keysfrom step 4kiploks_get_report- fullTestResultDataJSON- Share UI link:
{orchestrator_url}/ui/#report={report_id}
If integration upload needs Bearer auth, set in MCP env:
"env": {
"KIPLOKS_ORCHESTRATOR_TOKEN": "<api_token from kiploks.json after bootstrap>"
}flowchart LR
Agent[AI Agent]
MCP["engine-mcp"]
Core["engine-core"]
Orch[kiploks ui orchestrator]
Bridge[kiploks-freqtrade run.py]
Agent --> MCP
MCP -->|trades / payload files| Core
MCP -->|HTTP| Orch
Orch --> Bridge
Bridge -->|POST /api/integration/results| Orch
Orch -->|reports| MCP
- Standalone analysis uses
@kiploks/engine-coredirectly inside the MCP process. - Freqtrade flow uses the existing local orchestrator HTTP API (same as the web UI).
- Cloud upload is optional: users can still use
kiploks upload --cloudwithKIPLOKS_API_KEY; MCP does not require it.
For custom agents or scripts, use the same building blocks:
import { analyzeFromTrades } from "@kiploks/engine-core";
import { buildTestResultDataFromUnified } from "@kiploks/engine-core/server";
import { mapPayloadToUnified } from "@kiploks/engine-core";See ENTRYPOINTS.md for choosing the right entrypoint.
| Symptom | Fix |
|---|---|
| MCP cannot connect to orchestrator | Start kiploks ui --no-open; check KIPLOKS_ORCHESTRATOR_URL |
| Empty backtest list | Register Freqtrade path; run a backtest; bootstrap bridge |
401 on integration POST |
Set KIPLOKS_ORCHESTRATOR_TOKEN from kiploks.json |
Docker upload Connection refused |
From container use host.docker.internal, not localhost |
analyze_trades rejects JSON |
Input must be Trade[] array, not raw Freqtrade export |
- packages/mcp-server/README.md - MCP tool reference
- BOT_INTEGRATIONS.md - Freqtrade/OctoBot bridges
- LOCAL_ORCHESTRATOR_UI_ARCHITECTURE.md - HTTP routes
- OPEN_CORE_LOCAL_USER_GUIDE.md - local user setup