Skip to main content
Glama
mathieubernardi

MCP TradingView Server

MCP TradingView Server

Python 编写的 MCP(Model Context Protocol)服务器,将 TradingView 市场数据暴露给 MCP 客户端——Claude Desktop、claude.ai 或任何其他兼容客户端。数据通过 tvdatafeed(OHLCV)和 tradingview-ta(筛选器)获取。

暴露的工具

MCP 工具

描述

tv_get_historical_data

历史 OHLCV 蜡烛图(股票、加密货币、外汇、期货)

tv_get_quote

最新蜡烛图 + 与前一蜡烛相比的百分比变化

tv_get_indicators

技术指标、多时间框架背景和综合评分

tv_screener

在预定义范围内按市场、成交量和 RSI 进行筛选

tv_get_indicators 详解

计算的指标:RSIMACDBollinger Bands(含挤压检测)、EMASMAATR(含多头/空头止损位)、随机指标ADX(+DI/−DI)、OBV、20 周期成交量平均值和比率,以及 RSI 背离检测。

默认禁用三个选项:

参数

效果

include_weekly: true

添加周线背景:weekly_rsiweekly_adxweekly_trend

benchmark_symbol: "CW8"

计算相对于该基准的 1 个月和 3 个月相对强度

include_score: true

计算 [-1, +1] 范围内的综合技术评分及其子评分

支持的周期:135153045(分钟)、1H2H3H4H1D1W1M

筛选器范围

tvdatafeed 不提供筛选器 API。因此 tv_screener 遍历 MARKET_SYMBOLSsrc/mcp_tradingview/client.py)中硬编码的预定义范围,并通过 tradingview-ta 计算每个符号的指标:

市场

覆盖范围

france

29 个 Euronext Paris 符号 — CAC 40、部分科技中型股、符合 PEA 条件的 ETF

america

20 只 Nasdaq / NYSE 蓝筹股

crypto

8 个 Binance 主要交易对

forex

6 个主要货币对

枚举 ScreenerMarket 还接受 futuresindiabrazilaustraliacanadaeuropehongkong,但这些市场未定义任何范围:调用将返回空列表。只需在 MARKET_SYMBOLS 中添加一个条目即可启用它们。

Related MCP server: tradingview-mcp

架构

Client MCP (Claude Desktop, claude.ai…)
    │
    ├── stdio ──► process local
    └── SSE   ──► serveur HTTP (Starlette + uvicorn)
              │
              ├──► tvdatafeed    : bougies OHLCV
              └──► tradingview-ta : screener
                        │
                        └──► cache TTL en mémoire

前提条件

  • Python ≥ 3.11

  • TradingView 账户是可选的——匿名访问可用,但速率限制更严格。

  • MCP SDK 被锁定在 < 2.0.0:2.x 版本移除了 @server.list_tools() / @server.call_tool() 装饰器,并将 Tool.inputSchema 重命名为 Tool.input_schema。在解除此上限之前需要进行迁移。

安装

git clone https://github.com/mathieubernardi/tradingview_mcp.git
cd tradingview_mcp

pip install -e ".[dev]"

cp .env.example .env   # puis éditer .env

配置

所有变量都以 TV_ 为前缀,可以通过 .env 文件或环境变量传递。

变量

默认值

描述

TV_TV_USERNAME

(空)

TradingView 用户名(可选)

TV_TV_PASSWORD

(空)

TradingView 密码(可选)

TV_TRANSPORT

stdio

stdiosse

TV_HOST

127.0.0.1

SSE 服务器主机

TV_PORT

8765

SSE 服务器端口(1024–65535)

TV_DEFAULT_EXCHANGE

EURONEXT

调用未指定时的默认交易所

TV_DEFAULT_N_BARS

500

默认蜡烛数量

TV_MAX_N_BARS

5000

蜡烛数量上限

TV_CACHE_TTL_SECONDS

60

内存缓存有效期(0 = 禁用)

TV_LOG_LEVEL

INFO

DEBUGINFOWARNINGERROR

TV_TV_USERNAME / TV_TV_PASSWORD 的双重前缀是有意为之:环境变量前缀 TV_ 附加到 tv_username / tv_password 字段上。

