[Agent Tools](https://tools.openkrill.app/) / [Blog](https://tools.openkrill.app/blog)

# How to draw interactive candlestick stock charts with SMA and RSI in an AI agent

On 2026-10-20, calling `chart` on [Trade Chart](https://tools.openkrill.app/tools/trade-chart) for Microsoft Corporation (`MSFT`) over the `1d` timeframe returned 220 daily OHLCV bars from `2025-12-03` to `2026-10-19` (last close 533.52 US dollars, up 0.84 percent, volume 17.98 million shares) with a 50-day Simple Moving Average of `506.203`, a 14-day Relative Strength Index of `59.551` (`59.55098`), a 39 KB interactive Vela 0.8.0 candlestick HTML chart and a shareable chart link in 972 ms.

When an AI agent is asked to show a stock chart with technical indicators, general web chat models either refuse because they cannot render live charts or link to a static image with fixed overlays. The [Trade Chart MCP server](https://tools.openkrill.app/tools/trade-chart) (`https://chart.openkrill.app/mcp`) fetches public market data from Yahoo Finance with no API key, computes up to 8 technical indicators on the series, and returns both structured indicator readings and an interactive HTML chart rendered with Vela 0.8.0 (Apache-2.0, LuxAlgo).

## 1. Draw a daily MSFT candlestick chart with SMA(50) and RSI(14)

The `chart` tool on `https://chart.openkrill.app/mcp` accepts:

- `symbol`: ticker symbol such as `"MSFT"`, `"AAPL"` or `"NVDA"`.
- `timeframe`: `"5m"`, `"15m"`, `"1h"`, `"1d"` (default) or `"1w"`.
- `indicators`: any combination of `"sma"`, `"ema"`, `"rsi"`, `"macd"`, `"bollinger"`, `"atr"`, `"stochastic"` and `"vwap"`.
- `periods`: optional custom period lengths (2 to 100) for single-length studies, such as `{"sma": 50}`.
- `theme`: `"dark"` (default) or `"light"`.

Here is the exact JSON-RPC call from our saved 2026-10-20 run for Microsoft Corporation (`MSFT`):

```
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "chart",
    "arguments": {
      "symbol": "MSFT",
      "timeframe": "1d",
      "indicators": ["sma", "rsi"],
      "periods": {
        "sma": 50
      }
    }
  }
}
```

And here is the structured summary returned in 972 ms (972 ms on the supplementary verification run after commit `1c3246ee9`, 1,090 ms on the initial ranking run):

```
{
  "as_of": "2026-10-19T13:30:00.000Z",
  "status": "ok",
  "symbol": "MSFT",
  "name": "Microsoft Corporation",
  "timeframe": "1d",
  "bars": 220,
  "lastClose": 533.52001953125,
  "changePercent": 0.8449,
  "indicators": [
    {
      "indicator": "sma",
      "params": { "length": 50 },
      "latest": { "value": 506.203 },
      "read": "The 50-period simple moving average is 506.203. The last close is above it."
    },
    {
      "indicator": "rsi",
      "params": { "length": 14 },
      "latest": { "value": 59.55098 },
      "read": "The 14-period RSI is 59.551."
    }
  ],
  "openUrl": "https://chart.openkrill.app/chart?symbol=MSFT&timeframe=1d&theme=dark&indicators=sma%2Crsi&sma=50",
  "chartLibrary": "Vela 0.8.0 (Apache-2.0, LuxAlgo, https://velacharts.dev). PineTS is not used.",
  "source": "Yahoo Finance public chart data (https://finance.yahoo.com), no key"
}
```

## 2. What the MSFT 1-day readings show

Across the 220 daily bars from `2025-12-03` through `2026-10-19`:

- **Last close and volume**: `MSFT` closed at `533.52` US dollars (`533.52001953125`), up `0.84%` (`changePercent: 0.8449`) from the prior session, with last-bar volume of `17,984,300` shares (`17.98 million`).
- **50-day Simple Moving Average**: `506.203`. With the close at `533.52`, Microsoft trades `27.32` points (+5.40 percent) above its 50-day trend line.
- **14-day Relative Strength Index**: `59.551` (`59.55098`), sitting in neutral-to-bullish territory below the standard 70 overbought threshold and above the 30 oversold threshold.
- **Interactive HTML and direct URL**: `structuredContent.html` embeds a self-contained 39 KB HTML page that boots Vela 0.8.0 with all 220 OHLCV bars, volume bars, the 50-period SMA overlay and the 14-period RSI sub-pane, plus a timeframe switcher (`5m`, `15m`, `1h`, `1d`, `1w`) and a light/dark theme toggle. The `openUrl` field gives a direct link that preserves the custom `&sma=50` period in the query string.

## 3. How Trade Chart compares with StockCharts, TradingView and Finviz

On 2026-10-20 we benchmarked the same daily MSFT candlestick chart with 50-day SMA and 14-day RSI across [Trade Chart](https://tools.openkrill.app/tools/trade-chart) and three charting sites:

| Tool | Wall time | MSFT close, SMA(50) and RSI(14) | Chart output and limits |
| --- | --- | --- | --- |
| **OpenKrill Trade Chart** (`chart`) | 1,090 ms (972 ms on re-run) | Close 533.52, SMA(50) 506.203, RSI(14) 59.551 | Interactive 39 KB Vela 0.8.0 HTML chart + shareable URL with custom indicator selection and JSON values |
| **StockCharts SharpChart** (`stockcharts.com/c-sc/sc?s=MSFT&p=D&b=5&g=0&i=0`) | 673 ms | Close 533.52, MA(50) 506.05, RSI(14) 59.58 (plus MA200 and MACD) | Static daily candlestick PNG image only; fixed indicator set on the default URL and no JSON output |
| **TradingView Technicals** (`tradingview.com/symbols/NASDAQ-MSFT/technicals/`) | 670 ms | SMA(50) 506.20, RSI(14) 59.55 on the 1-day tab | Table of indicator numbers only; drawing the candlestick chart with chosen overlays requires opening a separate chart page |
| **Finviz** (`finviz.com/quote.ashx?t=MSFT&p=d`) | Not run | HTTP 403 Forbidden | Blocks non-browser requests with HTTP 403 |

## 4. Connect Trade Chart in Claude Desktop, Cursor or any MCP client

Point your MCP client at the keyless Streamable HTTP endpoint:

```
{
  "mcpServers": {
    "trade-chart": {
      "type": "streamable-http",
      "url": "https://chart.openkrill.app/mcp"
    }
  }
}
```

The server allows 60 calls per minute per network and 5,000 calls per day per server with no account. All output is informational only and does not recommend trades or place orders.

## Frequently asked questions

### How can I generate a daily candlestick chart of Microsoft stock with the 50-day moving average and RSI in an AI agent?

Call `chart` on `https://chart.openkrill.app/mcp` with `symbol` set to `"MSFT"`, `timeframe` set to `"1d"`, `indicators` set to `["sma", "rsi"]` and `periods` set to `{"sma": 50}`. The server returns 220 daily bars from Yahoo Finance, computed SMA(50) and RSI(14) values, a 39 KB interactive Vela 0.8.0 HTML chart and a shareable `chart.openkrill.app` URL.

### What is the current 50-day SMA, 14-day RSI, and daily close for MSFT?

Across 220 daily Yahoo Finance bars from 2025-12-03 to 2026-10-19 checked on 2026-10-20 via Trade Chart, Microsoft Corporation (MSFT) closed at 533.52 US dollars (+0.84 percent) on volume of 17.98 million shares, with a 50-day Simple Moving Average of 506.203 and a 14-day RSI of 59.551 (59.55098).

### Where can I get a free stock chart with custom indicators without signing up?

OpenKrill's Trade Chart MCP server (`https://chart.openkrill.app/mcp`) requires no account or API key and returns both an inline HTML chart and a direct browser link such as `https://chart.openkrill.app/chart?symbol=MSFT&timeframe=1d&theme=dark&indicators=sma%2Crsi&sma=50` rendered with Vela 0.8.0.

### What timeframes and technical indicators does Trade Chart support?

Trade Chart supports 5-minute (`"5m"`), 15-minute (`"15m"`), 1-hour (`"1h"`), daily (`"1d"`) and weekly (`"1w"`) timeframes, and computes up to 8 indicators: Simple Moving Average (`"sma"`), Exponential Moving Average (`"ema"`), Relative Strength Index (`"rsi"`), MACD (`"macd"`), Bollinger Bands (`"bollinger"`), Average True Range (`"atr"`), Stochastic (`"stochastic"`) and Volume Weighted Average Price (`"vwap"`).

## Sources

- [Yahoo Finance Public Chart Data (MSFT)](https://finance.yahoo.com/quote/MSFT)
- [Vela 0.8.0 Charting Library (Apache-2.0, LuxAlgo)](https://velacharts.dev)
- [OpenKrill Trade Chart MCP Server Documentation](https://tools.openkrill.app/tools/trade-chart)
