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 "Install 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 MCPRead 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 Bridge
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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceConnects AI assistants to TradingView Desktop via Chrome DevTools Protocol for AI-assisted chart analysis, Pine Script development, and workflow automation.2963
- Flicense-qualityCmaintenanceConnects AI assistants to TradingView Desktop via Chrome DevTools Protocol for chart analysis, Pine Script development, and workflow automation.296
- Flicense-qualityBmaintenanceEnables AI assistants to interact with locally running TradingView Desktop for chart analysis, Pine Script development, and workflow automation via Chrome DevTools Protocol.296
- Flicense-qualityCmaintenanceConnects AI assistants to your local TradingView Desktop app via Chrome DevTools Protocol for chart analysis, Pine Script development, and workflow automation.296
Related MCP Connectors
AI-powered browser automation β navigate, click, fill forms, and extract data from any website.
Renders interactive Chart.js charts and dashboards inline in AI conversations.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/firyomaefx/tradingview-chrome-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server