Price chart
chartCandlestick price chart with indicators for a public ticker, such as a daily chart of AAPL with SMA and RSI; for values alone, use get_indicators. Pass symbol as a Yahoo-style ticker: AAPL, BRK-B, EUR/USD, BTC-USD or GOLD (drawn as GC=F); a common company or coin name also works (Apple, Bitcoin). Optional: timeframe (5m, 15m, 1h, 4h, 1d, 1w; 1d by default), indicators (up to 4 of 12, such as sma, rsi, macd, bollinger or adx; volume is always drawn), periods, lengths (several SMA or EMA lines) and theme. Returns the interactive chart page as html, an openUrl, the last close, the change, high and low over the window, and each indicator value with a plain-language read, the source and as-of time; some clients also show a card. Do not use it for news, fundamentals, earnings, a portfolio, orders, or buy or sell opinions; those need a different source. Public prices only. Informational only, not financial advice.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"symbol": "<symbol>"
},
"name": "chart"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| theme | No | dark (default) or light | |
| symbol | Yes | Yahoo-style ticker, such as "AAPL". Also accepted: BRK-B, EUR/USD or EURUSD, BTC-USD, BTC/USDT or PEPEUSDT (any coin against USD), GOLD (GC=F), SPX. A common company or coin name also works, such as Apple or Bitcoin (S&P 100 companies and top coins), but a ticker is still best. | |
| lengths | No | Several SMA or EMA lines on one chart, such as [20, 50] for the 20 and 50 EMA, up to 3. Each length applies to each of sma and ema in indicators, and overrides periods.sma and periods.ema; ignored when neither is in indicators. | |
| periods | No | Lookback per indicator, in bars, such as {"sma": 50}. A period applies only when its indicator is in indicators. MACD stays 12, 26, 9, and VWAP and OBV have no length, so none has an entry. | |
| timeframe | No | 5m, 15m, 1h, 4h (built from 1h bars), 1d (default) or 1w | |
| indicators | No | Optional, up to 4. Volume is always drawn. Defaults to sma and rsi when omitted or empty. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asOf | Yes | ISO 8601 UTC time of the last bar, or of the call when status is not ok | |
| bars | Yes | Bars on the chart. 0 when status is not ok. | |
| html | No | Large: the full chart page, a self-contained interactive HTML document, only when status is ok. Pass it on unchanged, or give the user openUrl instead; never rewrite, shorten or summarize it. Vela attribution stays on. | |
| name | No | Instrument name from the source | |
| read | Yes | Plain-language description of the chart. Not financial advice. Empty when status is not ok. | |
| error | No | Present when status is not ok | |
| notice | Yes | Not-financial-advice notice. Show it with the read. | |
| source | Yes | Price source: Yahoo Finance, Coinbase, or ECB reference rates through Frankfurter. Empty, or the failing source, when status is not ok. | |
| status | Yes | ok, or why there is no chart; error.hint then says what to do next | |
| symbol | No | Symbol as drawn, such as AAPL, EUR/USD, BTC-USD or GC=F | |
| window | No | The drawn window, only when status is ok: quote these numbers instead of reading the bars. Times are bar open times, ISO 8601 UTC. | |
| openUrl | No | Same chart on chart.openkrill.app, redrawn from public prices | |
| skipped | Yes | Requested indicators that could not be calculated | |
| currency | No | Price currency code from the source, such as USD. Empty when the source gives none. | |
| lastClose | Yes | Last close in the price currency. null when status is not ok. | |
| timeframe | No | ||
| indicators | Yes | ||
| chartLibrary | No | Chart renderer and licence (Vela) | |
| changePercent | Yes | Percent change from the previous close to the last close. null when status is not ok. |