Quick Start
Prerequisites
Section titled “Prerequisites”- Rust 1.76+
fontconfigandfreetypedevelopment libraries
On Debian/Ubuntu:
sudo apt-get install libfontconfig1-dev libfreetype-devgit clone https://github.com/5queezer/chartgen.gitcd chartgencargo build --releaseGenerate a chart
Section titled “Generate a chart”cargo run -- --symbol AAPL --interval 1d \ -p ema_stack -p vpvr -p rsi -p macd \ --output chart.pngSymbols ending in USDT, BTC, or ETH are fetched from Binance; everything
else falls back to Yahoo Finance.
Run as an MCP server
Section titled “Run as an MCP server”For Claude Desktop (stdio):
cargo run -- --mcpFor Claude.ai (HTTP + OAuth 2.1 PKCE):
cargo run -- --serve --port 9315Run in trading mode
Section titled “Run in trading mode”--trade streams a live Binance WebSocket feed, runs the alert engine, and
exposes the order / position / alert MCP tools over the same HTTP + OAuth
server as --serve:
cargo run -- --trade --testnet --symbol BTCUSDT --interval 1h --port 9315--trade and --serve are mutually exclusive — mode dispatch in
src/main.rs picks the first match and returns. Use --trade when you want
the trading engine (it already serves HTTP); use --serve when you only need
the charting tools. State lives under ~/.chartgen/ (alerts.json,
trades.log, subscriptions.json).
Run tests
Section titled “Run tests”cargo testcargo fmt --checkcargo clippy -- -D warningsNext steps
Section titled “Next steps”- CLI reference — every flag.
- Indicators — all 38 with sample renders and parameters.
- MCP integration — the 15 tools exposed over stdio and HTTP.
- Trading — alerts, orders, and the live engine.
- Push notifications — SSE subscriptions for triggered alerts.
- Deployment — Docker, Coolify, release binaries, reverse proxy.
- OAuth — Claude.ai connector flow.
- Persistence — on-disk state formats.
- Contributing — dev loop, CI jobs, keeping docs in sync.