TradingView Chrome MCP
The TradingView Chrome MCP server enables AI assistants to remotely control a TradingView tab in Chrome for automated charting, Pine Script development, alerts, watchlists, layouts, and more. Key capabilities include:
Diagnostics & Health: Check server status, Chrome connectivity, and active TradingView tab.
Chart Control: Read symbol/timeframe, change symbols and timeframes, take screenshots, export data, dismiss dialogs, verify chart elements.
Pine Script Development: Open editor, read/write/patch/save/rename Pine scripts, compile error detection, autonomous LLM-powered repair loop, backup/restore.
Alerts & Watchlists: Create/list/delete price alerts; read, add, and sync watchlist symbols.
Layout & Indicator Management: List/switch/save/duplicate/rename/reset/export chart layouts; add/remove/hide/show/configure indicators.
Drawing & Strategy Testing: Add trendlines (experimental); read strategy tester summaries.
Safety & Licensing: Emergency stop/clear, audit logging with hash-chaining; edition management and license activation.
Browser & Utility: List tabs, ensure TradingView tab, manage Pine backups, and optionally paper trading (Pro+).
Deployment: Portable Windows .exe/installer, configurable via environment variables, supports multiple browser drivers and AI hosts.
Allows AI assistants to remote-control a TradingView chart tab in Chrome, including reading chart state, changing symbols and timeframes, creating and auto-repairing Pine Script v6 indicators, managing watchlists, alerts, layouts, and indicators, capturing screenshots, and running simulated paper-trading backtests.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TradingView Chrome MCP Read my chart and tell me the current symbol and timeframe."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TradingView Chrome MCP — Standalone Windows .exe
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-mcpSubsequent 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.exeThe launcher will:
Detect or start Chrome.
Open the local dashboard.
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 | Windows users who want Start-menu/desktop shortcuts | No | Install, then double-click shortcut |
Portable | Windows users who want a single file with no installer | No | Double-click |
PowerShell installer | Windows users who prefer CLI install | No |
|
Build from source | Developers or macOS/Linux |
|
|
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:
Open
chrome://extensionsand enable Developer mode.Click Load unpacked and select the
extension/folder from this repo.Run the
.exewith:
$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.exeThe 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 | Single file; extracts to and writes inside |
Windows setup | Classic installer; creates Start-menu and optional desktop shortcuts in |
Chrome profile reuse | Optional |
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 |
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 |
|
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 |
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_infoChart control —
tv_status,tv_read_chart,tv_chart_metadata,tv_change_symbol,tv_change_timeframe,tv_ensure_chartPine 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_autofixWatchlists —
tv_watchlist_read,tv_watchlist_add_symbol,tv_watchlist_syncAlerts —
tv_alert_create,tv_alert_list,tv_alert_deleteLayouts —
tv_layout_list,tv_layout_switch,tv_layout_save,tv_layout_duplicate,tv_layout_rename,tv_layout_reset,tv_layout_exportIndicators —
tv_indicator_add,tv_indicator_remove,tv_indicator_hide,tv_indicator_show,tv_indicator_settingsDrawing —
tv_drawing_add_trendlineVerification —
tv_chart_verifyUtilities —
tv_screenshot,tv_dismiss_dialogs,tv_read_strategy_tester,tv_chart_data_export,browser_status,browser_list_tabsPaper trading —
tv_paper_tradeSafety —
emergency_stop,emergency_clearLicensing —
licence_status,activate_licence,edition_limitsAudit & Sync —
audit_verify,sync_status
Configuration
Set environment variables before launching the .exe:
Variable | Default | Purpose |
|
| Chart URL to open when no tab exists. |
|
| Set to |
|
| Set to |
|
| Set to |
|
| Local dashboard port. |
| random | Bearer token required by dashboard |
|
| Optional Streamable HTTP transport; set |
|
|
|
|
| WebSocket port for extension mode. |
|
| Shared secret between |
|
| How long writes wait for your approval. |
|
| Logs, backups, screenshots, exports. |
| — | Enables autonomous |
|
| LLM used by the repair loop. |
|
| Set to |
|
| Set to |
|
| Set to |
Example: open directly on XAUUSD
$env:TV_DEFAULT_TRADINGVIEW_URL = "https://www.tradingview.com/chart/?symbol=OANDA%3AXAUUSD"
.\tradingview-chrome-mcp.exeHow 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 retriesBuilding 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:exeOutputs:
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 configThe 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.jsonlwith 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.0Default branch:
mainLocal tests: 123 passing
CI:
.github/workflows/ci.ymlruns Windows and Ubuntu jobs on every push.
License
MIT. See LICENSE.
Available Tools
60 toolsactivate_licenceARead-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_verifyARead-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_tabsARead-only
List all open Chrome tabs.
Inputs: no named parameters.
browser_statusARead-onlyIdempotent
Report Chrome connection status and the number of open tabs.
Inputs: no named parameters.
edition_limitsARead-only
List the feature limits for every edition (Free/Pro/Team/Owner). Read-only.
Inputs: no named parameters.
emergency_clearARead-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_statusARead-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_infoARead-onlyIdempotent
Detect and report the LLM/MCP host client that launched this server (Claude, Codex, ChatGPT, Cursor, etc.). Read-only.
Inputs: no named parameters.
pingARead-onlyIdempotent
Health check. Returns server version, emergency-stop state, and the detected MCP host client.
Inputs: no named parameters.
sync_statusARead-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_createADestructive
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_deleteADestructive
Delete the alert at the given zero-based index in the alerts panel. DESTRUCTIVE.
Inputs: index (required).
tv_alert_listBRead-only
Open the alerts panel and list existing alert messages. Best-effort.
Inputs: no named parameters.
tv_backtest_compareADestructive
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_symbolADestructive
Change the active chart symbol. DESTRUCTIVE: modifies the user's chart.
Inputs: symbol (required).
tv_change_timeframeADestructive
Change the active chart timeframe. DESTRUCTIVE: modifies the user's chart.
Inputs: timeframe (required).
tv_chart_data_exportADestructive
Export the current chart data to CSV. Saves the download to ./exports. DESTRUCTIVE: triggers a browser download.
Inputs: no named parameters.
tv_chart_metadataARead-only
Read visible chart metadata: symbol, timeframe, indicators, strategies, overlays, and pane count. Read-only.
Inputs: no named parameters.
tv_chart_verifyARead-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_dialogsARead-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_retracementADestructive
Experimental: add a Fibonacci retracement drawing on the chart pane. Best-effort.
Inputs: x1Pct, x2Pct, y1Pct, y2Pct.
tv_drawing_add_horizontal_lineADestructive
Experimental: add a horizontal line at a chosen Y-position on the chart pane. Best-effort.
Inputs: yPct.
tv_drawing_add_rectangleBDestructive
Experimental: add a rectangle drawing on the chart pane. Best-effort.
Inputs: x1Pct, x2Pct, y1Pct, y2Pct.
tv_drawing_add_trendlineBDestructive
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_chartARead-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_ohlcvARead-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_addADestructive
Add an indicator or strategy to the chart by name (e.g. 'RSI', 'MACD'). DESTRUCTIVE: modifies the chart.
Inputs: name (required).
tv_indicator_hideADestructive
Hide an indicator by legend name or zero-based index. DESTRUCTIVE: changes chart visibility.
Inputs: nameOrIndex (required).
tv_indicator_removeADestructive
Remove an indicator from the chart by exact legend name or zero-based index. DESTRUCTIVE.
Inputs: nameOrIndex (required).
tv_indicator_settingsBDestructive
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_showADestructive
Show a previously hidden indicator by legend name or zero-based index. DESTRUCTIVE: changes chart visibility.
Inputs: nameOrIndex (required).
tv_layout_duplicateADestructive
Duplicate the active chart layout. Optionally provide a new name. DESTRUCTIVE: creates a new layout in your account.
Inputs: name.
tv_layout_exportARead-only
Export a local snapshot of the current layout (screenshot + metadata JSON) to ./layouts. Non-destructive.
Inputs: name.
tv_layout_listARead-only
Open the layouts menu and list saved chart layout names. Best-effort selector.
Inputs: no named parameters.
tv_layout_renameADestructive
Rename the active chart layout. DESTRUCTIVE: changes the saved layout name.
Inputs: name (required).
tv_layout_resetADestructive
Reset the active chart layout to its default/empty state. DESTRUCTIVE: removes indicators and drawings.
Inputs: no named parameters.
tv_layout_saveADestructive
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_switchADestructive
Switch to a saved chart layout by exact name. DESTRUCTIVE: changes the active layout.
Inputs: name (required).
tv_open_pine_editorARead-only
Open the Pine Editor panel on the chart. Idempotent: returns alreadyOpen=true if already open.
Inputs: no named parameters.
tv_paper_tradeARead-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_chartBDestructive
Click 'Add to chart' on the current Pine script. DESTRUCTIVE: changes the active chart.
Inputs: scriptName.
tv_pine_autofixADestructive
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_backupARead-only
Back up the current Pine editor source to ./backups with a timestamp. Non-destructive.
Inputs: label.
tv_pine_compile_errorsARead-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_createARead-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_backupsARead-only
List available Pine source backups from ./backups, newest first. Read-only.
Inputs: no named parameters.
tv_pine_patchBRead-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_fixADestructive
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_restoreADestructive
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_saveADestructive
Click the Pine editor Save button. DESTRUCTIVE: persists the script to the user's TradingView account.
Inputs: scriptName.
tv_read_chartARead-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_sourceARead-only
Read the current Pine Script source from the open editor. Returns null if editor is closed.
Inputs: scriptName.
tv_read_strategy_testerARead-only
Read the Strategy Tester summary if visible. Returns visible:false if the panel is not open.
Inputs: no named parameters.
tv_rename_scriptADestructive
Rename the current Pine script via the editor title menu (Rename...). DESTRUCTIVE: changes the saved script name.
Inputs: name (required).
tv_screenshotARead-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_statusARead-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_symbolADestructive
Add the current chart symbol to the watchlist via the star button. DESTRUCTIVE: modifies your watchlist.
Inputs: symbol (required).
tv_watchlist_readARead-only
Read the symbols in the active watchlist panel if visible.
Inputs: no named parameters.
tv_watchlist_syncADestructive
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
Scored across 60 tools
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.
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.
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.
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
Related MCP Connectors
Let AI agents use your real, signed-in Chrome: tabs, clicks, forms, screenshots and video.
Control your Chrome from chat: open websites, read what's on the page, click buttons, and fill in f…
Control a real browser from AI agents: navigate, click, type, screenshot, read the page.
Connect AI agents to your own Chrome with scoped access, approvals, and verified task results.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceConnects AI assistants to TradingView Desktop via Chrome DevTools Protocol for AI-assisted chart analysis, Pine Script development, and workflow automation.88 npm3-
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with TradingView Desktop charts via Chrome DevTools Protocol for chart analysis, Pine Script development, and workflow automation.88 npm-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to read, control, and draw on locally running TradingView Desktop charts via Chrome DevTools Protocol for chart analysis, Pine Script development, and workflow automation.88 npm-
- FlicenseNot gradedqualityCmaintenanceEnables 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-