15 seconds, real output (market data as of 13 Oct 2026) · this server, hosted as TradingMCP · watch in full quality
TradingView MCP server — real-time market data, technical indicators, screeners, and backtesting for Claude, ChatGPT, Cursor, Copilot, and any MCP client. Stocks, crypto, forex & futures across global exchanges. Backtesting + live sentiment + Yahoo Finance + 39 technical-analysis tools — the most complete TradingView MCP toolkit, all in one server.
Don't want to install anything? TradingMCP, the hosted version of this server, gives you all 39 tools in your AI app. In Claude, Cursor or Grok, add https://mcp.tradingmcp.ai/mcp as a connector and sign in: no key to paste. ChatGPT, Copilot and other MCP clients connect with a private link. From $9/mo with a 14-day money-back guarantee; self-hosting stays free.
One click opens Claude's connector dialog with TradingMCP filled in; sign in with the email you subscribe with. Other apps: tradingmcp.ai/connect
Morning market brief in one prompt: ask "give me this morning's market brief" and get global indices, futures, the Bitcoin pulse and the hosted Markets panel in one answer. Charts are drawn right in the chat (demo below). In Grok Bot, add the Market Brief bot to get one on weekday mornings.
🆕 The hosted version (TradingMCP) now draws. Ask for a chart and an interactive candlestick view (1d / 1h / 15m, optional Bollinger overlay) renders live inside the conversation via MCP Apps — and the AI reads the band values back to you:
Add one URL and sign in (or pip install), then just ask. Real output, straight from the live server:
Try these first — they work in Claude, ChatGPT, Cursor, or any MCP client:
Show today's top crypto gainers on Binance
Run a full technical analysis of NVDA
What's the multi-timeframe read on gold?
Backtest an RSI strategy on BTC on the daily timeframe
Note
Independent open-source project — not affiliated with, endorsed by, or associated with TradingView Inc. "TradingView" is a trademark of its respective owner; this project consumes third-party market data and is not a TradingView product.
Note
Does it need — or risk — your TradingView account? No. This server does not log into, scrape, or automate a TradingView session, and it requires no TradingView account or API key. Market data is fetched server-side from public endpoints, so there is no account of yours in the loop and no browser/UI automation. (This is different from MCP servers that drive the TradingView Desktop app via Chrome DevTools.) You are responsible for ensuring your own use complies with the terms of any data source you point it at.
How this compares to desktop-automation TradingView MCPs (the ones that remote-control TradingView Desktop)
"TradingView MCP" now means two very different kinds of project. Both are useful — for different jobs:
| This project — data & analysis API | Desktop-automation MCPs | |
|---|---|---|
| What you need | Nothing — public market data | TradingView Desktop, usually with a paid TradingView plan |
| Where it works | Claude.ai, Claude Code, ChatGPT, Cursor, Copilot — any MCP client | Mostly Claude Code, on your own machine |
| When your machine is off | Hosted version keeps answering, 24/7 | Stops |
| Screeners & backtesting | Built in (39 tools, multi-exchange) | Whatever the TradingView UI offers |
| Charts | Interactive in-conversation charts (MCP Apps, hosted) | TradingView's own charts |
| Your TradingView account | Not needed, never touched | Drives your logged-in session |
If you want an AI clicking around your TradingView Desktop — editing Pine Script, drawing on charts, using replay — check out tradesdontlie/tradingview-mcp. If you want headless market data, screeners and backtesting available to any AI client, with nothing installed and no TradingView account in the loop — that's this project.
Important
Not financial advice. Nothing produced by this software is investment, financial, legal, tax, or accounting advice. tradingview-mcp is an informational and educational analysis tool. Its outputs, including indicators, scores, signals, "trade setups", entries, stop losses, and targets, are computed from third party market data and are not recommendations to buy, sell, or hold any asset. It does not execute trades, manage money, or guarantee any result. Trading and investing carry a substantial risk of loss, and you can lose some or all of your capital. Always do your own research and consult a licensed professional before making any financial decision. You are solely responsible for your own decisions and for complying with the laws and regulations that apply to you. Market data may be delayed, inaccurate, or incomplete, and is provided without warranty.
Tip
Prefer zero setup? Use the hosted version. TradingMCP serves all 39 tools in Claude, ChatGPT, Cursor, Grok and Copilot — no uv, pandas, or Python to wrangle, and in Claude, Cursor and Grok you just sign in instead of pasting a key. From $9/mo (Pro) or $29/mo (Pro+ — higher limits), with a 14-day money-back guarantee. Self-hosting stays free forever; hosted is just for folks who'd rather skip the ops. (Full self-host vs hosted comparison in Quick Start below.)
⭐ If this tool improves your workflow, please star the repo and consider sponsoring — it keeps the project alive and growing!
github.readme.mp4
Stability & Strategy Expansion (May 2026)
- Async hot-path tools — 7 high-traffic tools (
yahoo_price,stock_extended_hours,top_gainers,volume_breakout_scanner,multi_timeframe_analysis,financial_news,combined_analysis) converted toasync def. FastMCP runs sync tools serialized on the event loop — async unlocks real intra-server parallelism so concurrent tool calls actually overlap.combined_analysisadditionally fans its 3 sub-calls out viaasyncio.gatherfor ~3× wall-clock improvement on the power tool.yahoo_price/stock_extended_hoursusehttpx.AsyncClientfor true non-blocking I/O; sync-library tools (tradingview_ta,tradingview-screener,feedparser) are off-loaded viaasyncio.to_thread. (PR — open) - 9 backtest strategies (up from 6) — added
rsi_pullback,keltner_breakout, andtriple_ema, covering trend-pullback, ATR-normalized breakout, and SMA200-filtered EMA cross edges.compare_strategiesnow ranks the full 9. - Resilience layer — automatic retry + 60-second TTL cache on the TradingView screener provider, eliminating transient
"Expecting value"errors oncombined_analysisandmulti_timeframe_analysis. (PR #32 — merged) - Financial news service rebuild — replaces deprecated Reuters RSS endpoints with Yahoo Finance, MarketWatch, and CNBC. Fixes the long-standing
count: 0bug onfinancial_news. (PR #33 — merged) - TA throttle — caps concurrent
tradingview_tacalls (default 4) + min 0.8s spacing between starts. Prevents parallel bursts ofcombined_analysis/multi_timeframe_analysisfrom hitting TradingView's empty-body rate-limit cliff. Tunable via env vars. (PR #34 — merged) - Walk-forward backtesting (
walk_forward_backtest_strategy) — train/test split with overfitting verdict (ROBUST / MODERATE / WEAK / OVERFITTED). - Hourly (1h) timeframe support across
backtest_strategy,compare_strategies, andwalk_forward_backtest_strategy. - Full trade log + equity curve outputs (
include_trade_log=True,include_equity_curve=True).
| Feature | tradingview-mcp |
Traditional Setups | Bloomberg Terminal |
|---|---|---|---|
| Setup Time | 5 minutes | Hours (Docker, Conda...) | Weeks (Contracts) |
| Cost | Free & Open Source | Variable | $30k+/year |
| Backtesting | ✅ 9 strategies + Walk-forward + Sharpe | ❌ Manual scripting | ✅ Proprietary |
| News & Sentiment | ✅ Licensed news + per-ticker sentiment (Marketaux) | ❌ Separate setup | ✅ Terminal |
| Market Data | ✅ Live / Real-Time | Historical / Delayed | Live |
| API Keys | None required | Multiple (OpenAI, etc.) | N/A |
Warning
Security notice: impersonating copies of this repository. This project is Python-only and has no official npm / Node.js package. The only official sources are this repository (atilaahmettaner/tradingview-mcp), the PyPI package tradingview-mcp-server, and the hosted version, TradingMCP, at tradingmcp.ai (formerly pro.cryptosieve.com).
Copies of this repository published under other accounts add a package.json whose dependencies install malware through npm (for example oracle-redis, MAL-2026-16390). If you cloned a "tradingview-mcp" repository from another account and ran npm install, treat that machine as compromised. Thanks to @roberttidball for the report (#101).
Two ways to run it — the same 39 tools either way:
| 🧑💻 Self-host (this repo) | ☁️ Hosted — TradingMCP | |
|---|---|---|
| Price | Free forever (MIT) | $9/mo Pro · $29/mo Pro+ · 14-day money-back guarantee |
| Time to first call | ~5 minutes (Python + uv) |
~60 seconds (add one URL, sign in) |
| Updates & ops | You run and update it | Managed — always on the latest |
| Runs on | Your machine or VPS | Hosted, streamed from the edge |
| Limits | Your hardware | 2,500/mo · 60/min (Pro) → 10,000/mo · 150/min (Pro+) |
| Best for | Tinkerers, forkers, full control | Folks who'd rather skip the ops |
☁️ Zero setup: add
https://mcp.tradingmcp.ai/mcpas a connector in Claude, Cursor or Grok and sign in; ChatGPT, Copilot and other clients use your private link → get started with TradingMCP from $9/mo (14-day money-back guarantee) · setup guide. Everything below is for self-hosting.
pip install tradingview-mcp-serverfinancial_news and market_sentiment (plus the news/sentiment parts of
combined_analysis) are powered by Marketaux —
licensed market news with per-entity sentiment. Grab a free API key
(100 requests/day; the server caches for 4h and shares one fetch between news
and sentiment, so the free tier goes a long way) and set:
export MARKETAUX_API_TOKEN=your_token_here # optionalWithout a token those two tools return a friendly "not configured" note — all other tools work normally.
Note: On macOS, GUI apps like Claude Desktop may not have
~/.local/binin their PATH. Use the full path touvxto avoid "command not found" errors.
{
"mcpServers": {
"tradingview": {
"command": "/Users/YOUR_USERNAME/.local/bin/uvx",
"args": ["--from", "tradingview-mcp-server", "tradingview-mcp"]
}
}
}On Linux, replace /Users/YOUR_USERNAME with /home/YOUR_USERNAME. On Windows, use %USERPROFILE%\.local\bin\uvx.exe.
This repository also includes mcp-only Codex plugin metadata:
.codex-plugin/plugin.json.codex-mcp.json
The plugin uses the same PyPI package entrypoint:
{
"mcpServers": {
"tradingview": {
"command": "uvx",
"args": ["--from", "tradingview-mcp-server", "tradingview-mcp"]
}
}
}After installing or enabling the Codex plugin, restart Codex so the MCP server is loaded in the next session. Depending on your Codex version, codex mcp list may show registered MCP servers, but tool availability should be verified in a fresh Codex session.
git clone https://github.com/atilaahmettaner/tradingview-mcp
cd tradingview-mcp
uv run tradingview-mcpHow is the hosted version different from TradingView's official MCP?
TradingView launched its own MCP server in public beta on 16 Sep 2026. It is a good product, and for some jobs it is the better pick. Here is the honest difference (competitor facts checked Oct 2026 against TradingView's own MCP docs, launch post and pricing page):
- Analysis, not just data. TradingMCP runs multi-timeframe analysis, walk-forward backtests, smart-money and volume scans, and draws interactive charts in the chat. TradingView's MCP returns data, screens and a single-timeframe technical rating; its tool list has no backtesting or chart rendering (docs, checked Oct 2026).
- Morning market brief in one prompt. Global market snapshot, futures overview, Bitcoin pulse and the Markets panel in a single answer.
- $9 all-in, nothing else to subscribe to. TradingView's MCP is included only in paid TradingView plans, Essential and higher; trial plans don't include it (docs, pricing, checked Oct 2026). TradingMCP is $9/mo Pro or $29/mo Pro+ with a 14-day money-back guarantee, and self-hosting this repo stays free.
Where TradingView's MCP wins: fundamentals and analyst forecasts, SEC filings and earnings-call transcripts, editing your TradingView watchlists and alerts, and data that comes officially from TradingView itself (docs, checked Oct 2026). If that is what you need, use theirs, or run both side by side.
Try TradingMCP · works in Claude, ChatGPT, Cursor, Grok, Copilot or any MCP client.
Symptom — you see this in the Claude Desktop logs shortly after adding the config:
[tradingview] Server started and connected successfully
[tradingview] Message from client: initialize ...
[60 seconds later]
[tradingview] notifications/cancelled — reason: "MCP error -32001: Request timed out"
Why it happens: Python 3.14 is not supported yet. uvx downloads tradingview-mcp-server, creates a fresh virtualenv, and installs dependencies the first time it runs. Some native dependencies in the MCP stack do not currently publish compatible Python 3.14 wheels, so installation can fall back to source builds or fail before Claude Desktop finishes initializing the server.
Fix — pin to Python 3.13 (has prebuilt pandas wheels):
{
"mcpServers": {
"tradingview": {
"command": "uvx",
"args": ["--python", "3.13", "--from", "tradingview-mcp-server", "tradingview-mcp"]
}
}
}On macOS use the full path to uvx (see the note in Quick Start). On Windows uvx is typically %USERPROFILE%\.local\bin\uvx.exe.
Alternative — pre-install once, then let Claude Desktop reuse the cache:
# Run in a terminal before launching Claude Desktop
uv tool install --python 3.13 tradingview-mcp-serverAfter the install finishes, start Claude Desktop with the normal config and the server will come up instantly (cache is already warm).
Tools that have adopted the structured error format return either their normal payload or an error envelope:
{"error": {"code": "ALL_BATCHES_FAILED", "message": "All 5 batches failed; first error: JSONDecodeError(...)", "batches_attempted": 5, "batches_failed": 5, "first_error": "...", "retryable": true}}Why: the previous [] / {"error": "Analysis failed: ..."} strings made it impossible to distinguish "no matches today" from "upstream rate-limit cliff." The new envelope is programmatically branchable by code, and retryable tells the caller whether waiting and retrying can help (upstream storms pass; a missing dependency won't fix itself).
Full coverage (every failure mode — upstream outage, empty symbol list, missing dependency, unexpected exception — returns an envelope, never a raw string/traceback): top_gainers, top_losers, bollinger_scan, rating_filter, volume_breakout_scanner, smart_volume_scanner.
Partial adoption (main error paths return envelopes): coin_analysis, volume_confirmation_analysis, consecutive_candles_scan, futures_market_overview, futures_top_movers, stock_prices, and the backtest input guards. Remaining tools migrate in batches — tracked in #76.
Detecting an error:
result = volume_breakout_scanner(exchange="KUCOIN")
if isinstance(result, dict) and "error" in result:
code = result["error"]["code"]
if result["error"].get("retryable"):
# Wait + retry, raise alert, fall back to single-batch call, etc.
...
else:
for row in result:
...Stable codes are defined in core/errors.py.









