TradingView MCP Bridge
Provides tools for Pine Script development, including writing, injecting, compiling, analyzing, and debugging scripts on TradingView charts.
Allows AI assistants to interact with TradingView Desktop charts for symbol/timeframe navigation, indicators, alerts, drawings, watchlist management, and chart monitoring.
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 MCP BridgeAdd a 200-day moving average to my current chart"
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 MCP Bridge
This repository is a downstream, Codex-focused adaptation oftradesdontlie/tradingview-mcp.
It incorporates updates from the upstream project while maintaining Codex-specific integration, documentation, and plugin resources. This repository is maintained independently and is not an official release of, or endorsed by, the upstream maintainers.
USERGUIDE-JP.md は日本語版ユーザーガイドです。
USERGUIDE-JP.md is the Japanese user guide.
アップストリーム (tradesdontlie/tradingview-mcp) との差分の概要については DIFFERENCES-FROM-UPSTREAM-JP.md を参照してください。
For an overview of the differences from the upstream repository (tradesdontlie/tradingview-mcp), please refer to DIFFERENCES-FROM-UPSTREAM-JP.md (Japanese Only).
Personal AI assistant for your TradingView Desktop charts. Connects Codex, Claude Code, or another MCP client to your locally running TradingView app via Chrome DevTools Protocol for AI-assisted chart analysis, Pine Script development, and workflow automation.
This tool is not affiliated with, endorsed by, or associated with TradingView Inc. It interacts with your locally running TradingView Desktop application via Chrome DevTools Protocol. Review the Disclaimer before use.
Requires a valid TradingView subscription. This tool does not bypass or circumvent any TradingView paywall or access control. It reads from and controls the TradingView Desktop app already running on your machine.
All data processing occurs locally on your machine. No TradingView data is transmitted, stored, or redistributed externally by this tool.
This tool accesses undocumented internal TradingView APIs via the Electron debug interface. These can change or break without notice in any TradingView update. Pin your TradingView Desktop version if stability matters to you.
How It Works (and why it's safe to run)
This tool does not connect to TradingView's servers, modify any TradingView files, or intercept any network traffic. It communicates exclusively with your locally running TradingView Desktop instance via Chrome DevTools Protocol (CDP) — a standard debugging interface built into all Chromium/Electron applications by Google, including VS Code, Slack, and Discord.
The debug port is disabled by default and must be explicitly enabled by you using a standard Chromium flag (--remote-debugging-port=9222). Nothing happens without that deliberate step.
Related MCP server: TradingView MCP Bridge
What This Tool Does Not Do
Connect to TradingView's servers or APIs
Store, transmit, or redistribute any market data
Work without a valid TradingView subscription and installed Desktop app
Bypass any TradingView paywall or access restriction
Execute real trades (chart interaction only)
Work if TradingView changes their internal Electron structure
Research Context
This project explores an open research question: how can LLM-based agents interact with professional trading interfaces to support human decision-making?
Specifically it investigates:
How structured tool APIs (MCP) can bridge LLMs and stateful desktop financial applications
What latency, context, and reliability constraints emerge when an agent operates on live chart data
How agents handle ambiguous financial UI state (e.g. interpreting Pine Script output, reading indicator tables)
Whether natural language is an effective interface for chart navigation and Pine Script development
The failure modes of LLM agents operating in real-time data environments
This is not a trading bot. It is an interface layer that makes a trading application legible to an LLM agent, allowing researchers and developers to study human-AI collaboration in financial workflows.
See RESEARCH.md for open questions, findings, and related work.
Prerequisites
TradingView Desktop app (paid subscription required for real-time data)
Node.js 18+
Codex, Claude Code, or another MCP client (for MCP tools), or any terminal (for CLI)
macOS, Windows, or Linux
What It Does
Gives your AI assistant eyes and hands on your own chart:
Pine Script development — write, inject, compile, debug, and iterate on scripts with AI assistance
Chart navigation — change symbols, timeframes, zoom to dates, add/remove indicators
Indicator discovery — search built-in, Community, and personal scripts and add a selected result
Visual analysis — read your chart's indicator values, price levels, and annotations
Draw on charts — trend lines, horizontal lines, rectangles, text annotations
Manage alerts — create, list, and delete price alerts
Replay practice — step through historical bars, practice entries/exits
Screenshots — capture chart state for AI visual analysis
Multi-pane layouts — set up 2x2, 3x1, etc. grids with different symbols per pane
Watchlist maintenance — read, add, bulk-add, and remove symbols
Monitor your chart — stream JSONL from your locally running chart for local monitoring scripts
CLI access — every MCP tool is also a
tvCLI command, pipe-friendly with JSON outputLaunch TradingView — auto-detect and launch with debug mode from any platform
Install with Codex
The simplest Codex setup is a single command:
codex mcp add tradingview -- node /path/to/tradingview-mcp/src/server.jsThen launch TradingView with the debug port and restart Codex if it is already running.
This repository also now includes Codex plugin files:
.codex-plugin/plugin.json.mcp.json.agents/plugins/marketplace.json
That lets you install it through a local Codex marketplace if you prefer plugin-based setup.
Install with Claude Code
Paste this into Claude Code and it will handle the rest:
Install the TradingView MCP server. Clone https://github.com/tradesdontlie/tradingview-mcp.git, run npm install, add it to my MCP config at ~/.claude/.mcp.json, and launch TradingView with the debug port. Then verify the connection with tv_health_check.
Or follow the manual steps below.
Quick Start
1. Install
git clone https://github.com/tradesdontlie/tradingview-mcp.git
cd tradingview-mcp
npm install2. Launch TradingView with CDP
TradingView Desktop must be running with Chrome DevTools Protocol enabled on port 9222.
Mac:
./scripts/launch_tv_debug_mac.shWindows:
scripts\launch_tv_debug.batLinux:
./scripts/launch_tv_debug_linux.shOr launch manually on any platform:
/path/to/TradingView --remote-debugging-port=9222Or use the MCP tool (auto-detects your install):
"Use tv_launch to start TradingView in debug mode"
3. Add to Codex
The direct Codex route is:
codex mcp add tradingview -- node /path/to/tradingview-mcp/src/server.jsReplace /path/to/tradingview-mcp with your actual path.
If you prefer Codex plugins instead of a direct MCP entry, this repo now ships with a local marketplace definition at .agents/plugins/marketplace.json that points at the repo root plugin bundle.
4. Add to Claude Code
Add to your Claude Code MCP config (~/.claude/.mcp.json or project .mcp.json):
{
"mcpServers": {
"tradingview": {
"command": "node",
"args": ["/path/to/tradingview-mcp/src/server.js"]
}
}
}Replace /path/to/tradingview-mcp with your actual path.
5. Verify
Ask Codex or Claude: "Use tv_health_check to verify TradingView is connected"
CLI
Every MCP tool is also accessible as a tv CLI command. All output is JSON for piping with jq.
# Install globally (optional)
npm link
# Or run directly
node src/cli/index.js <command>Quick Examples
tv status # check connection
tv quote # current price
tv symbol AAPL # change symbol
tv ohlcv --summary # price summary
tv screenshot -r chart # capture chart
tv pine compile # compile Pine Script
tv pane layout 2x2 # 4-chart grid
tv pane symbol 1 ES1! # set pane symbol
tv stream quote | jq '.close' # monitor price changesAll Commands
tv status / launch / state / symbol / timeframe / type / info / search
tv quote / ohlcv / values
tv data lines/labels/tables/boxes/strategy/trades/equity/depth/indicator
tv pine get/set/compile/analyze/check/save/new/open/list/errors/console
tv draw shape/list/get/remove/clear
tv alert list/create/delete
tv watchlist get/add
tv indicator add/remove/toggle/set/get
tv layout list/switch
tv pane list/layout/focus/symbol
tv tab list/new/close/switch
tv replay start/step/stop/status/autoplay/trade
tv stream quote/bars/values/lines/labels/tables/all
tv ui click/keyboard/hover/scroll/find/eval/type/panel/fullscreen/mouse
tv screenshot / discover / ui-state / range / scrollStreaming
The tv stream commands poll your locally running TradingView Desktop instance at regular intervals via Chrome DevTools Protocol on localhost.
No connection is made to TradingView's servers. All data stays on your machine.
Programmatic consumption of TradingView data may conflict with their Terms of Use regardless of the data source. You are solely responsible for ensuring your usage complies.
tv stream quote # price tick monitoring
tv stream bars # bar-by-bar updates
tv stream values # indicator value monitoring
tv stream lines --filter "NY Levels" # price level monitoring
tv stream tables --filter Profiler # table data monitoring
tv stream all # all panes at once (multi-symbol)How the Agent Knows Which Tool to Use
Codex reads AGENTS.md automatically when working in this project, and Claude Code reads CLAUDE.md. They contain the same decision tree:
You say... | The agent uses... |
"What's on my chart?" |
|
"What levels are showing?" |
|
"Read the session table" |
|
"Give me a full analysis" |
|
"Switch to AAPL daily" |
|
"Write a Pine Script for..." |
|
"Start replay at March 1st" |
|
"Set up a 4-chart grid" |
|
"Draw a level at 24500" |
|
"Take a screenshot" |
|
Tool Reference (84 MCP tools)
Chart Reading
Tool | When to use | Output size |
| First call — get symbol, timeframe, all indicator names + IDs | ~500B |
| Read current RSI, MACD, BB, EMA values from all indicators | ~500B |
| Get latest price, OHLC, volume | ~200B |
| Get price bars. Use | 500B (summary) / 8KB (100 bars) |
Custom Indicator Data (Pine Drawings)
Read line.new(), label.new(), table.new(), box.new() output from any visible Pine indicator.
Tool | When to use | Output size |
| Read horizontal price levels (support/resistance, session levels) | ~1-3KB |
| Read text annotations + prices ("PDH 24550", "Bias Long") | ~2-5KB |
| Read data tables (session stats, analytics dashboards) | ~1-4KB |
| Read price zones / ranges as {high, low} pairs | ~1-2KB |
Always use study_filter to target a specific indicator: study_filter: "Profiler".
Chart Control
Tool | What it does |
| Change ticker (BTCUSD, AAPL, ES1!, NYMEX:CL1!) |
| Change resolution (1, 5, 15, 60, D, W, M) |
| Change style (Candles, HeikinAshi, Line, Area, Renko) |
| Add/remove indicators. Use full names: "Relative Strength Index" not "RSI" |
| Search built-in, Community, or personal scripts and add a matching result |
| Jump to a date (ISO: "2025-01-15") |
| Zoom to exact range (unix timestamps) |
| Symbol metadata and search |
| Change indicator settings, show/hide |
Multi-Pane Layouts
Tool | What it does |
| List all panes with symbols and active state |
| Change grid: |
| Focus a specific pane by index |
| Set symbol on any pane |
Tab Management
Tool | What it does |
| List open chart tabs |
| Open/close tabs; |
| Switch to a tab by index |
| Create a named blank layout in a new tab |
Pine Script Development
Tool | Step |
| 1. Inject code into editor |
| 2. Compile with auto-detection + error check |
| 3. Read compilation errors if any |
| 4. Read log.info() output |
| 5. Save to TradingView cloud |
| Read current script (warning: can be 200KB+ for complex scripts) |
| Create blank indicator/strategy/library |
| Open or list saved scripts |
| Offline static analysis (no chart needed) |
| Server-side compile check (no chart needed) |
Replay Mode
Tool | Step |
| Enter replay at a date |
| Advance one bar |
| Auto-advance (set speed in ms) |
| Buy/sell/close positions |
| Check position, P&L, date |
| Return to realtime |
Drawing, Alerts, UI Automation
Tool | What it does |
| Draw horizontal_line, trend_line, rectangle, text |
| Manage drawings |
| Manage price alerts |
| Screenshot; use |
| Run action across multiple symbols/timeframes |
| Read/add watchlist symbols |
| Bulk-add or remove watchlist symbols |
| Manage saved layouts |
| UI automation |
| Connection management |
| Safely fast-forward this Codex edition from |
Context Management
Tools return compact output by default to minimize context usage. For a typical "analyze my chart" workflow, total context is ~5-10KB instead of ~80KB.
Feature | How it saves context |
Pine lines | Returns deduplicated price levels only, not every line object |
Pine labels | Capped at 50 per study, text+price only |
Pine tables | Pre-formatted row strings, no cell metadata |
Pine boxes | Deduplicated {high, low} zones only |
OHLCV summary mode | Stats + last 5 bars instead of all bars |
Indicator inputs | Encrypted/encoded blobs auto-filtered |
| Pass on any pine tool to get raw data with IDs/colors when needed |
| Target one indicator instead of scanning all |
Finding TradingView on Your System
Launch scripts and tv_launch auto-detect TradingView. If auto-detection fails:
Platform | Common Locations |
Mac |
|
Windows |
|
Linux |
|
The key flag: --remote-debugging-port=9222
Testing
# Requires TradingView running with --remote-debugging-port=9222
npm testThe unit suite covers Pine Script analysis, CLI routing, CDP input sanitization, replay state, chart history loading, indicator inputs, and platform launch behavior. Live E2E tests require TradingView Desktop with CDP enabled.
Architecture
Codex / Claude Code ←→ MCP Server (stdio) ←→ CDP (port 9222) ←→ TradingView Desktop (Electron)Transport: MCP over stdio (84 tools) + CLI (
tvcommand)Connection: Chrome DevTools Protocol on localhost:9222
Streaming: Poll-and-diff loop with deduplication, JSONL output to stdout
Runtime dependencies are limited to
@modelcontextprotocol/sdkandchrome-remote-interface; ESLint is used for development checks
Attributions
This project is not affiliated with, endorsed by, or associated with:
TradingView Inc. — TradingView is a trademark of TradingView Inc.
Anthropic — Claude and Claude Code are trademarks of Anthropic, PBC.
OpenAI — Codex is a trademark of OpenAI.
This tool is an independent MCP server that connects to MCP-compatible clients via the standard MCP protocol. It does not contain or modify any OpenAI or Anthropic software.
Disclaimer
This project is provided for personal, educational, and research purposes only.
How this tool works: This tool uses Chrome DevTools Protocol (CDP), the standard debugging interface built into Chromium-based applications. It does not reverse engineer any proprietary TradingView protocol, connect to TradingView's servers, or bypass any access controls. The debug port must be explicitly enabled by the user via a standard Chromium command-line flag (--remote-debugging-port=9222).
By using this software, you acknowledge and agree that:
You are solely responsible for ensuring your use of this tool complies with TradingView's Terms of Use and all applicable laws.
TradingView's Terms of Use restrict automated data collection, scraping, and non-display usage of their platform and data. This tool uses Chrome DevTools Protocol to programmatically interact with the TradingView Desktop app, which may conflict with those terms.
You assume all risk associated with using this tool. The authors are not responsible for any account bans, suspensions, legal actions, or other consequences resulting from its use.
This tool must not be used for, including but not limited to:
Redistributing, reselling, or commercially exploiting TradingView's market data
Circumventing TradingView's access controls or subscription restrictions
Performing automated trading or algorithmic decision-making using extracted data
Violating the intellectual property rights of Pine Script indicator authors
Connecting to TradingView's servers or infrastructure (all access is via the locally running Desktop app)
The streaming functionality monitors your locally running TradingView Desktop instance only. It does not connect to TradingView's servers or extract data from TradingView's infrastructure.
Market data accessed through this tool remains subject to exchange and data provider licensing terms. Do not redistribute, store, or commercially exploit any data obtained through this tool.
This tool accesses internal, undocumented TradingView application interfaces that may change or break at any time without notice.
Use at your own risk. If you are unsure whether your intended use complies with TradingView's terms, do not use this tool.
License
MIT — see LICENSE for details.
The MIT license applies to the source code of this project only. It does not grant any rights to TradingView's software, data, trademarks, or intellectual property.
This server cannot be installed
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-qualityBmaintenanceEnables AI assistants to interact with TradingView Desktop charts for analysis, Pine Script development, and workflow automation via Chrome DevTools Protocol.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.2965,469
- 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-qualityCmaintenanceEnables AI assistants to interact with locally running TradingView Desktop for chart analysis, Pine Script development, and automation via Chrome DevTools Protocol.296
Related MCP Connectors
Real-time market data, screeners, technical analysis & backtesting for stocks, crypto and forex.
Live browser debugging for AI assistants — DOM, console, network via MCP.
A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,
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/hirotgr/tradingview-mcp-codex'
If you have feedback or need assistance with the MCP directory API, please join our Discord server