tradesdontlie/tradingview-mcp

GitHub Trending (daily) 工具

摘要

一种通过Chrome DevTools协议将Claude Code连接到TradingView桌面的工具,实现AI辅助图表分析、Pine Script开发和工作流程自动化。所有数据处理均在本地进行,需要有效的TradingView订阅。

AI辅助的TradingView图表分析——将Claude Code连接到您的TradingView桌面,实现个人工作流程自动化
查看原文
查看缓存全文

缓存时间: 2026/07/21 12:36

tradesdontlie/tradingview-mcp

来源:https://github.com/tradesdontlie/tradingview-mcp

TradingView MCP 桥接器

您的 TradingView 桌面图表的个人 AI 助手。通过 Chrome DevTools 协议将 Claude Code 连接到本地运行的 TradingView 应用,实现 AI 辅助图表分析、Pine Script 开发和工作流程自动化。

[!警告]
**本工具与 TradingView Inc. 无任何关联、认可或从属关系。**它通过 Chrome DevTools 协议与您本地运行的 TradingView 桌面应用交互。使用前请阅读免责声明

[!重要]
**需要有效的 TradingView 订阅。**本工具不会绕过或规避任何 TradingView 付费墙或访问控制。它仅读取和控制已安装在您机器上的 TradingView 桌面应用。

[!注意]
**所有数据处理均在您的本地机器上进行。**本工具不会将任何 TradingView 数据传输、存储或重新分发到外部。

[!谨慎]
本工具通过 Electron 调试接口访问 TradingView 未公开的内部 API。这些接口可能在任何 TradingView 更新中发生变化或失效,恕不另行通知。如果您需要稳定性,请固定您的 TradingView 桌面版本。

工作原理(以及为何运行它是安全的)

本工具不连接 TradingView 的服务器,不修改任何 TradingView 文件,也不拦截任何网络流量。它仅通过 Chrome DevTools 协议(CDP)与本地运行的 TradingView 桌面实例通信——这是 Google 内置于所有 Chromium/Electron 应用(包括 VS Code、Slack 和 Discord)中的标准调试接口。

调试端口默认处于禁用状态,必须由您使用标准的 Chromium 标志(--remote-debugging-port=9222)显式启用。没有这一步,什么都不会发生。

本工具不会做什么

  • 连接 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 开发——在 AI 辅助下编写、注入、编译、调试和迭代脚本
  • 图表导航——更改品种、时间周期、缩放到特定日期、添加/移除指标
  • 可视化分析——读取图表上的指标值、价格水平和注释
  • 在图表上绘图——趋势线、水平线、矩形、文本注释
  • 管理警报——创建、列出和删除价格警报
  • 回放练习——逐步浏览历史柱线,练习入场/出场
  • 截图——捕获图表状态供 AI 视觉分析
  • 多窗格布局——设置 2x2、3x1 等网格,每个窗格可显示不同品种
  • 监控图表——从本地运行的图表流式传输 JSONL 数据,用于本地监控脚本
  • CLI 访问——每个 MCP 工具同时也是 tv CLI 命令,支持管道和 JSON 输出
  • 启动 TradingView——自动检测并以调试模式从任何平台启动

使用 Claude Code 安装

将以下内容粘贴到 Claude Code 中,它将处理其余步骤:

安装 TradingView MCP 服务器。克隆 https://github.com/tradesdontlie/tradingview-mcp.git,运行 npm install,将其添加到我的 MCP 配置文件 ~/.claude/.mcp.json 中,然后用调试端口启动 TradingView。最后使用 tv_health_check 验证连接。

或者按照下面的手动步骤操作。

快速开始

1. 安装

git clone https://github.com/tradesdontlie/tradingview-mcp.git  
cd tradingview-mcp  
npm install  

2. 使用 CDP 启动 TradingView

TradingView 桌面必须在端口 9222 上启用 Chrome DevTools 协议。

Mac:

./scripts/launch_tv_debug_mac.sh  

Windows:

scripts\launch_tv_debug.bat  

Linux:

./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 配合使用。

# 全局安装(可选)  
npm link  

# 或直接运行  
node src/cli/index.js  

快速示例

tv status           # 检查连接  
tv quote            # 当前价格  
tv symbol AAPL      # 更改品种  
tv ohlcv --summary  # 价格摘要  
tv screenshot -r chart  # 捕获图表截图  
tv pine compile     # 编译 Pine Script  
tv pane layout 2x2  # 四图表网格  
tv pane symbol 1 ES1!  # 设置窗格品种  
tv stream quote | jq '.close'  # 监控价格变化  

