Offline PineScript v6 → C++ backtests at deterministic TradingView parity, run locally via MCP.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-pineforge-4pass-pineforge-codegen-mcp": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Offline PineScript v6 → C++ backtests at deterministic TradingView parity, run locally via MCP.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationBe the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in finance
A Model Context Protocol server for building an investor agent
Real-time financial market data: stocks, forex, crypto, commodities, and economic indicators
MCP server that provides LLMs with tools for interacting with EVM networks
A Model Context Protocol (MCP) server that provides AI assistants with direct access to the Spreedly payments API. Enables LLMs to manage gateways, process transactions, tokenize payment methods, and more, through structured, validated tool calls.
MCP Security Weekly
Get CVE alerts and security updates for io.github.pineforge-4pass/pineforge-codegen-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
@pineforge/codegen-mcpSelf-contained stdio MCP server: an AI agent writes PineScript v6, and the
bundled pineforge-engine transpiles it to C++ and backtests it against Binance
market data — all in one container, in-process. Fully local — the image
bundles the pineforge-codegen
transpiler, so Pine → C++ → backtest run with no host Docker daemon. No API
key, nothing leaves the box.

| name | runs on | purpose |
|---|---|---|
transpile_pine | in-process | Pine v6 → C++ translation unit (transpile-only) |
list_engine_params | local (no I/O) | Catalog of every overrides + runtime knob accepted by the backtests |
backtest_pine | in-process | Single backtest of a Pine source against an OHLCV CSV |
backtest_pine_grid | in-process | Cartesian sweep of inputs × overrides reusing one compile |
fetch_binance_ohlcv | Binance public API | Write a backtest-ready CSV from Binance spot or USDT-perp klines |
binance_symbols | Binance public API | List / filter Binance symbols (5-min in-process cache) |
list_coverage_topics | local (no I/O) | Every Pine v6 coverage topic with a one-line status + summary |
check_pine_feature | local (no I/O) | Look up whether a Pine identifier/namespace is supported in PineForge |
get_coverage_topic | local (no I/O) | Full detail + supported/unsupported feature lists for one coverage topic |
engine_info | local (no I/O) | Report the bundled engine: mode, baked-in flag, version |
Runs as a self-contained container over stdio — engine bundled, in-process, no
host Docker daemon, no API key. Mount a working dir at /work so the server can
read/write your CSVs:
docker run --rm -i -v "$PWD:/work" ghcr.io/pineforge-4pass/pineforge-codegen-mcp:latest
Only requirement: Docker, and outbound network for the Binance fetch tools. Wire it into your MCP client below.
Want the fastest try with no Docker and no API key? Paste the Streamable HTTP endpoint into any MCP client:
https://mcp.pineforge.dev/mcp
Tradeoff vs this repo: the hosted server is metered (per-IP weekly quota on
backtest_pine + Cloudflare edge rate-limiting) and runs against a fixed,
sealed crypto data-lake (Binance spot + USDT-perp). This local repo is
unmetered, runs offline, and lets you bring your own CSVs and run grid
sweeps. Repo: pineforge-mcp-public.
Mount a directory at /work; point fetch_binance_ohlcv / backtest_pine at
paths under it. (-i is required; never add -t — a TTY corrupts the stdio
JSON-RPC stream.)
{
"mcpServers": {
"pineforge-codegen": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-v", "${workspaceFolder}:/work",
"ghcr.io/pineforge-4pass/pineforge-codegen-mcp:latest"
]
}
}
}
(In Cursor: Settings → MCP → New MCP Server → paste the above.)
claude mcp add pineforge-codegen \
-- docker run --rm -i -v "$PWD:/work" ghcr.io/pineforge-4pass/pineforge-codegen-mcp:latest
The capability gap this closes. A language model