Skip to main content
Glama
harshil1502

tradingview-mcp

by harshil1502

tradingview-mcp

tradingview-mcp/  v0.1   ──────────────────────────────────────────────────

一个专注且类型安全的 MCP 服务器,让 Claude Code(或任何兼容 MCP 的客户端)能够驱动本地运行的 TradingView 桌面版应用程序 —— 读取图表状态、更改交易品种和时间周期、获取 OHLCV 数据、截取屏幕截图。

IMPORTANT

本项目与 TradingView Inc. 无关,未得到其认可或关联。 这是一个个人使用的桥接工具,通过 Chrome DevTools 协议与您本地运行的 TradingView 桌面版应用程序进行交互 —— 这与 Slack、VS Code、Discord 以及其他所有 Electron 应用内置的调试接口标准相同。

IMPORTANT

需要有效的 TradingView 订阅。 本工具不会绕过、抓取或规避任何 TradingView 的付费墙或访问控制。所有操作均在您的机器上进行,针对的是您已经登录并付费的 TradingView 桌面版实例。

NOTE

所有处理均在本地进行。 本工具不会传输、存储或重新分发任何 TradingView 数据。您的图表、您的数据、您的机器。

CAUTION

TradingView 的内部页面 API 未经文档记录。它可能会在桌面版发布版本之间发生变化。如果您需要稳定性,请锁定一个可用的 TradingView 桌面版版本,并在升级前查看版本兼容性 说明。


功能概述

将 TradingView 桌面版图表封装在一组定义明确的 MCP 工具中。工具通过 Zod 模式进行端到端类型定义,在边界处进行验证,并在出错时提供有用的错误信息。

                  ┌───────────────┐
                  │ Claude Code   │
                  │ (or any MCP   │
                  │  client)      │
                  └───────┬───────┘
                          │ stdio (MCP)
                          ▼
                  ┌───────────────┐
                  │tradingview-mcp│
                  └───────┬───────┘
                          │ Chrome DevTools Protocol
                          ▼
                  ┌───────────────┐
                  │ TradingView   │
                  │ Desktop       │
                  │ (--remote-    │
                  │  debugging-   │
                  │  port=9222)   │
                  └───────────────┘

为什么需要另一个 TradingView 集成?

现有的 TradingView 自动化项目已经存在。本项目特意缩小了范围:

  • 12 个工具,而不是 78 个。 每个工具都经过文档记录、类型定义和测试。

  • 严格的 TypeScript。 没有 any,没有隐式返回,开启了 noUncheckedIndexedAccess

  • 每个文件单一职责。 连接、页面、工具和服务器是独立的层级 —— 版本漂移只需修复一个地方。

  • 类型化错误。 ConnectionErrorToolExecutionErrorChartStateError 等,并带有可操作的消息。

  • tradingview-mcp doctor 一个诊断命令,可以准确告诉您设置中存在的问题。

如果您想要一个可以在一下午读完的小型、可预测的接口,请使用此工具。如果您想要封装所有 TradingView 功能的“大而全”替代方案,请使用其他工具。


安装

需要 Node.js 20+。

npm install -g tradingview-mcp
# or, in a project:
npm install tradingview-mcp

用于开发:

git clone https://github.com/harshil1502/tradingview-mcp.git
cd tradingview-mcp
npm install
npm run build

设置 —— 三个步骤

1. 退出所有正在运行的 TradingView 桌面版

否则无法启用调试端口。

2. 启动带有调试端口的 TradingView 桌面版

macOS:

open -a "TradingView" --args --remote-debugging-port=9222

Windows:

& "C:\Users\<you>\AppData\Local\Programs\TradingView\TradingView.exe" --remote-debugging-port=9222

Linux:

tradingview --remote-debugging-port=9222
NOTE

--remote-debugging-port 标志是一个标准的 Chromium 调试标志。它是可选的,默认禁用。除非您明确传递它,否则不会发生任何事情。

3. 验证连接

tradingview-mcp doctor

如果一切连接正常,您将看到类似以下内容:

