Backtest Pine strategies from Claude, Cursor, or any MCP client.
Two ways to connect: (1) free hosted endpoint — Streamable HTTP at https://mcp.pineforge.dev/mcp, no install, no key, 100 backtests/week, last 13 months of crypto data; (2) local Docker — bring your own OHLCV, engine bundled, nothing leaves your machine.
claude mcp add --transport http pineforge https://mcp.pineforge.dev/mcp
No Docker, no install. Free — 100 backtests/week per IP. Last 13 complete months of crypto OHLCV included. Join the waitlist to unlock the API-key tier (full history + higher limits).
docker run --rm -i -v "$PWD:/work" ghcr.io/pineforge-4pass/pineforge-codegen-mcp:latest
Requires Docker. Mount a working dir at /work for your CSVs — no API key, the engine is bundled in the image.
Hosted: your Pine source is sent to mcp.pineforge.dev for backtesting; OHLCV is served from our dataset — no local files needed.
Your Pine source and OHLCV never leave your machine — transpile and backtest both run inside the container, offline. No API key, nothing crosses the network.
Works with any MCP-aware client.
Add to your claude_desktop_config.json (Settings → Developer → Edit Config). No API key — the engine is bundled in the image.
{
"mcpServers": {
"pineforge": {
"type": "http",
"url": "https://mcp.pineforge.dev/mcp"
}
}
}{
"mcpServers": {
"pineforge-local": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-v", "${workspaceFolder}:/work",
"ghcr.io/pineforge-4pass/pineforge-codegen-mcp:latest"
]
}
}
}One-shot register the server with the claude CLI:
claude mcp add --transport http pineforge https://mcp.pineforge.dev/mcp
claude mcp add pineforge-local \ -- docker run --rm -i -v "$PWD:/work" ghcr.io/pineforge-4pass/pineforge-codegen-mcp:latest
Settings → MCP → New MCP Server → paste the Claude Desktop JSON config above.
Eight tools, two surfaces.
| name | runs on | cost | what it does |
|---|---|---|---|
| backtest_pine | hosted · local | 100/week (hosted) · free (local) | Transpile + compile + run against hosted data or your CSV. Returns the full report. |
| fetch_ohlcv | hosted · local | free | Pull spot or USDT-perp OHLCV into a backtest-ready CSV. |
| binance_symbols | hosted · local | free | Discover/validate Binance symbols (cached). Filter by quote, status, contract type. |
| list_engine_params | hosted · local | free | Catalog every strategy override + runtime knob the backtests accept. Zero I/O. |
| engine_info | hosted · local | free | Report the engine: mode, baked-in flag, version. |
| join_waitlist | hosted | free | Join the waitlist to unlock the API-key tier — full OHLCV history and higher limits. |
| check_quota | hosted | free | See how many backtests you have left this week (hosted). |
| latest_news | hosted | free | Pull recent market headlines for context. |
| variable | default | purpose |
|---|---|---|
| PINEFORGE_ALLOW_ANYWHERE | 1 | Allow OHLCV paths outside the working dir. The container image sets this to 1. |
| PINEFORGE_DOCKER_TIMEOUT_MS | 120000 | Hard kill (ms) for an engine run. Defaults to 2 minutes. |
Connect + start prompting.
Connect the hosted MCP in one command — or docker run for local. Either way, no API key. Hosted: 100 backtests/week free. Local: unlimited, bring your own data.
claude mcp add --transport http pineforge https://mcp.pineforge.dev/mcp
Want to build a strategy by hand? Start with the open runtime