Skip to main content
Glama

TradingView MCP

CI License: MIT Node.js 22+

一个本地优先的 Model Context Protocol 服务器和回环 REST API,用于市场数据、确定性技术分析、图表渲染,以及可选的 TradingView Supercharts 浏览器工作流。

服务器通过 stdio 运行,并且仅在工具需要时才启动其本地查看器和 Playwright 浏览器。默认情况下,高级历史和分析工具会自动关闭受管浏览器。

[!IMPORTANT] 这是一个独立的开源项目。它与 TradingView 无关联,未获得 TradingView 的赞助或认可。TradingView 和 Lightweight Charts 是 TradingView, Inc. 的商标。用户有责任遵守 TradingView 的条款、账户权限、交易所授权以及适用的数据许可。

功能

  • 用于市场发现、报价、OHLCV、分析和图表状态的 MCP 工具

  • 一键获取指定交易品种、周期和日期范围的官方 TradingView 截图

  • 一键获取历史日期上下文,包含 OHLCV、跳空、变动、成交量、导出的指标字段、滚动表现和技术分析

  • 确定性的 SMA、EMA、RSI、MACD、布林带、ATR、趋势、信号以及支撑/阻力计算

  • 支持 PNG 截图的本地 Lightweight Charts 查看器

  • 支持 CSV、内联 OHLCV、演示数据以及可选配置的上游数据源

  • 原子化的指标、水平线、自定义序列、价格区间和标记叠加

  • 可选的 Playwright 工作流,用于账户授权的 TradingView Supercharts 导航、CSV 导出、指标和截图

  • 默认返回紧凑的 MCP 结果,避免大型 OHLCV 数组不必要地消耗模型上下文

  • 仅回环 HTTP 绑定、路径包含、输入验证、凭据过滤和故障安全浏览器检查

Related MCP server: TradingView MCP Jackson

架构

MCP client -- stdio --+-- deterministic analysis and chart state
                      +-- on-demand local viewer / PNG capture
                      +-- optional on-demand TradingView browser

REST client -- loopback HTTP -- local viewer and compatible JSON endpoints

本地查看器是一个确定性渲染表面;它不是专有 TradingView 图表功能的克隆。请参阅兼容性边界

要求

  • Node.js 22 或更高版本

  • npm

  • 当使用截图或浏览器工具时,通过 Playwright 安装 Chromium

从源码安装

git clone https://github.com/moeuu/tradingview-mcp.git
cd tradingview-mcp
npm ci
npx playwright install chromium
npm run build

对于 Linux CI 或没有 Chromium 系统依赖的机器:

npx playwright install --with-deps chromium

连接 MCP 客户端

TradingView MCP 与客户端无关。它使用标准的 MCP stdio 传输,不调用客户端特定的 API。任何能够启动本地进程的 MCP 客户端都可以使用:

node /absolute/path/to/tradingview-mcp/dist/mcp.js

许多桌面和编辑器客户端使用这种常见的配置形式:

{
  "mcpServers": {
    "tradingview": {
      "command": "node",
      "args": ["/absolute/path/to/tradingview-mcp/dist/mcp.js"],
      "env": {
        "MARKET_CHART_PORT": "0",
        "MARKET_CHART_DATA_ROOT": "/absolute/path/to/tradingview-mcp/data"
      }
    }
  }
}

如有需要,可根据你的客户端调整外部配置键;命令、参数、环境和 MCP 协议保持不变。更改配置后请重启客户端。MARKET_CHART_PORT=0 会选择临时查看器端口,避免常驻监听服务。

有关传输行为、生命周期和故障排除,请参阅 MCP 客户端设置与兼容性

推荐的 MCP 工作流

  1. 当提供商可用性不明确时,调用 market_get_capabilities

  2. 使用 tradingview_get_day 获取某个交易品种在特定日期的全面信息。

  3. 使用 tradingview_capture_period 获取覆盖精确日历日期的官方 Supercharts PNG。

  4. 使用 tradingview_analyze_symbol 一键获取近期历史数据并进行确定性分析。

  5. 当只需要近期历史数据时,使用 tradingview_get_history

  6. 使用 chart_import_csvchart_set_data 处理本地/用户提供的数据。

  7. 使用 chart_analyzechart_apply_overlayschart_snapshot 进行本地分析和可视化。

