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 |
| Historische OHLCV-Kerzen (Aktien, Krypto, Forex, Futures) |
| Letzte Kerze + prozentuale Veränderung gegenüber der vorherigen |
| Technische Indikatoren, Multi-Timeframe-Kontext und zusammengesetzter Score |
| 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 |
| Fügt einen wöchentlichen Kontext hinzu: |
| Berechnet die relative Stärke über 1 und 3 Monate gegenüber diesem Benchark |
| Berechnet einen zusammengesetzten technischen Score in |
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 |
| 29 Symbole Euronext Paris – CAC 40, einige Tech-Midcaps, PEA-fäige ETFs |
| 20 Blue Chips Nasdaq / NYSE |
| 8 Haptpaare Binance |
| 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émoireVoraussetzungen
Python ≥ 3.11
Ein TradingView-Konto ist optional – der anonyme Zugriff funktioniert, allerdings mit strengeren Ratenbegrenzungen.
Das MCP-SDK ist auf
< 2.0.0gepinnt: Version 2.x entfernt die Dekoratoren@server.list_tools()/@server.call_tool()und benenntTool.inputSchemainTool.input_schemaum. 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 .envKonfiguration
Alle Variablen haben das Präfix TV_ und können entweder über eine .env-Datei oder über die Umgebung übergeben werden.
Variable | Standard | Beschreibung |
| (leer) | TradingView-Benutzername (optional) |
| (leer) | TradingView-Passwort (optional) |
|
|
|
|
| Host des SSE-Servers |
|
| Port des SSE-Servers (1024–65535) |
|
| Standardbörse, falls der Aufruf keine angibt |
|
| Standard-Anzahl Kerzen |
|
| Obergrenze für die Anzahl der Kerzen |
|
| Lebensdauer des Speicher-Caches ( |
|
|
|
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_tradingviewIntegration 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_tradingviewEndpoint | Funktion |
| SSE-Stream, der auf der MCP-Client-Seite zu deklarieren ist |
| Rückkanal für Client-Nachrichten |
| Liveness-Sonde, gibt |
Entwicklung
pytest tests/ -v # tests
ruff check src/ tests/ # lint
mypy src/ # type checking (strict)Bekannte Einschränkungen
tvdatafeedist ein inoffizieller Client, der auf den Web-Endpunkten von TradingView basiert: Er kann ohne Vorankündigung aufhören zu funktionieren.tv_screenerdurchsucht 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.mdLizenz
Unter der MIT-Lizenz veröfentlicht. Siehe Datei 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