MCP TradingView Server
MCP TradingView Server
Serveur MCP (Model Context Protocol) en Python qui expose les données de marché
TradingView à un client MCP — Claude Desktop, claude.ai ou tout autre client
compatible. Les données sont récupérées via tvdatafeed (OHLCV) et
tradingview-ta (screener).
Outils exposés
Outil MCP | Description |
| Bougies OHLCV historiques (actions, crypto, forex, futures) |
| Dernière bougie + variation % par rapport à la précédente |
| Indicateurs techniques, contexte multi-timeframe et score composite |
| Filtrage par marché, volume et RSI sur un univers prédéfini |
tv_get_indicators en détail
Indicateurs calculés : RSI, MACD, Bollinger Bands (avec détection de squeeze), EMA, SMA, ATR (avec niveaux de stop long/short), Stochastique, ADX (+DI/−DI), OBV, moyenne et ratio de volume 20 périodes, et détection de divergences RSI.
Trois options désactivées par défaut :
Paramètre | Effet |
| Ajoute un contexte hebdomadaire : |
| Calcule la force relative à 1 mois et 3 mois contre ce benchmark |
| Calcule un score technique composite dans |
Intervalles acceptés : 1, 3, 5, 15, 30, 45 (minutes), 1H, 2H,
3H, 4H, 1D, 1W, 1M.
Portée du screener
tvdatafeed n'expose pas d'API de screener. tv_screener parcourt donc un
univers prédéfini en dur dans MARKET_SYMBOLS (src/mcp_tradingview/client.py)
et calcule les indicateurs sur chaque symbole via tradingview-ta :
Marché | Univers couvert |
| 29 symboles Euronext Paris — CAC 40, quelques midcaps tech, ETF éligibles PEA |
| 20 blue chips Nasdaq / NYSE |
| 8 paires majeures Binance |
| 6 paires majeures |
L'énumération ScreenerMarket accepte aussi futures, india, brazil,
australia, canada, europe et hongkong, mais aucun univers n'est défini
pour ces marchés : l'appel retourne une liste vide. Ajouter une entrée dans
MARKET_SYMBOLS suffit à les activer.
Related MCP server: tradingview-mcp
Architecture
Client MCP (Claude Desktop, claude.ai…)
│
├── stdio ──► process local
└── SSE ──► serveur HTTP (Starlette + uvicorn)
│
├──► tvdatafeed : bougies OHLCV
└──► tradingview-ta : screener
│
└──► cache TTL en mémoirePrérequis
Python ≥ 3.11
Un compte TradingView est optionnel — l'accès anonyme fonctionne, avec des limites de débit plus strictes.
Le SDK MCP est épinglé en
< 2.0.0: la version 2.x supprime les décorateurs@server.list_tools()/@server.call_tool()et renommeTool.inputSchemaenTool.input_schema. Une migration est nécessaire avant de lever ce plafond.
Installation
git clone https://github.com/mathieubernardi/tradingview_mcp.git
cd tradingview_mcp
pip install -e ".[dev]"
cp .env.example .env # puis éditer .envConfiguration
Toutes les variables sont préfixées TV_ et peuvent être passées soit par un
fichier .env, soit par l'environnement.
Variable | Défaut | Description |
| (vide) | Identifiant TradingView (optionnel) |
| (vide) | Mot de passe TradingView (optionnel) |
|
|
|
|
| Hôte du serveur SSE |
|
| Port du serveur SSE (1024–65535) |
|
| Place par défaut si l'appel n'en précise pas |
|
| Nombre de bougies par défaut |
|
| Plafond du nombre de bougies |
|
| Durée de vie du cache mémoire ( |
|
|
|
Le double préfixe de TV_TV_USERNAME / TV_TV_PASSWORD est voulu : le préfixe
d'environnement TV_ s'ajoute aux champs tv_username / tv_password.
Lancer le serveur
Deux points d'entrée équivalents : le script console mcp-tradingview et le
module python -m mcp_tradingview. Le second ne dépend pas du PATH, ce qui le
rend plus fiable sous 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_tradingviewIntégration Claude Desktop (stdio)
Ajouter dans claude_desktop_config.json — ~/Library/Application Support/Claude/
sous macOS, %APPDATA%\Claude\ sous Windows :
{
"mcpServers": {
"tradingview": {
"command": "python",
"args": ["-m", "mcp_tradingview"],
"env": {
"TV_TRANSPORT": "stdio",
"TV_CACHE_TTL_SECONDS": "60"
}
}
}
}Si l'environnement Python n'est pas celui par défaut, remplacer "python" par le
chemin absolu de l'interpréteur du virtualenv. Pour utiliser un compte
TradingView, ajouter TV_TV_USERNAME et TV_TV_PASSWORD dans le bloc env.
En mode stdio, la session TradingView est établie paresseusement au premier appel d'outil : le handshake MCP répond immédiatement et le client ne subit pas de timeout au démarrage.
Intégration SSE
TV_TRANSPORT=sse TV_PORT=8765 python -m mcp_tradingviewEndpoint | Rôle |
| Flux SSE à déclarer côté client MCP |
| Canal de retour des messages client |
| Sonde de vivacité, retourne |
Développement
pytest tests/ -v # tests
ruff check src/ tests/ # lint
mypy src/ # type checking (strict)Limites connues
tvdatafeedest un client non officiel qui s'appuie sur les endpoints web de TradingView : il peut cesser de fonctionner sans préavis.tv_screenerne balaye pas un marché entier, seulement l'univers prédéfini décrit plus haut.Sans compte Premium TradingView, les données peuvent accuser un retard de plusieurs minutes.
L'accès anonyme subit des limites de débit sensiblement plus strictes qu'un compte connecté.
Les erreurs d'un outil sont renvoyées au client sous forme de JSON
{"error": ..., "tool": ..., "arguments": ...}plutôt que remontées comme erreurs de protocole.
Structure du projet
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.mdLicence
Distribué sous licence MIT. Voir le fichier 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