Skip to main content
Glama
TradingView Chrome MCP

TradingView Chrome MCP

by firyomaefx

TradingView Chrome MCP — Standalone Windows .exe

CI License: MIT

Let your AI assistant remote-control your TradingView tab in Chrome — with a single portable Windows executable.

This is a local MCP server that sits between Claude, Codex CLI, ChatGPT Desktop, Cursor, or any MCP host and your existing TradingView tab. It reads charts, writes Pine Script v6, fixes compile errors automatically, manages watchlists, sets alerts, and takes screenshots — all from plain English commands. No API keys, no TradingView credentials, and the AI never trades on your behalf.

  • 🖥️ Windows-first portable .exe — single file, no Node.js installer, no registry changes.

  • 🔌 Two browser drivers — Playwright/CDP (default) or a loaded Chrome extension.

  • 🧠 Autonomous Pine Script repair loop — write → compile → detect error → LLM patch → add-to-chart → verify.

  • 🔒 Approval-gated writes — symbol changes, saves, and layout switches wait for your dashboard OK.

  • 📰 Optional sentiment/news module — bullish/bearish headline heuristics and financial-news feed (opt-in via TV_ENABLE_SENTIMENT_NEWS=1).

  • 📈 Paper-trading backtests — simulated long/short strategy runs, clearly labeled not real trading (Pro/Team/Owner).

  • 🌐 Self-contained local dashboard — control, audit log, screenshots, and emergency stop at http://127.0.0.1:3939.


Download the standalone Windows app

Go to the latest release and download tradingview-chrome-mcp.exe.

Put it anywhere — desktop, USB drive, or project folder — and double-click it.

First launch unpacks the embedded Node.js runtime and dependencies to:

%LOCALAPPDATA%\tradingview-chrome-mcp

Subsequent launches reuse that cache and start in seconds. All logs, backups, screenshots, and exports are written there, so the .exe itself is 100% portable.


Related MCP server: tradingview-mcp

Quick start (Windows)

1. Run the .exe

# Default dashboard opens at http://127.0.0.1:3939
.\tradingview-chrome-mcp.exe

The launcher will:

  1. Detect or start Chrome.

  2. Open the local dashboard.

  3. Start the MCP server over STDIO (and an optional HTTP transport if enabled).

2. Register with your AI host

Claude Desktop / Claude Code

Add to %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "tradingview-chrome-mcp": {
      "command": "C:\\Users\\%USERNAME%\\AppData\\Local\\tradingview-chrome-mcp\\tradingview-chrome-mcp.exe",
      "env": {
        "TV_DASHBOARD_PORT": "3939",
        "TV_LOG_LEVEL": "info",
        "TV_APPROVAL_TIMEOUT_MS": "120000"
      }
    }
  }
}

Codex CLI

If you used the PowerShell installer, Codex is registered automatically. Otherwise:

codex mcp add tradingview-chrome-mcp "C:\Users\%USERNAME%\AppData\Local\tradingview-chrome-mcp\tradingview-chrome-mcp.exe"

ChatGPT Desktop / Cursor / Windsurf

Point the host at the .exe as an STDIO MCP server with the same environment variables.

3. Ask the AI to trade for you (in words, not money)

Read my TradingView chart and tell me the current symbol and timeframe.
Create a Pine Script v6 EMA crossover indicator called "EMA Cross" and add it to the chart.
Fix all Pine Script compile errors and keep trying until the indicator loads.

Installation options

Method

Best for

Build step

One-click launcher

Windows setup .exe (recommended)

Windows users who want Start-menu/desktop shortcuts

No

Install, then double-click shortcut

Portable .exe

Windows users who want a single file with no installer

No

Double-click

PowerShell installer

Windows users who prefer CLI install

No

irm ... | iex

Build from source

Developers or macOS/Linux

npm install && npm run build

Launch-TV-MCP.ps1

Vercel-hosted SSE fork

Teams needing a remote market-data MCP

Next.js build

No

