MCP TradingView Server
Servidor MCP TradingView
Servidor MCP (Model Context Protocol) en Python que expone los datos de mercado
TradingView a un cliente MCP — Claude Desktop, claude.ai o cualquier otro cliente
compatible. Los datos se obtienen mediante tvdatafeed (OHLCV) y
tradingview-ta (screener).
Herramientas expuestas
Herramienta MCP | Descripción |
| Velas OHLCV históricas (acciones, cripto, forex, futuros) |
| Última vela + variación % respecto a la anterior |
| Indicadores técnicos, contexto multi-timeframe y puntuación compuesta |
| Filtrado por mercado, volumen y RSI sobre un universo predefinido |
tv_get_indicators en detalle
Indicadores calculados: RSI, MACD, Bollinger Bands (con detección de squeeze), EMA, SMA, ATR (con niveles de stop largo/corto), Estocástico, ADX (+DI/−DI), OBV, media y ratio de volumen de 20 períodos, y detección de divergencias RSI.
Tres opciones desactivadas por defecto:
Parámetro | Efecto |
| Añade un contexto semanal: |
| Calcula la fuerza relativa a 1 mes y 3 meses contra ese benchmark |
| Calcula una puntuación técnica compuesta en |
Intervalos aceptados: 1, 3, 5, 15, 30, 45 (minutos), 1H, 2H,
3H, 4H, 1D, 1W, 1M.
Alcance del screener
tvdatafeed no expone una API de screener. Por tanto, tv_screener recorre un
universo predefinido en código en MARKET_SYMBOLS (src/mcp_tradingview/client.py)
y calcula los indicadores en cada símbolo mediante tradingview-ta:
Mercado | Universo cubierto |
| 29 símbolos Euronext París — CAC 40, algunas midcaps tecnológicas, ETF elegibles PEA |
| 20 blue chips Nasdaq / NYSE |
| 8 pares principales de Binance |
| 6 pares principales |
La enumeración ScreenerMarket también acepta futures, india, brazil,
australia, canada, europe y hongkong, pero no hay ningún universo definido
para esos mercados: la llamada devuelve una lista vacía. Añadir una entrada en
MARKET_SYMBOLS basta para activarlos.
Related MCP server: tradingview-mcp
Arquitectura
Client MCP (Claude Desktop, claude.ai…)
│
├── stdio ──► process local
└── SSE ──► serveur HTTP (Starlette + uvicorn)
│
├──► tvdatafeed : bougies OHLCV
└──► tradingview-ta : screener
│
└──► cache TTL en mémoireRequisitos previos
Python ≥ 3.11
Una cuenta TradingView es opcional: el acceso anónimo funciona, con límites de tasa más estrictos.
El SDK MCP está fijado en
< 2.0.0: la versión 2.x elimina los decoradores@server.list_tools()/@server.call_tool()y renombraTool.inputSchemaaTool.input_schema. Se necesita una migración antes de levantar este límite.
Instalación
git clone https://github.com/mathieubernardi/tradingview_mcp.git
cd tradingview_mcp
pip install -e ".[dev]"
cp .env.example .env # puis éditer .envConfiguración
Todas las variables tienen el prefijo TV_ y pueden pasarse mediante un
archivo .env o mediante el entorno.
Variable | Defecto | Descripción |
| (vacío) | Identificador de TradingView (opcional) |
| (vacío) | Contraseña de TradingView (opcional) |
|
|
|
|
| Host del servidor SSE |
|
| Puerto del servidor SSE (1024–65535) |
|
| Bolsa por defecto si la llamada no la especifica |
|
| Número de velas por defecto |
|
| Límite del número de velas |
|
| Duración de vida de la caché en memoria ( |
|
|
|
El doble prefijo de TV_TV_USERNAME / TV_TV_PASSWORD es intencionado: el prefijo
de entorno TV_ se añade a los campos tv_username / tv_password.
Iniciar el servidor
Dos puntos de entrada equivalentes: el script de consola mcp-tradingview y el
módulo python -m mcp_tradingview. El segundo no depende del PATH, lo que lo
hace más fiable en 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_tradingviewIntegración con Claude Desktop (stdio)
Añadir en claude_desktop_config.json — ~/Library/Application Support/Claude/
en macOS, %APPDATA%\Claude\ en Windows:
{
"mcpServers": {
"tradingview": {
"command": "python",
"args": ["-m", "mcp_tradingview"],
"env": {
"TV_TRANSPORT": "stdio",
"TV_CACHE_TTL_SECONDS": "60"
}
}
}
}Si el entorno Python no es el predeterminado, reemplazar "python" por la ruta
absoluta del intérprete del virtualenv. Para usar una cuenta de TradingView,
añadir TV_TV_USERNAME y TV_TV_PASSWORD en el bloque env.
En modo stdio, la sesión de TradingView se establece de forma perezosa en la primera llamada a una herramienta: el handshake MCP responde inmediatamente y el cliente no sufre un timeout al iniciar.
Integración SSE
TV_TRANSPORT=sse TV_PORT=8765 python -m mcp_tradingviewEndpoint | Rol |
| Flujo SSE para declarar en el cliente MCP |
| Canal de retorno de mensajes del cliente |
| Sonda de vivacidad, devuelve |
Desarrollo
pytest tests/ -v # tests
ruff check src/ tests/ # lint
mypy src/ # type checking (strict)Limitaciones conocidas
tvdatafeedes un cliente no oficial que se apoya en los endpoints web de TradingView: puede dejar de funcionar sin previo aviso.tv_screenerno escanea un mercado completo, solo el universo predefinido descrito anteriormente.Sin una cuenta Premium de TradingView, los datos pueden tener un retraso de varios minutos.
El acceso anónimo sufre límites de tasa considerablemente más estrictos que una cuenta conectada.
Los errores de una herramienta se devuelven al cliente en formato JSON
{"error": ..., "tool": ..., "arguments": ...}en lugar de elevarse como errores de protocolo.
Estructura del proyecto
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.mdLicencia
Distribuido bajo licencia MIT. Ver el archivo 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