MCP TradingView Server
MCP TradingView Server
Python製のMCP(Model Context Protocol)サーバーで、TradingViewの市場データをMCPクライアント(Claude Desktop、claude.ai、その他互換クライアント)に公開します。データはtvdatafeed(OHLCV)とtradingview-ta(スクリーナー)を介して取得されます。
公開ツール
MCPツール | 説明 |
| 履歴OHLCVローソク(株式、暗号通貨、FX、先物) |
| 最新ローソク + 前回比変化率% |
| テクニカル指標、マルチタイムフレームコンテキスト、複合スコア |
| 定義済みユニバースに対する市場・出来高・RSIによるフィルタリング |
tv_get_indicators の詳細
計算される指標: RSI、MACD、ボリンジャーバンド(スクイーズ検出付き)、EMA、SMA、ATR(ロング/ショートのストップ水準付き)、ストキャスティクス、ADX(+DI/−DI)、OBV、20期間の出来高平均と比率、およびRSIダイバージェンスの検出。
デフォルトで無効な3つのオプション:
パラメーター | 効果 |
| 週次コンテキストを追加: |
| このベンチマークに対する1ヶ月・3ヶ月の相対強度を計算 |
|
|
受け入れられる間隔: 1、3、5、15、30、45(分)、1H、2H、3H、4H、1D、1W、1M。
スクリーナーの対象範囲
tvdatafeed はスクリーナーAPIを公開していません。そのため tv_screener は MARKET_SYMBOLS(src/mcp_tradingview/client.py)内のハードコードされた定義済みユニバースを走査し、tradingview-ta を介して各シンボルの指標を計算します:
市場 | 対象ユニバース |
| Euronext Parisの29シンボル — CAC 40、一部のテック中型株、PEA対象ETF |
| Nasdaq / NYSEの20のブルーチップ |
| Binanceの主要8ペア |
| 主要6ペア |
ScreenerMarket 列挙型は futures、india、brazil、australia、canada、europe、hongkong も受け入れますが、これらの市場にはユニバースが定義されていません: 呼び出しは空のリストを返します。MARKET_SYMBOLS にエントリを追加するだけで有効になります。
Related MCP server: tradingview-mcp
アーキテクチャ
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前提条件
Python ≥ 3.11
TradingViewアカウントは任意 — 匿名アクセスも機能しますが、レート制限がより厳しくなります。
MCP SDKは
< 2.0.0に固定されています: バージョン2.xではデコレータ@server.list_tools()/@server.call_tool()が削除され、Tool.inputSchemaがTool.input_schemaに改名されます。この上限を引き上げるには移行が必要です。
インストール
git clone https://github.com/mathieubernardi/tradingview_mcp.git
cd tradingview_mcp
pip install -e ".[dev]"
cp .env.example .env # puis éditer .env設定
すべての変数は TV_ プレフィックスが付き、.env ファイルまたは環境変数で渡すことができます。
変数 | デフォルト | 説明 |
| (空) | TradingViewユーザー名(任意) |
| (空) | TradingViewパスワード(任意) |
|
|
|
|
| SSEサーバーのホスト |
|
| SSEサーバーのポート(1024–65535) |
|
| 呼び出しで指定がない場合のデフォルト取引所 |
|
| デフォルトのローソク数 |
|
| ローソク数の上限 |
|
| メモリキャッシュの有効期限( |
|
|
|
TV_TV_USERNAME / TV_TV_PASSWORD の二重プレフィックスは意図的です: 環境プレフィックス TV_ が tv_username / tv_password フィールドに追加されます。
サーバーの起動
同等の2つのエントリポイント: コンソールスクリプト mcp-tradingview とモジュール python -m mcp_tradingview。後者は PATH に依存しないため、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_tradingviewClaude Desktop連携(stdio)
claude_desktop_config.json に追加します — macOSでは ~/Library/Application Support/Claude/、Windowsでは %APPDATA%\Claude\:
{
"mcpServers": {
"tradingview": {
"command": "python",
"args": ["-m", "mcp_tradingview"],
"env": {
"TV_TRANSPORT": "stdio",
"TV_CACHE_TTL_SECONDS": "60"
}
}
}
}Python環境がデフォルトでない場合は、"python" をvirtualenvのインタープリターの絶対パスに置き換えてください。TradingViewアカウントを使用するには、env ブロックに TV_TV_USERNAME と TV_TV_PASSWORD を追加します。
stdioモードでは、TradingViewセッションは最初のツール呼び出し時に遅延確立されます: MCPハンドシェイクは即座に応答し、クライアントは起動時にタイムアウトしません。
SSE連携
TV_TRANSPORT=sse TV_PORT=8765 python -m mcp_tradingviewエンドポイント | 役割 |
| MCPクライアント側で宣言するSSEストリーム |
| クライアントメッセージの返信チャネル |
| ヘルスチェック、 |
開発
pytest tests/ -v # tests
ruff check src/ tests/ # lint
mypy src/ # type checking (strict)既知の制限
tvdatafeedはTradingViewのWebエンドポイントに依存する非公式クライアントです: 予告なく動作しなくなる可能性があります。tv_screenerは市場全体をスキャンするのではなく、上記の定義済みユニバースのみをスキャンします。TradingViewのプレミアムアカウントがない場合、データに数分の遅延が生じる可能性があります。
匿名アクセスは、ログインアカウントよりも大幅に厳しいレート制限を受けます。
ツールのエラーは、プロトコルエラーとしてではなく、JSON
{"error": ..., "tool": ..., "arguments": ...}としてクライアントに返されます。
プロジェクト構造
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ライセンス
MITライセンスの下で配布されています。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