Skip to main content
Glama
yth20667-boop

TradingView MCP Bridge

TradingView MCP 桥接

MCP Toplist

面向 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 工具同时也是 tv CLI 命令,支持 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 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 进行管道处理。

# 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 会使用...

"我的图表上有什么?"

chart_get_state → data_get_study_values → quote_get

"有哪些水平位?"

data_get_pine_lines → data_get_pine_labels

"读取会话统计表"

data_get_pine_tables(配合 study_filter)

"给我一份完整分析"

quote_get → data_get_study_values → data_get_pine_lines → data_get_pine_labels → data_get_pine_tables → data_get_ohlcv(摘要)→ capture_screenshot

"切换到 AAPL 日线"

chart_set_symbol → chart_set_timeframe

"写一个 Pine Script 实现..."

pine_set_source → pine_smart_compile → pine_get_errors

"从 3 月 1 日开始回放"

replay_start → replay_step → replay_trade

"设置 4 图表网格"

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、布林带、EMA 数值

~500B

quote_get

获取最新价格、OHLC、成交量

~200B

data_get_ohlcv

获取价格 K 线。使用 summary: true 获取紧凑统计

500B(摘要)/ 8KB(100 根 K 线)

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

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

工具

使用时机

输出大小

data_get_pine_lines

读取水平价格位(支撑/阻力、会话水平)

~1-3KB

data_get_pine_labels

读取文本标注 + 价格("PDH 24550"、"偏多")

~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、折线图、面积图、Renko)

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

更改网格布局:s、2h、2v、2x2、4、6、8

pane_focus

按索引聚焦指定窗格

pane_set_symbol

在任何窗格上设置代码

标签管理

工具

功能说明

tab_list

列出已打开的图表标签

tab_new / tab_close

打开/关闭标签

tab_switch

按索引切换标签

Pine Script 开发

工具

步骤

pine_set_source

1. 将代码注入编辑器

pine_smart_compile

2. 使用自动检测+错误检查进行编译

pine_get_errors

3. 读取编译错误(如有)

pine_get_console

4. 读取 log.info() 输出

pine_save

5. 保存到 TradingView 云端

pine_get_source

读取当前脚本(警告:复杂脚本可能超过 200KB)

pine_new

创建空白指标/策略/库

pine_open / pine_list_scripts

打开或列出已保存脚本

pine_analyze

离线静态分析(无需图表)

pine_check

服务器端编译检查(无需图表)

回放模式

工具

步骤

replay_start

在指定日期进入回放

replay_step

前进一根K线

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

截图(区域:全图、图表、策略测试器)

batch_run

在多个代码/时间周期上执行操作

watchlist_get / watchlist_add

读取/修改自选列表

layout_list / layout_switch

管理已保存的布局

ui_open_panel / ui_click / ui_evaluate

UI 自动化

tv_launch / tv_health_check / tv_discover

连接管理

上下文管理

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

特性

如何节省上下文

Pine 线

仅返回去重后的价格水平,不返回每个线对象

Pine 标签

每个研究上限 50 个,仅文本+价格

Pine 表格

预格式化的行字符串,无单元格元数据

Pine 盒子

仅返回去重后的 {最高, 最低} 区域

OHLCV 摘要模式

统计信息+最后 5 根K线,而非所有K线

指标输入

加密/编码的数据块自动过滤

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

测试

# Requires TradingView running with --remote-debugging-port=9222
npm test

29个测试,涵盖: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)显式启用。

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

  1. 您全权负责确保您使用本工具符合 TradingView 的使用条款 以及所有适用法律。

  2. TradingView 的使用条款限制对其平台和数据进行自动数据收集、抓取和非展示用途。本工具使用 Chrome DevTools Protocol 以编程方式与 TradingView 桌面版交互,这可能与这些条款冲突。

  3. 您自行承担使用本工具的所有风险。作者不对因使用本工具而导致的任何账户封禁、暂停、法律诉讼或其他后果负责。

  4. 本工具不得用于,包括但不限于:

    • 重新分发、转售或商业利用 TradingView 的市场数据

    • 绕过 TradingView 的访问控制或订阅限制

    • 使用提取的数据进行自动化交易或算法决策

    • 侵犯 Pine Script 指标作者的知识产权

    • 连接到 TradingView 的服务器或基础设施(所有访问均通过本地运行的桌面应用进行)

  5. 流式传输功能仅监控您本地运行的 TradingView 桌面实例。它不连接到 TradingView 的服务器,也不从 TradingView 的基础设施中提取数据。

  6. 通过此工具访问的市场数据仍受交易所和数据提供商许可条款的约束。请勿重新分发、存储或商业利用通过此工具获得的任何数据。

  7. 此工具访问的是 TradingView 内部、未记录的应用程序接口,这些接口可能随时更改或失效,恕不另行通知。

使用风险自负。 如果您不确定您的预期用途是否符合 TradingView 的条款,请不要使用此工具。

许可证

MIT — 详见 LICENSE。

MIT 许可证仅适用于本项目的源代码。它不授予对 TradingView 的软件、数据、商标或知识产权的任何权利。

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with locally running TradingView Desktop for chart analysis, Pine Script development, and workflow automation via Chrome DevTools Protocol.
    72 npm
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to interact with locally running TradingView Desktop for chart analysis, Pine Script development, and automation via Chrome DevTools Protocol.
    72 npm
    -