MCP TradingView Server
MCP TradingView Server
Python 编写的 MCP(Model Context Protocol)服务器,将 TradingView 市场数据暴露给 MCP 客户端——Claude Desktop、claude.ai 或任何其他兼容客户端。数据通过 tvdatafeed(OHLCV)和 tradingview-ta(筛选器)获取。
暴露的工具
MCP 工具 | 描述 |
| 历史 OHLCV 蜡烛图(股票、加密货币、外汇、期货) |
| 最新蜡烛图 + 与前一蜡烛相比的百分比变化 |
| 技术指标、多时间框架背景和综合评分 |
| 在预定义范围内按市场、成交量和 RSI 进行筛选 |
tv_get_indicators 详解
计算的指标:RSI、MACD、Bollinger Bands(含挤压检测)、EMA、SMA、ATR(含多头/空头止损位)、随机指标、ADX(+DI/−DI)、OBV、20 周期成交量平均值和比率,以及 RSI 背离检测。
默认禁用三个选项:
参数 | 效果 |
| 添加周线背景: |
| 计算相对于该基准的 1 个月和 3 个月相对强度 |
| 计算 |
支持的周期:1、3、5、15、30、45(分钟)、1H、2H、3H、4H、1D、1W、1M。
筛选器范围
tvdatafeed 不提供筛选器 API。因此 tv_screener 遍历 MARKET_SYMBOLS(src/mcp_tradingview/client.py)中硬编码的预定义范围,并通过 tradingview-ta 计算每个符号的指标:
市场 | 覆盖范围 |
| 29 个 Euronext Paris 符号 — CAC 40、部分科技中型股、符合 PEA 条件的 ETF |
| 20 只 Nasdaq / NYSE 蓝筹股 |
| 8 个 Binance 主要交易对 |
| 6 个主要货币对 |
枚举 ScreenerMarket 还接受 futures、india、brazil、australia、canada、europe 和 hongkong,但这些市场未定义任何范围:调用将返回空列表。只需在 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 文件或环境变量传递。
变量 | 默认值 | 描述 |
| (空) | TradingView 用户名(可选) |
| (空) | TradingView 密码(可选) |
|
|
|
|
| SSE 服务器主机 |
|
| SSE 服务器端口(1024–65535) |
|
| 调用未指定时的默认交易所 |
|
| 默认蜡烛数量 |
|
| 蜡烛数量上限 |
|
| 内存缓存有效期( |
|
|
|
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_tradingviewClaude 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_USERNAME 和 TV_TV_PASSWORD。
在 stdio 模式下,TradingView 会话在首次调用工具时惰性建立:MCP 握手立即响应,客户端在启动时不会遇到超时。
SSE 集成
TV_TRANSPORT=sse TV_PORT=8765 python -m mcp_tradingview端点 | 作用 |
| 需要在 MCP 客户端声明的 SSE 流 |
| 客户端消息的返回通道 |
| 存活探针,返回 |
开发
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 文件。
This server cannot be installed
Maintenance
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
- FlicenseNot gradedqualityCmaintenanceExposes TradingView technical indicators and OHLCV data through MCP tools for Claude Desktop or any MCP-aware client.23
- FlicenseNot gradedqualityDmaintenanceA 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.5525
- AlicenseAqualityBmaintenanceMCP server for TradingView's market screener API, enabling stock, forex, crypto, and ETF screening, technical analysis, and investor workflows via Claude or CLI.1286749MIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to control a local TradingView Desktop instance, providing tools to read chart state, change symbols and timeframes, and fetch OHLCV data.552133MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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