tradingview-mcp · doctor
─────────────────────────────────────────────
[ok]  CDP endpoint reachable on localhost:9222
[ok]  TradingView page found (NASDAQ:AAPL · 1h)
[ok]  tvWidget detected — chart state readable
─────────────────────────────────────────────
ready.

与 Claude Code 一起使用

将其添加到您的 Claude Code MCP 配置中(~/.claude/mcp.json 或项目 .mcp.json):

{
  "mcpServers": {
    "tradingview": {
      "command": "tradingview-mcp",
      "env": {
        "TV_MCP_PORT": "9222"
      }
    }
  }
}

重启 Claude Code。下面的工具将变为可用状态。


工具

工具

描述

chart_get_state

读取当前交易品种、时间周期、可见指标、最新价格

chart_set_symbol

更改活动交易品种(例如 NASDAQ:AAPL, NSE:RELIANCE

chart_set_timeframe

更改分辨率(1m, 5m, 1h, 1d 等)

chart_get_ohlcv

从活动图表中获取最多 5,000 条最新的 OHLCV 数据

更多工具即将推出 —— 请参阅 docs/roadmap.md

示例会话

You:    What's the chart showing?
Claude: [calls chart_get_state]
        Showing NASDAQ:AAPL on 1h timeframe with EMA20, EMA50.
        Last price 187.42.

You:    Switch to BTCUSDT 4h and pull the last 200 bars.
Claude: [calls chart_set_symbol, chart_set_timeframe, chart_get_ohlcv]
        Done. Range: 187 days. Open at start: 62,440.
        Close at end: 67,830. +8.6%.

配置

环境变量

默认值

描述

TV_MCP_HOST

localhost

CDP 主机

TV_MCP_PORT

9222

CDP 调试端口

TV_MCP_TARGET

(自动检测)

显式 CDP 目标 ID —— 仅在打开多个 TradingView 窗口时需要


开发

npm install
npm run build         # tsc to dist/
npm run dev           # tsc --watch
npm test              # vitest run
npm run test:coverage # with v8 coverage report
npm run typecheck     # tsc --noEmit

代码库分为四个层级:

src/
├── index.ts              entry — reads env, starts stdio server
├── server.ts             MCP server, tool registration, request handlers
├── errors.ts             typed error classes
├── types.ts              shared types + Zod schemas
├── connection/
│   ├── cdp.ts            CDP client wrapper (chrome-remote-interface)
│   └── tradingview.ts    TradingView-page interactions (all evaluated JS lives here)
└── tools/
    ├── index.ts          tool registry
    └── chart.ts          chart_* tools

添加工具:

  1. src/tools/ 下创建一个新文件(或扩展现有文件)。

  2. 导出 <name>Input<name>Output Zod 模式以及处理函数。

  3. 将条目添加到 src/tools/index.ts 中的 TOOLS

  4. tests/ 下添加测试。

就是这样 —— 自动注册、自动验证、自动内省。


版本兼容性

TradingView 桌面版

tradingview-mcp

状态

2026.x.x

0.1.x

已测试

如果 TradingView 更新导致工具开始失效,请首先检查 connection/tradingview.ts —— 这是唯一了解 TradingView 内部 API 的文件。


免责声明

本软件按“原样”提供,不附带任何形式的保证。运行本软件即表示您承认:

  • 您正在使用自己的付费 TradingView 桌面版实例,针对自己的数据进行操作。

  • 您自行启用了 Chrome DevTools 调试端口。

  • TradingView 的内部 API 未经文档记录,可能会发生中断。

  • 本软件中的任何内容都不能保证 AI 代理在其之上做出的交易决策的正确性。在让其触及真实资金之前,请先在模拟账户上使用。


许可证

MIT © 2026 Harshil Patel


致谢

这是一个全新的实现 —— 从零开始构建,目标是小巧、类型良好且易于阅读。如果您曾在此领域从事过类似工具的开发,感谢您铺平道路。

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/harshil1502/tradingview-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server