Skip to main content
Glama
mathieubernardi

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

tv_get_historical_data

Velas OHLCV históricas (acciones, cripto, forex, futuros)

tv_get_quote

Última vela + variación % respecto a la anterior

tv_get_indicators

Indicadores técnicos, contexto multi-timeframe y puntuación compuesta

tv_screener

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

include_weekly: true

Añade un contexto semanal: weekly_rsi, weekly_adx, weekly_trend

benchmark_symbol: "CW8"

Calcula la fuerza relativa a 1 mes y 3 meses contra ese benchmark

include_score: true

Calcula una puntuación técnica compuesta en [-1, +1] y sus subpuntuaciones

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

france

29 símbolos Euronext París — CAC 40, algunas midcaps tecnológicas, ETF elegibles PEA

america

20 blue chips Nasdaq / NYSE

crypto

8 pares principales de Binance

forex

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émoire

Requisitos 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 renombra Tool.inputSchema a Tool.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 .env

Configuración

Todas las variables tienen el prefijo TV_ y pueden pasarse mediante un archivo .env o mediante el entorno.

Variable

Defecto

Descripción

TV_TV_USERNAME

(vacío)

Identificador de TradingView (opcional)

TV_TV_PASSWORD

(vacío)

Contraseña de TradingView (opcional)

TV_TRANSPORT

stdio

stdio o sse

TV_HOST

127.0.0.1

Host del servidor SSE

TV_PORT

8765

Puerto del servidor SSE (1024–65535)

TV_DEFAULT_EXCHANGE

EURONEXT

Bolsa por defecto si la llamada no la especifica

TV_DEFAULT_N_BARS

500

Número de velas por defecto

TV_MAX_N_BARS

5000

Límite del número de velas

TV_CACHE_TTL_SECONDS

60

Duración de vida de la caché en memoria (0 = desactivada)

TV_LOG_LEVEL

INFO

DEBUG, INFO, WARNING o ERROR

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_tradingview

Integració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_tradingview

Endpoint

Rol

GET /sse

Flujo SSE para declarar en el cliente MCP

POST /messages/

Canal de retorno de mensajes del cliente

GET /health

Sonda de vivacidad, devuelve ok

Desarrollo

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

Limitaciones conocidas

  • tvdatafeed es un cliente no oficial que se apoya en los endpoints web de TradingView: puede dejar de funcionar sin previo aviso.

  • tv_screener no 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.md

Licencia

Distribuido bajo licencia MIT. Ver el archivo 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