启动服务器

两个等效的入口点:控制台脚本 mcp-tradingview 和模块 python -m mcp_tradingview。后者不依赖 PATH,因此在 Windows 下更可靠。

# Linux / macOS — stdio
TV_TRANSPORT=stdio python -m mcp_tradingview

# Linux / macOS — SSE
TV_TRANSPORT=sse python -m mcp_tradingview
# Windows PowerShell — stdio
$env:TV_TRANSPORT = "stdio"; python -m mcp_tradingview

# Windows PowerShell — SSE
$env:TV_TRANSPORT = "sse"; python -m mcp_tradingview

Claude Desktop 集成(stdio)

claude_desktop_config.json 中添加——macOS 下位于 ~/Library/Application Support/Claude/,Windows 下位于 %APPDATA%\Claude\

{
  "mcpServers": {
    "tradingview": {
      "command": "python",
      "args": ["-m", "mcp_tradingview"],
      "env": {
        "TV_TRANSPORT": "stdio",
        "TV_CACHE_TTL_SECONDS": "60"
      }
    }
  }
}

如果 Python 环境不是默认环境,请将 "python" 替换为 virtualenv 解释器的绝对路径。要使用 TradingView 账户,请在 env 块中添加 TV_TV_USERNAMETV_TV_PASSWORD

在 stdio 模式下,TradingView 会话在首次调用工具时惰性建立:MCP 握手立即响应,客户端在启动时不会遇到超时。

SSE 集成

TV_TRANSPORT=sse TV_PORT=8765 python -m mcp_tradingview

端点

作用

GET /sse

需要在 MCP 客户端声明的 SSE 流

POST /messages/

客户端消息的返回通道

GET /health

存活探针,返回 ok

开发

pytest tests/ -v          # tests
ruff check src/ tests/    # lint
mypy src/                 # type checking (strict)

已知限制

  • tvdatafeed 是一个非官方客户端,依赖 TradingView 的 Web 端点:它可能在没有事先通知的情况下停止工作。

  • tv_screener 不会扫描整个市场,只扫描上文描述的预定义范围。

  • 没有 TradingView Premium 账户,数据可能会有几分钟的延迟。

  • 匿名访问的速率限制比已登录账户严格得多。

  • 工具错误以 JSON {"error": ..., "tool": ..., "arguments": ...} 的形式返回给客户端,而不是作为协议错误上报。

项目结构

tradingview_mcp/
├── src/mcp_tradingview/
│   ├── __init__.py      # métadonnées du paquet (__version__)
│   ├── __main__.py      # entrée `python -m mcp_tradingview`
│   ├── config.py        # settings (pydantic-settings, préfixe TV_)
│   ├── models.py        # schémas Pydantic d'entrée / sortie
│   ├── client.py        # client TradingView, indicateurs, cache TTL
│   ├── tools.py         # définition JSON Schema + dispatch des outils
│   └── server.py        # serveur MCP (stdio + SSE) et entrée console
├── tests/
│   └── test_server.py
├── pyproject.toml
├── .env.example
├── .gitignore
├── LICENSE
└── README.md

许可证

根据 MIT 许可证分发。参见 LICENSE 文件。

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

UpdatingMaintainers
UpdatingResponse time
Release cycle
0Releases (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

  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that lets AI assistants interact with TradingView for real-time quotes, historical OHLCV data, screener, alerts, watchlists, news, chart layouts, Pine scripts, and more. Connect it to Claude Desktop, Cursor, or any MCP-compatible client to control TradingView via natural language.
    552
    5
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for TradingView's market screener API, enabling stock, forex, crypto, and ETF screening, technical analysis, and investor workflows via Claude or CLI.
    12
    867
    49
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP clients to control a local TradingView Desktop instance, providing tools to read chart state, change symbols and timeframes, and fetch OHLCV data.
    552
    133
    MIT

View all related MCP servers

Related MCP Connectors

  • Query SEC EDGAR filings, XBRL financials, and company data through MCP. STDIO & Streamable HTTP.

  • MCP server for OpenMM — exposes market data, account, trading, and strategy tools to AI agents

  • 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/mathieubernardi/tradingview_mcp'

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