← ClaudeAtlas

tvchartlisted

Drive a live TradingView Lightweight Charts widget end-to-end via PyWry MCP tools — symbol, interval, indicators, markers, price lines, layouts, state.
deeleeramone/PyWry · ★ 89 · AI & Automation · score 80
Install: claude install-skill deeleeramone/PyWry
# TradingView Chart — Agent Reference > **Use this when an agent needs to read or mutate a live `tvchart` > widget.** Every action is an MCP tool call on the PyWry FastMCP > server — there are no local helpers, no side channels, no custom > tools. Pick the typed tool that matches the user's intent, pass the > required arguments, and quote the tool's return values in your > reply. ## Every tool takes `widget_id` `widget_id` identifies which chart to operate on. On a single-chart server the framework auto-resolves it from the registry; on a multi-chart server you must pass it explicitly. Read the value from the user's `@<name>` attachment (the chat prepends `--- Attached: <name> ---\nwidget_id: <id>`) or call `list_widgets()` to enumerate. ## Reading chart state — always via `tvchart_request_state` Never report symbol / interval / indicators / bars / last close from memory. Call the tool, quote the return. ``` tvchart_request_state(widget_id) → { "widget_id": "chart", "state": { "symbol": "AAPL", "interval": "1D", "series": [{ "seriesId": "main", "bars": [...], ... }], "indicators": [...], "visibleRange": { "from": ..., "to": ... }, "chartType": "Candles", ... } } ``` When the user asks "what's on the chart", "what's the current price", "what indicators are applied", call this and quote from `state`. ## Mutating tools — all confirm the change Every mutation returns the real post-change