Full install details: INSTALL.md · Tool reference: TOOL_REFERENCE.md


Chrome extension driver (optional)

The .exe defaults to Playwright over Chrome DevTools Protocol. If you prefer to drive an already-running Chrome instance without --remote-debugging-port, use the Chrome extension driver:

  1. Open chrome://extensions and enable Developer mode.

  2. Click Load unpacked and select the extension/ folder from this repo.

  3. Run the .exe with:

$env:TV_BROWSER_DRIVER = "extension"
$env:TV_EXTENSION_WS_PORT = "9223"
$env:TV_EXTENSION_TOKEN = "tradingview-chrome-mcp"
.\TradingView-Chrome-MCP-0.8.0-portable.exe

The extension connects to the .exe over a local WebSocket, injects MAIN-world scripts into the TradingView tab, and exposes all 53 tools. This is the path that enables the autonomous Pine Script repair loop to catch red compile-error toasts the instant they appear.


Features

Feature

What it means

Portable .exe

Single file; extracts to and writes inside %LOCALAPPDATA%\tradingview-chrome-mcp.

Windows setup .exe

Classic installer; creates Start-menu and optional desktop shortcuts in %LOCALAPPDATA%\TradingView Chrome MCP.

Chrome profile reuse

Optional TV_ALLOW_REAL_PROFILE=1 keeps you logged into TradingView.

Approval gate

Writes wait for your OK in the local dashboard.

Emergency stop

One button disables every tool instantly.

Local audit log

Every action is written to logs/audit.jsonl.

No credential extraction

Cookies, tokens, and passwords are never read.

Pine Script v6

Create, patch, save, compile, rename, attach, back up, and restore scripts.

Autonomous repair loop

tv_pine_autofix runs read → compile → LLM patch → save → add-to-chart → verify.

Error toast observer

The Chrome extension catches red compilation errors as soon as they appear.

Alerts & watchlists

Read, add, sync, and delete symbols and price alerts.

Layouts & indicators

Save, duplicate, rename, reset, switch layouts; add/remove/hide/show/update indicators.

Screenshots & data export

Capture the chart or export visible metadata.

Sentiment & news (opt-in)

Bullish/bearish headline scoring and Yahoo Finance RSS feed.

Paper trading (Pro+)

Deterministic simulated backtests; every result is labeled simulated: true.

Browser pool (experimental)

Reuse Playwright contexts across tools; emergency stop propagates.


Tool categories

The server exposes 60 tools grouped by job:

  • Diagnostics — ping, mcp_client_info

  • Chart control — tv_status, tv_read_chart, tv_chart_metadata, tv_change_symbol, tv_change_timeframe, tv_ensure_chart

  • Pine Script — tv_open_pine_editor, tv_read_pine_source, tv_pine_create, tv_pine_patch, tv_pine_save, tv_pine_add_to_chart, tv_pine_compile_errors, tv_rename_script, tv_pine_backup, tv_pine_list_backups, tv_pine_restore, tv_pine_autofix

  • Watchlists — tv_watchlist_read, tv_watchlist_add_symbol, tv_watchlist_sync

  • Alerts — tv_alert_create, tv_alert_list, tv_alert_delete

  • Layouts — tv_layout_list, tv_layout_switch, tv_layout_save, tv_layout_duplicate, tv_layout_rename, tv_layout_reset, tv_layout_export

  • Indicators — tv_indicator_add, tv_indicator_remove, tv_indicator_hide, tv_indicator_show, tv_indicator_settings

  • Drawing — tv_drawing_add_trendline

  • Verification — tv_chart_verify

  • Utilities — tv_screenshot, tv_dismiss_dialogs, tv_read_strategy_tester, tv_chart_data_export, browser_status, browser_list_tabs

  • Paper trading — tv_paper_trade

  • Safety — emergency_stop, emergency_clear

  • Licensing — licence_status, activate_licence, edition_limits

  • Audit & Sync — audit_verify, sync_status