示例调用:

{
  "name": "tradingview_capture_period",
  "arguments": {
    "symbol": "NASDAQ:AAPL",
    "interval": "D",
    "from": "2024-01-02",
    "to": "2024-03-28"
  }
}
{
  "name": "tradingview_get_day",
  "arguments": {
    "symbol": "NASDAQ:AAPL",
    "date": "2024-01-03",
    "interval": "D",
    "timezone": "America/New_York"
  }
}

tradingview_get_day 对于周末、节假日和不可用日期会返回明确的 no_session_bar 状态,而不是静默替换为邻近的交易日。在匹配的日期,它会返回会话 OHLCV、已加载的前一根和后一根 K 线、前收盘价和开盘跳空变动、日内区间、滚动 5/20/50/200 周期表现、确定性指标和信号,以及官方 TradingView 图表导出中存在的所有额外指标列。设置日内 intervalincludeBars:true 可接收分配给该日期的所有导出 K 线。

高级 TradingView 工具默认关闭浏览器。仅当 MCP 响应中需要原始 K 线时设置 includeBars: true,仅当需要立即执行后续浏览器工具时设置 keepBrowserOpen: true

服务器同时提供高级和细粒度工具。支持 enabled_tools 白名单的客户端可以只暴露特定工作流所需的工具。

可选的 TradingView 浏览器工作流

浏览器自动化默认禁用。Cookie 导出是首选的身份验证来源,因为它可以只包含所需的会话 Cookie。切勿将凭据值粘贴到 MCP 参数、仓库文件、客户端配置或提示中。

chmod 600 /absolute/path/to/tradingview-cookies.txt
export TRADINGVIEW_BROWSER_ENABLED=true
export TRADINGVIEW_BROWSER_BASE_URL=https://www.tradingview.com
export TRADINGVIEW_BROWSER_COOKIE_FILE=/absolute/path/to/tradingview-cookies.txt
export TRADINGVIEW_BROWSER_AUTH_COOKIE_NAMES=sessionid,sessionid_sign,device_t
export TRADINGVIEW_BROWSER_HEADLESS=true
export TRADINGVIEW_BROWSER_TIMEOUT_MS=120000

身份验证文件必须位于仓库之外,小于 1 MiB,并且在 POSIX 系统上具有仅所有者权限。默认策略仅从 TradingView 域导入 sessionidsessionid_signdevice_t。默认不导入本地存储。Cookie 值、存储值和身份验证文件路径绝不会被接受为 MCP 工具参数,也不会由 MCP 或 REST 响应返回。

当无法使用 Cookie 导出时,可以将 Playwright 存储状态文件与 TRADINGVIEW_BROWSER_AUTH_STATE 配合使用。同样适用相同的 Cookie 白名单。仅当经过验证的工作流需要特定的本地存储键时,才设置 TRADINGVIEW_BROWSER_AUTH_STORAGE_KEYS;其默认值为空。

Supercharts UI 的可用性、选择器、导出、账户方案、交易所授权以及延迟/实时状态均由 TradingView 控制,并且可能独立于本项目发生变化。自动化永远不会尝试账户升级或购买。

有关详细信息和限制,请参阅 TradingView 浏览器工作流

独立的 REST API 和查看器

REST API 是可选的,正常 MCP 使用无需运行。

npm run serve

默认绑定到 127.0.0.1:4317

curl http://127.0.0.1:4317/api/health
curl 'http://127.0.0.1:4317/api/price/DEMO:MARKET?timeframe=60&range=20'

在启用付费/已配置的上游数据源或将敏感的本地图表数据暴露给另一个本地进程之前,请设置 bearer token:

export MARKET_CHART_API_TOKEN='replace-with-a-long-random-value'
npm run serve

HTTP 绑定仅限于回环地址。请参阅 REST API 参考

配置

.env.example 复制作为参考,但从你的 shell、进程管理器或密钥存储中加载真实值。应用程序不会自动读取 .env 文件。

变量

默认值

用途

MARKET_CHART_HOST

127.0.0.1

仅回环绑定地址

MARKET_CHART_PORT

4317

REST/查看器端口;使用 0 作为临时 MCP 查看器

MARKET_CHART_DATA_ROOT

./data

受包含的 CSV、导出和截图根目录