所有命令

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 桌面实例(在 localhost 上)。不连接 TradingView 的服务器。所有数据保留在您的机器上。

[!警告]
无论数据来源如何,以编程方式消耗 TradingView 数据可能与其使用条款冲突。您有责任确保您的使用符合规定。

tv stream quote     # 价格跳动监控  
tv stream bars      # 逐柱线更新  
tv stream values    # 指标值监控  
tv stream lines --filter "NY Levels"  # 价格水平监控  
tv stream tables --filter Profiler    # 表格数据监控  
tv stream all       # 同时监控所有窗格(多品种)  

Claude 如何知道使用哪个工具

当在此项目中工作时,Claude 会自动读取 CLAUDE.md。其中包含完整的决策树:

您说…Claude 使用…
“我的图表上有什么?”chart_get_statedata_get_study_valuesquote_get
“显示了哪些水平?”data_get_pine_linesdata_get_pine_labels
“读取会话表格”data_get_pine_tables 并指定 study_filter
“给我完整的分析”quote_getdata_get_study_valuesdata_get_pine_linesdata_get_pine_labelsdata_get_pine_tablesdata_get_ohlcv(摘要)→ capture_screenshot
“切换到 AAPL 日线”chart_set_symbolchart_set_timeframe
“编写一个 Pine Script 用于…”pine_set_sourcepine_smart_compilepine_get_errors
“从 3 月 1 日开始回放”replay_startreplay_stepreplay_trade
“设置一个四图表网格”pane_set_layout → 依次对每个窗格执行 pane_set_symbol
“在 24500 画一条水平线”draw_shape(horizontal_line)
“截个图”capture_screenshot

工具参考(78 个 MCP 工具)

图表读取

工具何时使用输出大小
chart_get_state首次调用——获取品种、时间周期、所有指标名称和 ID~500B
data_get_study_values读取所有指标的当前 RSI、MACD、BB、EMA 值~500B
quote_get获取最新价格、OHLC、成交量~200B
data_get_ohlcv获取价格柱线。使用 summary: true 获得紧凑统计信息500B(摘要)/ 8KB(100 根柱线)

自定义指标数据(Pine 绘图)

读取任何可见 Pine 指标输出的 line.new()label.new()table.new()box.new()

工具何时使用输出大小
data_get_pine_lines读取水平价格水平(支撑/阻力、会话水平)~1-3KB
data_get_pine_labels读取文本注释和价格(“PDH 24550”、“Bias Long”)~2-5KB
data_get_pine_tables读取数据表格(会话统计、分析仪表板)~1-4KB
data_get_pine_boxes读取价格区域/范围,返回 {high, low} 对~1-2KB

始终使用 study_filter 以定位特定指标:study_filter: "Profiler"

图表控制

工具功能
chart_set_symbol更改代码(BTCUSD、AAPL、ES1!、NYMEX:CL1!)
chart_set_timeframe更改分辨率(1、5、15、60、D、W、M)
chart_set_type更改样式(蜡烛图、HeikinAshi、折线图、面积图、砖形图)
chart_manage_indicator添加/移除指标。使用完整名称:“Relative Strength Index”而非“RSI”
chart_scroll_to_date跳转到某个日期(ISO 格式:“2025-01-15”)
chart_set_visible_range缩放到精确范围(Unix 时间戳)
symbol_info / symbol_search品种元数据和搜索
indicator_set_inputs / indicator_toggle_visibility更改指标设置,显示/隐藏

多窗格布局

工具功能
pane_list列出所有窗格及其品种和活动状态
pane_set_layout更改网格:s2h2v2x2468
pane_focus聚焦指定索引的窗格
pane_set_symbol设置任意窗格的品种

标签页管理

工具功能
tab_list列出打开的图表标签页
tab_new / tab_close打开/关闭标签页
tab_switch按索引切换到标签页

Pine Script 开发