Configuration

Set environment variables before launching the .exe:

Variable

Default

Purpose

TV_DEFAULT_TRADINGVIEW_URL

https://www.tradingview.com/chart/

Chart URL to open when no tab exists.

TV_ALLOW_CHROME_LAUNCH

0

Set to 1 to let the launcher start Chrome if none is found.

TV_ALLOW_CHROME_KILL

0

Set to 1 to let the launcher close conflicting Chrome instances.

TV_ALLOW_REAL_PROFILE

0

Set to 1 to reuse your real Chrome profile.

TV_DASHBOARD_PORT

3939

Local dashboard port.

TV_DASHBOARD_TOKEN

random

Bearer token required by dashboard /api/*.

TV_MCP_HTTP_PORT

3940

Optional Streamable HTTP transport; set 0 to disable.

TV_BROWSER_DRIVER

playwright

playwright or extension.

TV_EXTENSION_WS_PORT

9223

WebSocket port for extension mode.

TV_EXTENSION_TOKEN

tradingview-chrome-mcp

Shared secret between .exe and extension.

TV_APPROVAL_TIMEOUT_MS

120000

How long writes wait for your approval.

TV_DATA_DIR

%LOCALAPPDATA%\tradingview-chrome-mcp

Logs, backups, screenshots, exports.

OPENAI_API_KEY / ANTHROPIC_API_KEY

—

Enables autonomous tv_pine_autofix patching.

TV_AUTOFIX_MODEL

gpt-4o / claude-3-5-sonnet-20241022

LLM used by the repair loop.

TV_ENABLE_SENTIMENT_NEWS

0

Set to 1 to expose tv_market_sentiment and tv_financial_news.

TV_ENABLE_BROWSER_POOL

0

Set to 1 to enable the experimental Playwright browser-pool reuse.

TV_ENABLE_BOTH_BACKENDS

0

Set to 1 to expose market-data API tools alongside the browser backend.

Example: open directly on XAUUSD

$env:TV_DEFAULT_TRADINGVIEW_URL = "https://www.tradingview.com/chart/?symbol=OANDA%3AXAUUSD"
.\tradingview-chrome-mcp.exe

How the autonomous Pine Script loop works

AI writes Pine Script
        │
        ▼
┌───────────────────────┐
│  MCP .exe (Windows)   │
│  STDIO / HTTP bridge  │
└───────────┬───────────┘
            │ JSON-RPC over WebSocket (extension driver)
            ▼
┌───────────────────────┐
│ Chrome extension       │
│ service worker         │
└───────────┬───────────┘
            │ chrome.scripting.executeScript({ world: "MAIN" })
            ▼
┌───────────────────────┐
│ TradingView tab        │
│ Monaco editor          │
└───────────┬───────────┘
            │ compile error toast appears
            ▼
┌───────────────────────┐
│ error_observer.js      │
│ MutationObserver       │
└───────────┬───────────┘
            │ PINE_SCRIPT_ERROR_DETECTED
            ▼
┌───────────────────────┐
│ MCP .exe receives error│
└───────────┬───────────┘
            │ error text passed to AI
            ▼
AI patches code and retries

Building the .exe from source

On a Windows machine with Node.js 22.5+ (24+ recommended):

git clone https://github.com/firyomaefx/tradingview-chrome-mcp.git
cd tradingview-chrome-mcp
npm install
npm run build:exe

Outputs:

  • TradingView-Chrome-MCP-0.8.0-portable.exe (~1.2 GB) — single-file portable app.

  • TradingView-Chrome-MCP-0.8.0-windows-setup.exe (~1.2 GB) — classic Windows installer.

Both embed Node.js, the compiled server, and all runtime dependencies via caxa. The setup .exe is produced only if Inno Setup 6 or 7 is installed.


Run from source (no .exe)

For development or non-Windows platforms. Requires Node.js 22.5+ (24+ recommended) — the server uses the built-in node:sqlite module, which is missing in Node 20. On an unsupported Node it prints an actionable upgrade message and exits.

git clone https://github.com/firyomaefx/tradingview-chrome-mcp.git
cd tradingview-chrome-mcp
npm install                       # no native deps; no build tools required
npx playwright install chromium   # only needed for the default playwright driver
npm run build                     # required: dist/ is gitignored and not shipped
npm start                         # MCP server over STDIO; boots with zero config

The server starts with no .env at all. To customize ports, Chrome path, cloud sync, or the LLM key: cp .env.example .env and edit. See INSTALL.md Option C for the launcher-with-shortcuts flow.


Architecture

┌─────────────────┐      STDIO / HTTP       ┌──────────────────────┐
│  MCP host       │  ───────────────────────▶  │  tradingview-chrome  │
│  (Claude, Codex,│                           │  -mcp.exe             │
│  ChatGPT, etc.) │                           │                      │
└─────────────────┘                           │  ┌───────────────┐   │
                                              │  │ Tool registry │   │
                                              │  │ Policy +      │   │
                                              │  │ approvals     │   │
                                              │  └───────┬───────┘   │
                                              │          │           │
                                              │  ┌───────▼───────┐   │
                                              │  │ Browser driver│   │
                                              │  │ (Playwright   │   │
                                              │  │  or extension)│   │
                                              │  └───────┬───────┘   │
                                              └──────────┼───────────┘
                                                         │
                                              ┌──────────▼──────────┐
                                              │  Google Chrome      │
                                              │  TradingView tab    │
                                              └─────────────────────┘

Read ARCHITECTURE.md for diagrams, invariants, and transport details.


Security & privacy

  • No credential storage. Cookies, tokens, and passwords are never read or transmitted.

  • Temporary Chrome profile by default. Isolated unless you opt into TV_ALLOW_REAL_PROFILE=1.

  • Dashboard bearer token. All dashboard API calls require Authorization: Bearer <TV_DASHBOARD_TOKEN>.

  • Local-only audit logs. Every action is written to logs/audit.jsonl with sensitive inputs redacted.

  • Approval-gated writes. Destructive tools require explicit dashboard approval.

  • Emergency stop. Instantly disables all tool execution.

  • Domain allowlist. Browser tools only run on tradingview.com / www.tradingview.com.

  • No remote telemetry in local mode. The Vercel-hosted fork is separate and opt-in.


Project layout

tradingview-chrome-mcp/
├── src/                    # Local MCP server
│   ├── server/             # STDIO + HTTP transports
│   ├── tools/              # Tool registry (60 tools)
│   ├── adapters/           # TradingView DOM automation
│   ├── browser/            # Playwright + extension drivers
│   ├── dashboard/          # Local Express control panel
│   ├── permissions/        # Policy + approval queue
│   ├── detect/             # MCP host client detection
│   ├── telemetry/          # Privacy-first telemetry helpers
│   └── config.ts           # Centralized config
├── extension/              # Optional Chrome extension (MV3)
├── scripts/                # Launchers, installer (Inno Setup .iss)
├── vercel-hosted/          # Separate Vercel SSE fork
├── tests/                  # Unit + integration tests
└── docs/                   # README, INSTALL, HOSTED, etc.

Development status

  • Version: 0.8.0

  • Default branch: main

  • Local tests: 123 passing

  • CI: .github/workflows/ci.yml runs Windows and Ubuntu jobs on every push.


License

MIT. See LICENSE.

Available Tools

60 tools
activate_licenceA
Read-only

Activate a Pro/Team/Owner licence key locally. Free requires no key. Does not touch the browser or the chart.

Inputs: key (required).

audit_verifyA
Read-only

Recompute the hash-chained audit log from genesis and report the first broken sequence, plus the latest entries. Read-only.

Inputs: limit.

browser_list_tabsA
Read-only

List all open Chrome tabs.

Inputs: no named parameters.

browser_statusA
Read-onlyIdempotent

Report Chrome connection status and the number of open tabs.

Inputs: no named parameters.

edition_limitsA
Read-only

List the feature limits for every edition (Free/Pro/Team/Owner). Read-only.

Inputs: no named parameters.

emergency_clearA
Read-only

Re-enable tools after an emergency stop. Use only once the user has confirmed safety.

Inputs: no named parameters.

emergency_stopA

Immediately disable all tools. Use to halt a runaway action chain.

Inputs: no named parameters.

licence_statusA
Read-only

Report the current product edition (Free/Pro/Team/Owner), feature limits, activation status, and device id. Read-only.

Inputs: no named parameters.

mcp_client_infoA
Read-onlyIdempotent

Detect and report the LLM/MCP host client that launched this server (Claude, Codex, ChatGPT, Cursor, etc.). Read-only.

Inputs: no named parameters.

pingA
Read-onlyIdempotent

Health check. Returns server version, emergency-stop state, and the detected MCP host client.

Inputs: no named parameters.

sync_statusA
Read-only

Report cloud sync configuration and the local sync queue depth. Optionally drain one batch now. Read-only unless drain=true.

Inputs: drain.

tv_alert_createA
Destructive

Create an alert on the current symbol. Supports simple message alerts or template-driven condition alerts (Crossing Up/Down, Greater/Less Than). DESTRUCTIVE: creates a real alert on your account.

Inputs: message (required), value, condition.

tv_alert_deleteA
Destructive

Delete the alert at the given zero-based index in the alerts panel. DESTRUCTIVE.

Inputs: index (required).

tv_alert_listB
Read-only

Open the alerts panel and list existing alert messages. Best-effort.

Inputs: no named parameters.

tv_backtest_compareA
Destructive

Compare a Pine strategy across multiple parameter sets using the Strategy Tester. Pro+ only. DESTRUCTIVE: changes the chart, saves/loads the strategy, and opens the Strategy Tester.

Inputs: source (required), symbol (required), paramSets (required), timeframe (required), +1 more.

tv_change_symbolA
Destructive

Change the active chart symbol. DESTRUCTIVE: modifies the user's chart.

Inputs: symbol (required).

tv_change_timeframeA
Destructive

Change the active chart timeframe. DESTRUCTIVE: modifies the user's chart.

Inputs: timeframe (required).

tv_chart_data_exportA
Destructive

Export the current chart data to CSV. Saves the download to ./exports. DESTRUCTIVE: triggers a browser download.

Inputs: no named parameters.

tv_chart_metadataA
Read-only

Read visible chart metadata: symbol, timeframe, indicators, strategies, overlays, and pane count. Read-only.

Inputs: no named parameters.

tv_chart_verifyA
Read-only

Best-effort runtime verification that an indicator is on the chart and expected plots/labels/tables are present. Read-only.

Inputs: maxWaitMs, expectedPlots, expectedLabels, expectedTables, +1 more.

tv_dismiss_dialogsA
Read-only

Close known TradingView upsell/notice dialogs (close/X buttons only; never clicks primary CTAs). Non-destructive.

Inputs: no named parameters.

tv_drawing_add_fib_retracementA
Destructive

Experimental: add a Fibonacci retracement drawing on the chart pane. Best-effort.

Inputs: x1Pct, x2Pct, y1Pct, y2Pct.

tv_drawing_add_horizontal_lineA
Destructive

Experimental: add a horizontal line at a chosen Y-position on the chart pane. Best-effort.

Inputs: yPct.

tv_drawing_add_rectangleB
Destructive

Experimental: add a rectangle drawing on the chart pane. Best-effort.

Inputs: x1Pct, x2Pct, y1Pct, y2Pct.

tv_drawing_add_trendlineB
Destructive

Experimental: add a vertical trend line via the left drawing toolbar using two clicks on the chart pane. Best-effort.

Inputs: no named parameters.

tv_ensure_chartA
Read-only

Ensure a usable TradingView chart tab is open. If none exists, opens the Pine Editor and navigates to TV_DEFAULT_TRADINGVIEW_URL. Non-destructive navigation only.

Inputs: no named parameters.

tv_get_ohlcvA
Read-only

Extract OHLCV bars from the active TradingView chart. Best-effort via the widget API, with a DOM fallback. Read-only.

Inputs: maxBars.

tv_indicator_addA
Destructive

Add an indicator or strategy to the chart by name (e.g. 'RSI', 'MACD'). DESTRUCTIVE: modifies the chart.

Inputs: name (required).

tv_indicator_hideA
Destructive

Hide an indicator by legend name or zero-based index. DESTRUCTIVE: changes chart visibility.

Inputs: nameOrIndex (required).

tv_indicator_removeA
Destructive

Remove an indicator from the chart by exact legend name or zero-based index. DESTRUCTIVE.

Inputs: nameOrIndex (required).

tv_indicator_settingsB
Destructive

Update an indicator's settings by legend name or index. settings is a map of input label to value. DESTRUCTIVE.

Inputs: settings (required), nameOrIndex (required).

tv_indicator_showA
Destructive

Show a previously hidden indicator by legend name or zero-based index. DESTRUCTIVE: changes chart visibility.

Inputs: nameOrIndex (required).

tv_layout_duplicateA
Destructive

Duplicate the active chart layout. Optionally provide a new name. DESTRUCTIVE: creates a new layout in your account.

Inputs: name.

tv_layout_exportA
Read-only

Export a local snapshot of the current layout (screenshot + metadata JSON) to ./layouts. Non-destructive.

Inputs: name.

tv_layout_listA
Read-only

Open the layouts menu and list saved chart layout names. Best-effort selector.

Inputs: no named parameters.

tv_layout_renameA
Destructive

Rename the active chart layout. DESTRUCTIVE: changes the saved layout name.

Inputs: name (required).

tv_layout_resetA
Destructive

Reset the active chart layout to its default/empty state. DESTRUCTIVE: removes indicators and drawings.

Inputs: no named parameters.

tv_layout_saveA
Destructive

Save the current chart layout. Provide a name to perform 'Save layout as...'. DESTRUCTIVE: overwrites the saved layout in your TradingView account.

Inputs: name.

tv_layout_switchA
Destructive

Switch to a saved chart layout by exact name. DESTRUCTIVE: changes the active layout.

Inputs: name (required).

tv_open_pine_editorA
Read-only

Open the Pine Editor panel on the chart. Idempotent: returns alreadyOpen=true if already open.

Inputs: no named parameters.

tv_paper_tradeA
Read-only

Pro+. Run a SIMULATED strategy backtest over deterministic historical bars. No real money, no broker, no live orders. Requires Pro+ edition.

Inputs: symbol (required), trend, barCount, strategy, +3 more.

tv_pine_add_to_chartB
Destructive

Click 'Add to chart' on the current Pine script. DESTRUCTIVE: changes the active chart.

Inputs: scriptName.

tv_pine_autofixA
Destructive

Autonomous Pine Script repair loop. Reads source, compiles, applies static rules first, then optionally calls an LLM (OPENAI_API_KEY/ANTHROPIC_API_KEY) to patch remaining errors, saves, adds to chart, and verifies. DESTRUCTIVE: may save and add to chart. Set autoSave/autoAddToChart=false to run read-only diagnostics.

Inputs: goal (required), source, autoSave, maxAttempts, +2 more.

tv_pine_backupA
Read-only

Back up the current Pine editor source to ./backups with a timestamp. Non-destructive.

Inputs: label.

tv_pine_compile_errorsA
Read-only

Read compile errors/warnings from the Pine editor. Call after tv_pine_save or before tv_pine_add_to_chart.

Inputs: no named parameters.

tv_pine_createA
Read-only

Replace the Pine editor contents with a new v6 indicator source. Does NOT save. Call tv_pine_save afterwards.

Inputs: name (required), source (required), overwrite.

tv_pine_list_backupsA
Read-only

List available Pine source backups from ./backups, newest first. Read-only.

Inputs: no named parameters.

tv_pine_patchB
Read-only

Patch the Pine editor with a full replacement source (semantic patch = overwrite editor buffer). Call tv_pine_save afterwards.

Inputs: source (required), scriptName (required).

tv_pine_quick_fixA
Destructive

Apply deterministic, rule-based Pine Script fixes to the current editor source without calling an LLM. Does NOT save. Returns the patched source if a static rule applied. DESTRUCTIVE: overwrites editor contents (no auto-save).

Inputs: source.

tv_pine_restoreA
Destructive

Restore a backup into the Pine editor. If backupName is omitted, restores the most recent backup. DESTRUCTIVE: overwrites editor contents (does not auto-save).

Inputs: backupName.

tv_pine_saveA
Destructive

Click the Pine editor Save button. DESTRUCTIVE: persists the script to the user's TradingView account.

Inputs: scriptName.

tv_read_chartA
Read-onlyIdempotent

Alias for tv_status. Returns the current symbol, timeframe, page readiness, diagnostics, and detected MCP host client.

Inputs: no named parameters.

tv_read_pine_sourceA
Read-only

Read the current Pine Script source from the open editor. Returns null if editor is closed.

Inputs: scriptName.

tv_read_strategy_testerA
Read-only

Read the Strategy Tester summary if visible. Returns visible:false if the panel is not open.

Inputs: no named parameters.

tv_rename_scriptA
Destructive

Rename the current Pine script via the editor title menu (Rename...). DESTRUCTIVE: changes the saved script name.

Inputs: name (required).

tv_screenshotA
Read-only

Capture a PNG screenshot of the active TradingView tab. Returns either a local file path or an inline base64 markdown image.

Inputs: name, format, fullPage.

tv_statusA
Read-onlyIdempotent

Read the current TradingView chart state: symbol, timeframe, login, Pine editor open, dialogs, diagnostics, and detected MCP host client.

Inputs: no named parameters.

tv_watchlist_add_symbolA
Destructive

Add the current chart symbol to the watchlist via the star button. DESTRUCTIVE: modifies your watchlist.

Inputs: symbol (required).

tv_watchlist_readA
Read-only

Read the symbols in the active watchlist panel if visible.

Inputs: no named parameters.

tv_watchlist_syncA
Destructive

Read the active watchlist and optionally add the current/requested symbol if missing. DESTRUCTIVE when it adds a symbol.

Inputs: symbol, addIfMissing.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 60 tools

    Disambiguation2/5

    Several tools are exact or near duplicates: tv_status/tv_read_chart, tv_pine_create/tv_pine_patch, and tv_watchlist_sync heavily overlaps tv_watchlist_read and tv_watchlist_add_symbol. With 60 tools, agents are likely to misselect between these ambiguous pairs despite mostly distinct domains.

    Naming Consistency4/5

    The tv_* tools follow a consistent verb_noun pattern such as tv_change_symbol, tv_layout_save, and tv_indicator_add. The main deviations are the non-tv system/utility tools like ping, emergency_stop, browser_status, and sync_status, plus the British spelling of licence_status/activate_licence.

    Tool Count2/5

    60 tools is too many for a well-scoped MCP surface, even though TradingView automation is a broad domain. The set includes redundant aliases and admin utilities that could be consolidated, making the tool count feel padded rather than purposeful.

    Completeness3/5

    Core workflows are well covered: chart state, OHLCV data, Pine editor lifecycle, alerts, layouts, indicators, watchlist, and strategy testing all have supporting tools. However, there are notable dead ends: drawings can only be added with no listing/removal, watchlist has no remove operation, alerts lack update, and layouts have no delete.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to drive a live TradingView chart in Chrome, turning natural-language trading ideas into compiled Pine Script indicators, adding them to charts, and reading back results. It also supports chart navigation, indicator management, screenshots, and strategy tester backtest results.
      97
      -