MARKET_CHART_API_TOKEN

未设置

可选的 REST bearer token

MARKET_CHART_SCREENSHOTS

true

启用本地查看器 PNG 截图

TRADINGVIEW_BROWSER_ENABLED

false

启用 Supercharts 浏览器工具

TRADINGVIEW_BROWSER_BASE_URL

https://www.tradingview.com

允许的 TradingView 来源

TRADINGVIEW_BROWSER_AUTH_STATE

未设置

外部 Playwright 存储状态路径

TRADINGVIEW_BROWSER_COOKIE_FILE

未设置

外部 Cookie 导出路径

TRADINGVIEW_BROWSER_AUTH_COOKIE_NAMES

sessionid,sessionid_sign,device_t

Cookie 名称白名单;值保留在外部文件中

TRADINGVIEW_BROWSER_AUTH_STORAGE_KEYS

可选的本地存储键白名单

TRADINGVIEW_BROWSER_HEADLESS

true

以无头模式运行受管 Chromium

TRADINGVIEW_BROWSER_TIMEOUT_MS

30000

浏览器操作超时,5-120 秒

TRADINGVIEW_RAPIDAPI_KEY

未设置

可选兼容上游密钥

TRADINGVIEW_RAPIDAPI_HOST

提供商默认

可选兼容上游主机

本地 CSV 格式

CSV 导入必须解析到 MARKET_CHART_DATA_ROOT 内部,包含递增的时间戳,并保持在配置的限制范围内。

time,open,high,low,close,volume
2026-01-02T00:00:00Z,100,104,99,103,1200000
2026-01-03T00:00:00Z,103,106,101,105,1350000

timestampdate 可以替代 time;也接受 Unix 秒和毫秒。

安全模型

  • 空闲的 stdio MCP 进程不会创建网络监听器。

  • 本地 HTTP 路由仅绑定到回环地址并验证 Host 头。

  • 导入的文件使用真实路径包含,并拒绝符号链接遍历。

  • 浏览器身份验证从单个外部仅所有者文件中读取,并按域、Cookie 名称、过期时间、大小以及可选的本地存储键白名单进行过滤。

  • MCP 和 REST 请求模式不接受 Cookie、令牌、存储状态或身份验证文件路径。

  • 浏览器操作将状态化 UI 工作序列化,并拒绝类似凭据的工具输入。

  • 生成的浏览器工件、凭据、.env 文件、跟踪和本地市场数据会被 Git 忽略。

  • 结果是分析性观察,不构成投资建议,也不保证未来表现。

请根据 SECURITY.md 报告漏洞。

开发

npm ci
npx playwright install chromium
npm run check

npm run check 运行公开发布安全检查、全仓库仅英文文本验证、严格的 TypeScript 检查、完整的 Vitest 测试套件和生产构建。

欢迎贡献;请参阅 CONTRIBUTING.md。参与即表示你同意遵守 CODE_OF_CONDUCT.md

许可证与署名

项目源代码根据 MIT 许可证 提供。捆绑的查看器在 Apache-2.0 下使用 TradingView Lightweight Charts;所需声明见 NOTICETHIRD_PARTY_LICENSES.mdlicenses/Apache-2.0.txt

Install Server
A
license - permissive license
B
quality
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
4Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    C
    maintenance
    A type-safe MCP server that enables AI agents to control TradingView Desktop via Chrome DevTools Protocol, allowing chart state reading, symbol/timeframe changes, and OHLCV data fetching.
    11
    254
    1
    MIT
  • F
    license
    B
    quality
    C
    maintenance
    A TradingView-style market research and charting MCP server that provides tools for market data, indicators, watchlists, and local HTML chart rendering without scraping TradingView.
    9
  • A
    license
    Not graded
    quality
    C
    maintenance
    A local-first MCP server that bridges AI coding agents with MetaTrader 5 for inspection, market data, MQL5 development, compiling, Strategy Tester review, workspace sync, logs, audit trails, demo trading, and carefully gated live trading.
    MIT

View all related MCP servers

Related MCP Connectors

  • TradeOS MCP: ticker search, My Agent, chart TA, macro news. npm stdio or HTTP.

  • Open-source MCP server for Zerodha Kite Connect. Portfolio, market data, backtesting, alerts.

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

View all MCP Connectors

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

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