工具步骤
pine_set_source1. 将代码注入编辑器
pine_smart_compile2. 编译(自动检测 + 错误检查)
pine_get_errors3. 读取编译错误(如果有)
pine_get_console4. 读取 log.info() 输出
pine_save5. 保存到 TradingView 云端
pine_get_source读取当前脚本(警告:复杂脚本可能超过 200KB
pine_new创建空白指标/策略/库
pine_open / pine_list_scripts打开或列出已保存的脚本
pine_analyze离线静态分析(无需图表)
pine_check服务端编译检查(无需图表)

回放模式

工具步骤
replay_start进入回放模式并指定日期
replay_step前进一根柱线
replay_autoplay自动前进(设置速度,单位为毫秒)
replay_trade买入/卖出/平仓
replay_status检查持仓、盈亏、日期
replay_stop返回实时模式

绘图、警报、UI 自动化

工具功能
draw_shape绘制水平线、趋势线、矩形、文本
draw_list / draw_remove_one / draw_clear管理图形
alert_create / alert_list / alert_delete管理价格警报
capture_screenshot截图(区域:full、chart、strategy_tester)
batch_run跨多个品种/时间周期运行操作
watchlist_get / watchlist_add读取/修改关注列表
layout_list / layout_switch管理已保存的布局
ui_open_panel / ui_click / ui_evaluateUI 自动化
tv_launch / tv_health_check / tv_discover连接管理

上下文管理

工具默认返回紧凑输出,以最小化上下文使用。对于典型的“分析我的图表”工作流,总上下文约为 5-10KB,而不是约 80KB。

特性如何节省上下文
Pine 线条仅返回去重后的价格水平,而非每个线条对象
Pine 标签每个研究最多 50 个,仅文本和价格
Pine 表格预格式化的行字符串,无单元格元数据
Pine 矩形区域仅返回去重后的 {high, low} 区域
OHLCV 摘要模式统计信息 + 最后 5 根柱线,而非所有柱线
指标输入自动过滤加密/编码的 blob
verbose: true在任何 Pine 工具上传递此参数以获取原始数据(含 ID 和颜色)
study_filter定位一个指标,而非扫描所有

在您的系统上找到 TradingView

启动脚本和 tv_launch 会自动检测 TradingView。如果自动检测失败:

平台常见位置
Mac/Applications/TradingView.app/Contents/MacOS/TradingView
Windows%LOCALAPPDATA%\TradingView\TradingView.exe%PROGRAMFILES%\WindowsApps\TradingView*\TradingView.exe
Linux/opt/TradingView/tradingview~/.local/share/TradingView/TradingView/snap/tradingview/current/tradingview

关键标志:--remote-debugging-port=9222

测试

# 需要 TradingView 以 --remote-debugging-port=9222 模式运行  
npm test  

包含 29 个测试,覆盖:Pine Script 静态分析、服务端编译和 CLI 路由。

架构

Claude Code ←→ MCP 服务器(stdio) ←→ CDP(端口 9222) ←→ TradingView 桌面(Electron)  
  • 传输:MCP over stdio(78 个工具)+ CLI(tv 命令,30 个命令包含 66 个子命令)
  • 连接:Chrome DevTools 协议,localhost:9222
  • 流式传输:轮询-比较-去重循环,JSONL 输出到 stdout
  • 无其他依赖,仅需 @modelcontextprotocol/sdkchrome-remote-interface

归属

本项目与以下公司无任何关联、认可或从属关系:

  • TradingView Inc.——TradingView 是 TradingView Inc. 的商标。
  • Anthropic——Claude 和 Claude Code 是 Anthropic, PBC 的商标。本工具是一个独立的 MCP 服务器,通过标准 MCP 协议连接到 Claude Code。它不包含或修改任何 Anthropic 软件。

免责声明

本项目仅供个人、教育和研究用途

**本工具的工作原理:**本工具使用 Chrome DevTools 协议(CDP),这是基于 Chromium 的应用中内置的标准调试接口。它不会逆向工程任何专有的 TradingView 协议,不会连接 TradingView 的服务器,也不会绕过任何访问控制。调试端口必须由用户通过标准的 Chromium 命令行标志(--remote-debugging-port=9222)显式启用。

使用本软件即表示您确认并同意:

  1. 您全权负责确保您对本工具的使用符合 TradingView 的使用条款(https://www.tradingview.com/policies/)以及所有适用法律。
  2. TradingView 的使用条款**限制自动化

相似文章

@Saccc_c: Claude Code + TradingView = 最牛逼的交易看盘组合 TradingView 是美股、crypto 投资者最常用的看盘工具,而现在它可以通过MCP方式完全接入 Claude Code 不到5min配置完毕,你就可以…

X AI KOLs Following

本文介绍了一个名为TradingView MCP Bridge的开源工具,它通过MCP协议将Claude Code与本地运行的TradingView Desktop连接,使得AI能够实时读取图表、开发Pine Script策略、进行历史复盘等,形成一个强大的交易看盘组合。

ChromeDevTools/chrome-devtools-mcp

GitHub Trending (daily)

Chrome DevTools MCP 是一个开源的模型上下文协议服务器,允许 AI 编程助手(Gemini、Claude、Cursor、Copilot)控制并检查实时 Chrome 浏览器,用于自动化、调试和性能分析。它将 Chrome DevTools 与 Puppeteer 集成,为 AI 助手提供完整的浏览器检查和自动化能力。