TradingView MCP Bridge
TradingView MCP 桥接
面向 TradingView 桌面图表的个人 AI 助手。通过 Chrome DevTools 协议将 Claude Code 连接到本地运行的 TradingView 应用,实现 AI 辅助图表分析、Pine Script 开发和流程自动化。
[!WARNING] 本工具与 TradingView Inc. 无任何关联、未获其认可,也不属于其产品。 它通过 Chrome DevTools 协议与您本地运行的 TradingView 桌面应用交互。使用前请阅读免责声明。
[!IMPORTANT] 需要有效的 TradingView 订阅。 本工具不会绕过或规避 TradingView 的任何付费墙或访问控制。它仅读取和控制您机器上已运行的 TradingView 桌面应用。
[!NOTE] 所有数据处理均在您本地机器上完成。 本工具不会在外部传输、存储或重新分发任何 TradingView 数据。
[!CAUTION] 本工具通过 Electron 调试接口访问 TradingView 未公开的内部 API。这些接口可能在 TradingView 的任何更新中发生变化或失效。如果您对稳定性有要求,请锁定 TradingView 桌面版版本。
工作原理(以及为什么它是安全的)
本工具不会连接 TradingView 的服务器、修改任何 TradingView 文件,也不会拦截任何网络流量。它仅通过 Chrome DevTools 协议(CDP)与您本地运行的 TradingView 桌面实例通信——这是所有 Chromium/Electron 应用(包括 VS Code、Slack 和 Discord)内置的标准调试接口。
调试端口默认是关闭的,必须由您使用标准的 Chromium 启动参数(--remote-debugging-port=9222)显式启用。没有您的主动操作,一切都不会发生。
Related MCP server: TradingView MCP Bridge
本工具不会做什么
连接 TradingView 的服务器或 API
存储、传输或重新分发任何市场数据
在没有有效 TradingView 订阅和已安装桌面应用的情况下工作
绕过或规避 TradingView 的任何付费墙或访问控制
执行真实交易(仅限图表交互)
在 TradingView 改变其内部 Electron 结构后仍然有效
研究背景
本项目探索一个开放的研究问题:基于 LLM 的智能体如何与专业交易界面交互,以辅助人类决策?
具体研究内容包括:
结构化工具 API(MCP)如何桥接 LLM 与有状态的桌面金融应用
智能体在实时图表数据上运行时,会面临哪些延迟、上下文和可靠性约束
智能体如何处理模糊的金融 UI 状态(例如解读 Pine Script 输出、读取指标表格)
自然语言是否是图表导航和 Pine Script 开发的有效交互界面
LLM 智能体在实时数据环境中运行时的失败模式
这不是一个交易机器人。它是一个让交易应用对 LLM 智能体可读的接口层,使研究人员和开发者能够研究人机协作中的金融工作流。
详见 RESEARCH.md 中的开放问题、研究发现和相关工作。
前置条件
TradingView 桌面应用(实时数据需要付费订阅)
Node.js 18+
支持 MCP 的 Claude Code(用于 MCP 工具)或任意终端(用于 CLI)
macOS、Windows 或 Linux
功能
为您的 AI 助手提供操作您自己图表的"眼睛"和"手":
Pine Script 开发 — 编写、注入、编译、调试和迭代脚本
图表导航 — 切换交易品种、时间周期、跳转到指定日期、添加/删除指标
可视化分析 — 读取图表的指标值、价格水平和标注
图表绘制 — 趋势线、水平线、矩形、文本标注
警报管理 — 创建、列出和删除价格警报
回放练习 — 逐步浏览历史 K 线,练习进出场
截图 — 捕获图表状态供 AI 视觉分析
多窗格布局 — 设置 2x2、3x1 等网格,在不同窗格中显示不同交易品种
图表监控 — 从本地运行的图表流式输出 JSONL,供本地监控脚本使用
CLI 访问 — 每个 MCP 工具同时也是
tvCLI 命令,支持 JSON 输出,便于管道处理启动 TradingView — 从任意平台自动检测并以调试模式启动
使用 Claude Code 安装
将以下内容粘贴到 Claude Code 中,它会自动处理其余步骤:
安装 TradingView MCP 服务器。克隆 https://github.com/tradesdontlie/tradingview-mcp.git,运行 npm install,将其添加到 ~/.claude/.mcp.json 的 MCP 配置中,然后以调试模式启动 TradingView。最后用 tv_health_check 验证连接。
或者按照下面的手动步骤操作。
快速开始
1. 安装
git clone https://github.com/tradesdontlie/tradingview-mcp.git
cd tradingview-mcp
npm install2. 以 CDP 模式启动 TradingView
TradingView 桌面版必须在 9222 端口启用 Chrome DevTools 协议。
Mac:
./scripts/launch_tv_debug_mac.shWindows:
scripts\launch_tv_debug.batLinux:
./scripts/launch_tv_debug_linux.sh或在任意平台手动启动:
/path/to/TradingView --remote-debugging-port=9222或使用 MCP 工具(自动检测安装位置):
"使用 tv_launch 以调试模式启动 TradingView"
3. 添加到 Claude Code
在 Claude Code 的 MCP 配置(~/.claude/.mcp.json 或项目级 .mcp.json)中添加:
{
"mcpServers": {
"tradingview": {
"command": "node",
"args": ["/path/to/tradingview-mcp/src/server.js"]
}
}
}将 /path/to/tradingview-mcp 替换为您的实际路径。
4. 验证
询问 Claude:"使用 tv_health_check 验证 TradingView 是否已连接"
CLI
每个 MCP 工具同时也是 tv CLI 命令。所有输出均为 JSON 格式,便于使用 jq 进行管道处理。
# Install globally (optional)
npm link
# Or run directly
node src/cli/index.js <command>快速示例
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 changes全部命令
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 / scroll流式输出
tv stream 命令通过 Chrome DevTools 协议按固定间隔轮询您本地运行的 TradingView 桌面实例。
不会连接 TradingView 的服务器。所有数据都保留在您的机器上。
[!WARNING] 无论数据来源如何,以编程方式消费 TradingView 数据都可能与其使用条款冲突。您需自行确保使用方式合规。
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)Claude 如何选择工具
Claude 在本项目中工作时会自动读取 CLAUDE.md。其中包含完整的工具选择决策树:
您说... | Claude 会使用... |
"我的图表上有什么?" |
|
"有哪些水平位?" |
|
"读取会话统计表" |
|
"给我一份完整分析" |
|
"切换到 AAPL 日线" |
|
"写一个 Pine Script 实现..." |
|
"从 3 月 1 日开始回放" |
|
"设置 4 图表网格" |
|
"在 24500 画一条水平线" |
|
"截个图" |
|
工具参考(78 个 MCP 工具)
图表读取
工具 | 使用时机 | 输出大小 |
| 首次调用 — 获取交易品种、时间周期、所有指标名称 + ID | ~500B |
| 读取所有指标的当前 RSI、MACD、布林带、EMA 数值 | ~500B |
| 获取最新价格、OHLC、成交量 | ~200B |
| 获取价格 K 线。使用 | 500B(摘要)/ 8KB(100 根 K 线) |
自定义指标数据(Pine 绘图)
读取任何可见 Pine 指标输出的 line.new()、label.new()、table.new()、box.new() 数据。
工具 | 使用时机 | 输出大小 |
| 读取水平价格位(支撑/阻力、会话水平) | ~1-3KB |
| 读取文本标注 + 价格("PDH 24550"、"偏多") | ~2-5KB |
| 读取数据表格(会话统计、分析仪表盘) | ~1-4KB |
| 读取价格区间 / 范围,以 {high, low} 对表示 | ~1-2KB |
始终使用 study_filter 来定位特定指标:study_filter: "Profiler"。
图表控制
工具 | 功能 |
| 切换交易品种(BTCUSD、AAPL、ES1!、NYMEX:CL1!) |
| 切换时间周期(1、5、15、60、D、W、M) |
| 切换图表样式(蜡烛图、HeikinAshi、折线图、面积图、Renko) |
| 添加/删除指标。使用完整名称:"Relative Strength Index" 而非 "RSI" |
| 跳转到指定日期(ISO 格式:"2025-01-15") |
| 缩放到精确范围(Unix 时间戳) |
| 交易品种元数据和搜索 |
| 修改指标设置、显示/隐藏 |
多窗格布局
工具 | 功能说明 |
| 列出所有窗格及其代码与活动状态 |
| 更改网格布局: |
| 按索引聚焦指定窗格 |
| 在任何窗格上设置代码 |
标签管理
工具 | 功能说明 |
| 列出已打开的图表标签 |
| 打开/关闭标签 |
| 按索引切换标签 |
Pine Script 开发
工具 | 步骤 |
| 1. 将代码注入编辑器 |
| 2. 使用自动检测+错误检查进行编译 |
| 3. 读取编译错误(如有) |
| 4. 读取 log.info() 输出 |
| 5. 保存到 TradingView 云端 |
| 读取当前脚本(警告:复杂脚本可能超过 200KB) |
| 创建空白指标/策略/库 |
| 打开或列出已保存脚本 |
| 离线静态分析(无需图表) |
| 服务器端编译检查(无需图表) |
回放模式
工具 | 步骤 |
| 在指定日期进入回放 |
| 前进一根K线 |
| 自动前进(以毫秒设置速度) |
| 买入/卖出/平仓 |
| 查看持仓、盈亏、日期 |
| 返回实时模式 |
绘图、警报、UI 自动化
工具 | 功能说明 |
| 绘制水平线、趋势线、矩形、文本 |
| 管理绘图对象 |
| 管理价格警报 |
| 截图(区域:全图、图表、策略测试器) |
| 在多个代码/时间周期上执行操作 |
| 读取/修改自选列表 |
| 管理已保存的布局 |
| UI 自动化 |
| 连接管理 |
上下文管理
工具默认返回紧凑输出以减少上下文占用。对于典型的“分析我的图表”工作流,总上下文约为 5-10KB,而非约 80KB。
特性 | 如何节省上下文 |
Pine 线 | 仅返回去重后的价格水平,不返回每个线对象 |
Pine 标签 | 每个研究上限 50 个,仅文本+价格 |
Pine 表格 | 预格式化的行字符串,无单元格元数据 |
Pine 盒子 | 仅返回去重后的 {最高, 最低} 区域 |
OHLCV 摘要模式 | 统计信息+最后 5 根K线,而非所有K线 |
指标输入 | 加密/编码的数据块自动过滤 |
| 可传递给任何 pine 工具以获取带 ID/颜色的原始数据(如需要) |
| 仅针对单个指标,而非扫描所有指标 |
在您的系统上找到 TradingView
启动脚本和 tv_launch 会自动检测 TradingView。如果自动检测失败:
平台 | 常见位置 |
Mac |
|
Windows |
|
Linux |
|
关键标志:--remote-debugging-port=9222
测试
# Requires TradingView running with --remote-debugging-port=9222
npm test29个测试,涵盖:Pine Script 静态分析、服务器端编译以及 CLI 路由。
架构
Claude Code ←→ MCP Server (stdio) ←→ CDP (port 9222) ←→ TradingView Desktop (Electron)传输:基于 stdio 的 MCP(84个工具)+ CLI(
tv命令,30个命令,66个子命令)连接:通过 localhost:9222 上的 Chrome DevTools Protocol
流式传输:带去重的轮询差异循环,JSONL 输出到 stdout
无依赖,仅依赖
@modelcontextprotocol/sdk和chrome-remote-interface
归属
本项目与以下机构无关、未获其认可,也不存在任何关联:
TradingView Inc. — TradingView 是 TradingView Inc. 的商标。
Anthropic — Claude 和 Claude Code 是 Anthropic, PBC 的商标。
该工具是一个独立的 MCP 服务器,通过标准 MCP 协议连接到 Claude Code。它不包含或修改任何 Anthropic 软件。
免责声明
本项目仅供个人、教育和研究目的使用。
该工具的工作原理: 该工具使用 Chrome DevTools Protocol (CDP),这是基于 Chromium 的应用程序内置的标准调试接口。它不逆向工程任何专有的 TradingView 协议,不连接到 TradingView 的服务器,也不绕过任何访问控制。调试端口必须由用户通过标准 Chromium 命令行标志(--remote-debugging-port=9222)显式启用。
使用本软件即表示您承认并同意:
您全权负责确保您使用本工具符合 TradingView 的使用条款 以及所有适用法律。
TradingView 的使用条款限制对其平台和数据进行自动数据收集、抓取和非展示用途。本工具使用 Chrome DevTools Protocol 以编程方式与 TradingView 桌面版交互,这可能与这些条款冲突。
您自行承担使用本工具的所有风险。作者不对因使用本工具而导致的任何账户封禁、暂停、法律诉讼或其他后果负责。
本工具不得用于,包括但不限于:
重新分发、转售或商业利用 TradingView 的市场数据
绕过 TradingView 的访问控制或订阅限制
使用提取的数据进行自动化交易或算法决策
侵犯 Pine Script 指标作者的知识产权
连接到 TradingView 的服务器或基础设施(所有访问均通过本地运行的桌面应用进行)
流式传输功能仅监控您本地运行的 TradingView 桌面实例。它不连接到 TradingView 的服务器,也不从 TradingView 的基础设施中提取数据。
通过此工具访问的市场数据仍受交易所和数据提供商许可条款的约束。请勿重新分发、存储或商业利用通过此工具获得的任何数据。
此工具访问的是 TradingView 内部、未记录的应用程序接口,这些接口可能随时更改或失效,恕不另行通知。
使用风险自负。 如果您不确定您的预期用途是否符合 TradingView 的条款,请不要使用此工具。
许可证
MIT — 详见 LICENSE。
MIT 许可证仅适用于本项目的源代码。它不授予对 TradingView 的软件、数据、商标或知识产权的任何权利。
This server cannot be deployed
Maintenance
Related MCP Connectors
Evidence-gated quant research for TradingView Pine Script strategies, run from your AI client.
AI-powered Pine Script v6 strategy generator built for prop-firm futures traders.
LuxAlgo for AI agents: the Library, prop firms, Market Trackers, Edge Stats, and your Trade Journal
AI-powered charts with indicators and trade execution for forex, gold, indices & crypto.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with locally running TradingView Desktop for chart analysis, Pine Script development, and workflow automation via Chrome DevTools Protocol.72 npm6,717-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with locally running TradingView Desktop for chart analysis, Pine Script development, and workflow automation via Chrome DevTools Protocol.72 npm-
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with locally running TradingView Desktop for chart analysis, Pine Script development, and automation via Chrome DevTools Protocol.72 npm-
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with TradingView Desktop charts via Chrome DevTools Protocol for chart analysis, Pine Script development, and workflow automation.72 npm-