Skip to main content
Glama
mathieubernardi

MCP TradingView Server

MCP TradingView Server

MCP-Server (Model Context Protocol) in Python, der TradingView-Marktdaten an einen MCP-Client bereitstellt – Claude Desktop, claude.ai oder jeden anderen kompatiblen Client. Die Daten werden über tvdatafeed (OHLCV) und tradingview-ta (Screener) abgerufen.

Verfügbare Tools

MCP-Tool

Beschreibung

tv_get_historical_data

Historische OHLCV-Kerzen (Aktien, Krypto, Forex, Futures)

tv_get_quote

Letzte Kerze + prozentuale Veränderung gegenüber der vorherigen

tv_get_indicators

Technische Indikatoren, Multi-Timeframe-Kontext und zusammengesetzter Score

tv_screener

Filterung nach Markt, Volumen und RSI über ein vordefiniertes Universum

tv_get_indicators im Detail

Berechnete Indikatoren: RSI, MACD, Bollinger Bands (mit Squeeze-Erkennung), EMA, SMA, ATR (mit Long/Short-Stop-Levels), Stochastik, ADX (+DI/−DI), OBV, 20-Perioden-Volumendurchschnitt und -Verhältnis sowie Erkennung von RSI-Divergenzen.

Drei standardmäßig deaktivierte Optionen:

Parameter

Wirkung

include_weekly: true

Fügt einen wöchentlichen Kontext hinzu: weekly_rsi, weekly_adx, weekly_trend

benchmark_symbol: "CW8"

Berechnet die relative Stärke über 1 und 3 Monate gegenüber diesem Benchark

include_score: true

Berechnet einen zusammengesetzten technischen Score in [-1, +1] sowie seine Teil-Scores

Akzepteerte Intervalle: 1, 3, 5, 15, 30, 45 (Minuten), 1H, 2H, 3H, 4H, 1D, 1W, 1M.

Umfang des Screeners

tvdatafeed bietet keine Screener-API. tv_screener durchsucht daher ein hartkodiertes, vordefiniertes Universum in MARKET_SYMBOLS (src/mcp_tradingview/client.py) und berechnet die Indikatoren für jedes Symbol über tradingview-ta:

Markt

Abgedecktes Universum

france

29 Symbole Euronext Paris – CAC 40, einige Tech-Midcaps, PEA-fäige ETFs

america

20 Blue Chips Nasdaq / NYSE

crypto

8 Haptpaare Binance

forex

6 Haptpaare

Die Aufzählung ScreenerMarket akzeptiert auch futures, india, brazil, austra lia, canada, europe und hongkong, aber für diese Märkte ist kein Universum definiert: Der Aufruf gibt eine leere Liste zurück. Es genügt, einen Eintrag in MARKET_SYMBOLS hinzuzufügen, um sie zu aktivieren.

Related MCP server: tradingview-mcp

Architektur

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

Voraussetzungen

  • Python ≥ 3.11

  • Ein TradingView-Konto ist optional – der anonyme Zugriff funktioniert, allerdings mit strengeren Ratenbegrenzungen.

  • Das MCP-SDK ist auf < 2.0.0 gepinnt: Version 2.x entfernt die Dekoratoren @server.list_tools() / @server.call_tool() und benennt Tool.inputSchema in Tool.input_schema um. Bevor diese Obergrenze angehoben wird, ist eine Migration erforderlich.

Installation

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

pip install -e ".[dev]"

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

Konfiguration

Alle Variablen haben das Präfix TV_ und können entweder über eine .env-Datei oder über die Umgebung übergeben werden.

Variable

Standard

Beschreibung

TV_TV_USERNAME

(leer)

TradingView-Benutzername (optional)

TV_TV_PASSWORD

(leer)

TradingView-Passwort (optional)

TV_TRANSPORT

stdio

stdio oder sse

TV_HOST

127.0.0.1

Host des SSE-Servers

TV_PORT

8765

Port des SSE-Servers (1024–65535)

TV_DEFAULT_EXCHANGE

EURONEXT

Standardbörse, falls der Aufruf keine angibt

TV_DEFAULT_N_BARS

500

Standard-Anzahl Kerzen

TV_MAX_N_BARS

5000

Obergrenze für die Anzahl der Kerzen

TV_CACHE_TTL_SECONDS

60

Lebensdauer des Speicher-Caches (0 = deaktiviert)

TV_LOG_LEVEL

INFO

DEBUG, INFO, WARNING oder ERROR

Die doppelte Präfixierung von TV_TV_USERNAME / TV_TV_PASSWORD ist beabsichtigt: Das Umgebungspräfix TV_ wird zu den Feldern tv_username / tv_password hinzugefügt.

Server starten

Zwei äquivalente Einstiegspunkte: das Konsolenskript mcp-tradingview und das Modul python -m mcp_tradingview. Letzteres hängt nicht vom PATH ab, was es unter Windows zuverlässiger macht.

# 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

Integration mit Claude Desktop (stdio)

In claude_desktop_config.json einfügen – unter macOS ~/Library/Application Support/Claude/, unter Windows %APPDATA%\Claude\:

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

Wenn die Python-Umgebung nicht die Standard-Umgebung ist, ersetzen Sie "python" durch den absoluten Pfad des Interpreters des virtualenv. Um ein TradingView-Konto zu verwenden, fügen Sie TV_TV_USERNAME und TV_TV_PASSWORD im Block env hinzu.

Im stdio-Modus wird die TradingView-Sitzung erst beim ersten Tool-Aufruf lazy aufgebaut: Der MCP-Handshake antwortet sofort und beim Start tritt für den Client kein Timeout auf.

SSE-Integration

TV_TRANSPORT=sse TV_PORT=8765 python -m mcp_tradingview

Endpoint

Funktion

GET /sse

SSE-Stream, der auf der MCP-Client-Seite zu deklarieren ist

POST /messages/

Rückkanal für Client-Nachrichten

GET /health

Liveness-Sonde, gibt ok zurück

Entwicklung

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

Bekannte Einschränkungen

  • tvdatafeed ist ein inoffizieller Client, der auf den Web-Endpunkten von TradingView basiert: Er kann ohne Vorankündigung aufhören zu funktionieren.

  • tv_screener durchsucht nicht den gesamten Markt, sondern nur das oben beschriebene vordefinierte Universum.

  • Ohne ein Premium-TradingView-Konto können die Daten mehrere Minuten verögert sein.

  • Der anonyme Zugriff unterliegt deutlch strengeren Ratenbegrenzungen als ein angemeldetes Konto.

  • Fehler eines Tools werden dem Client als JSON {"error": ..., "tool": ..., "arguments": ...} zurückgegeben, statt als Protokollfehler gemeldet zu werden.

Projektstruktur

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

Lizenz

Unter der MIT-Lizenz veröfentlicht. Siehe Datei 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