servers / tradingview-mcp

tradingview-mcp

communitystdiolocalverifiedhealthy

TradingView MCP server — real-time market data, technical analysis, screeners & backtesting for Claude, ChatGPT, Cursor & any MCP client. Stocks, crypto, forex & futures across global exchanges. Hosted or self-host.


01Tools · 37

How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.

ToolRiskSide effectsApproval
volume_confirmation_analysis
Detailed volume confirmation analysis for a specific coin. Args: symbol: Coin symbol (e.g., BTCUSDT) exchange: Exchange name timeframe: Time frame for analysis
unknownunknownunknown
futures_category_snapshot
Quote all major front-month contracts in a specific futures category. Args: category: equity_index | energy | metals | agriculture | rates | forex | crypto_futures Returns: OHLCV quotes for the standard watchlist of contracts in that category. Example symbols: ES1! NQ1! (equity_index), CL1! NG1! (energy), GC1! SI1! (metals).
readfalseunknown
egx_market_overview
Get a comprehensive overview of the Egyptian Exchange (EGX) market. Args: timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M (default 1D for stocks) limit: Number of stocks per category (max 20)
readfalseunknown
egx_sector_scanner
Sector rotation scanner for EGX — identifies hot/cold sectors and top picks. Args: timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M (default 1D) top_n_sectors: Number of top sectors to show stock picks for (1-18, default 5) top_n_stocks: Number of top stocks per highlighted sector (1-10, default 3) min_stock_score: Minimum stock score for picks (0-100, default 60)
readfalseunknown
top_gainers
Return top gainers for an exchange and timeframe using Bollinger Band analysis. Args: exchange: Exchange name — crypto: KUCOIN, BINANCE, BYBIT, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, BURSA, HKEX, SSE, SZSE, TWSE, TPEX timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M limit: Number of rows to return (max 50) Returns: list[dict] on success. On ANY failure returns a structured error envelope ``{"error": {"code": ..., "retryable": ...}}`` — never a raw exception string.
readfalseunknown
multi_timeframe_analysis
Multi-timeframe alignment analysis (Weekly → Daily → 4H → 1H → 15m). Canonical name is exactly `multi_timeframe_analysis` (there is no "get_multi_timeframe_analysis" tool). Use this for cross-timeframe trend alignment on ONE symbol; for a single-timeframe deep dive use `coin_analysis`; for TA + sentiment + news use `combined_analysis`. Example: multi_timeframe_analysis(symbol="SOLUSDT", exchange="BINANCE") Args: symbol: Bare ticker, no exchange prefix — crypto: "BTCUSDT"; stocks: "COMI" (EGX), "THYAO" (BIST), "600519" (SSE), "300251" (SZSE), "2330" (TWSE), "3105" (TPEX), "GDX" (AMEX) exchange: Exchange — crypto: KUCOIN, BINANCE, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, AMEX, NYSEARCA, PCX, SSE, SZSE, TWSE, TPEX
unknownunknownunknown
consecutive_candles_scan
Scan for coins with consecutive growing/shrinking candles pattern. Args: exchange: Exchange name (BINANCE, KUCOIN, etc.) timeframe: Time interval (5m, 15m, 1h, 4h) pattern_type: "bullish" (growing candles) or "bearish" (shrinking candles) candle_count: Number of consecutive candles to check (2-5) min_growth: Minimum growth percentage for each candle limit: Maximum number of results to return
unknownunknownunknown
bitcoin_market_pulse
Single-call BTC macro context: price, dominance, total market cap + risk assessment. Use this WHENEVER analyzing any cryptocurrency (altcoin or BTC itself) to get the broader market frame in one shot. A SOL/ETH/whatever setup looks very different when BTC is dumping with rising dominance vs. when alts are leading. Calling this once gives Claude the macro context to provide Bitcoin-aware commentary alongside the per-coin analysis - without chaining 2-3 separate yahoo_price + manual reasoning calls. Returns: - bitcoin: price, 24h change %, volume, market cap - dominance: BTC and ETH market-cap share of total crypto - total_market: total crypto mcap + 24h change + active coin count - assessment: label (HIGH_RISK / ALT_RISK / ALT_FAVORABLE / OPPORTUNITY_WITH_CAUTION / NEUTRAL) + 1-paragraph reasoning
readfalseunknown
advanced_candle_pattern
Advanced candle pattern analysis using multi-timeframe data. Args: exchange: Exchange name (BINANCE, KUCOIN, etc.) base_timeframe: Base timeframe for analysis (5m, 15m, 1h, 4h) pattern_length: Number of consecutive periods to analyse (2-4) min_size_increase: Minimum percentage increase in candle size limit: Maximum number of results to return
unknownunknownunknown
stock_options_chain
Full options chain (calls + puts) for a US stock symbol and one expiry. Use this when the user asks "what's the options chain for X?", "show me AAPL puts expiring next Friday", or wants to inspect bid/ask/IV/volume on a specific strike. If no expiry is provided, returns the nearest expiry so Claude can quote it back and ask "want a different one?". Args: symbol: US stock symbol — AAPL, NVDA, TSLA, SPY, etc. expiry: Optional ISO date (YYYY-MM-DD). Must match one of the `available_expiries` Yahoo returns; otherwise returns an error with the list of valid dates. Returns: - underlying_price, underlying_change_pct - requested_expiry, available_expiries (list of YYYY-MM-DD) - call_count, put_count - calls: list of {strike, last_price, bid, ask, volume, open_interest, implied_volatility, in_the_money, expiration} - puts: same shape as calls
readfalseunknown
coin_analysis
Get detailed analysis for a specific asset (coin or stock) on specified exchange and timeframe. This is the canonical single-symbol technical readout (there is no "get_technical_analysis" or "get_technical_summary" tool — use THIS one). Use `multi_timeframe_analysis` instead when you need trend alignment across several timeframes, and `combined_analysis` when you also want news sentiment + headlines in the same call. Example: coin_analysis(symbol="BTCUSDT", exchange="BINANCE", timeframe="1h") Args: symbol: Bare ticker, no exchange prefix — crypto: "BTCUSDT", "ETHUSDT"; stocks: "COMI" (EGX), "THYAO" (BIST), "600519" (SSE), "300251" (SZSE), "2330" (TWSE), "3105" (TPEX) exchange: Exchange — crypto: KUCOIN, BINANCE, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, BURSA, HKEX, SSE, SZSE, TWSE, TPEX. If the symbol isn't listed there, the error's `listed_on` field names exchanges that do list it. timeframe: Time interval (5m, 15m, 1h, 4h, 1D, 1W, 1M) Returns: Detailed analysis with all indicators and metrics
readfalseunknown
combined_analysis
POWER TOOL: TradingView technical analysis + news sentiment + financial news. Use this when you want TA AND sentiment AND news for one symbol in a single call. For indicators only, `coin_analysis` is faster; for cross-timeframe trend alignment use `multi_timeframe_analysis`. Example: combined_analysis(symbol="NVDA", exchange="NASDAQ", timeframe="1D") Args: symbol: Bare ticker, no exchange prefix ("AAPL", "BTCUSDT", "THYAO", "GDX") exchange: Exchange (NASDAQ, NYSE, AMEX, NYSEARCA, PCX, BINANCE, KUCOIN, MEXC, BIST, EGX, TWSE, TPEX) timeframe: Analysis timeframe (5m, 15m, 1h, 4h, 1D, 1W)
unknownunknownunknown
volume_breakout_scanner
Detect coins with volume breakout + price breakout. Args: exchange: Exchange name like KUCOIN, BINANCE, BYBIT, MEXC, etc. timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M volume_multiplier: How many times the volume should be above normal level (default 2.0) price_change_min: Minimum price change percentage (default 3.0) limit: Number of rows to return (max 50) Returns ``list[dict]`` on success, or an error envelope on total upstream failure (``{"error": {"code": "ALL_BATCHES_FAILED", ...}}``). The empty list now strictly means "no matches today"; rate-limit cliffs surface explicitly.
readfalseunknown
walk_forward_backtest_strategy
Walk-forward backtest to detect overfitting — validates strategy on unseen data. Args: symbol: Yahoo Finance symbol (AAPL, BTC-USD, SPY…) strategy: rsi | bollinger | macd | ema_cross | supertrend | donchian | keltner_breakout (rsi_pullback and triple_ema not supported here — SMA200 warmup exceeds typical fold size; use run_backtest with period='2y') period: '1mo', '3mo', '6mo', '1y', '2y' (recommend '2y') initial_capital: Starting capital per fold in USD (default $10,000) commission_pct: Per-trade commission % (default 0.1%) slippage_pct: Per-trade slippage % (default 0.05%) n_splits: Number of walk-forward folds (default 3, max 10) train_ratio: Fraction of each fold used for training (default 0.7) interval: '1d' (daily) or '1h' (hourly)
unknownunknownunknown
stock_screener
Screen stocks by share type — the API twin of TradingView's "Common stock" / "Preferred stock" symbol-search filter. Args: country: TradingView market name — e.g. america, korea, germany, brazil, japan, uk, india, turkey, canada, australia, france, hongkong stock_type: common | preferred limit: rows to return (max 2000, single upstream request), ranked by market cap descending exclude_otc: default True — drop OTC listings (foreign companies traded over-the-counter); "america" otherwise means "US venue", not "US company" compact: default False — True returns only ticker/symbol/price/currency/ change_percent per row (light payload for bulk price feeds) sort_by: market_cap (default) | dividend_yield | change | price — server-side descending sort over the WHOLE market, so e.g. sort_by=dividend_yield with limit=20 is the market's true top-20 dividend payers, not just the biggest companies re-sorted Returns: Envelope dict: total_matches (market-wide count), returned, and rows of {ticker, symbol, description, exchange, price, open, high, low, currency, change_percent, dividend_yield, market_cap} — price is the current/last close; open/high/low are the current session's daily bar. Prices are in the market's local currency (e.g. KRW for korea).
readfalseunknown
stock_extended_hours
Real-time pre-market and after-hours prices for a US stock symbol. Use this when the user asks about a stock outside the regular 9:30am-4pm ET session — earnings reactions, overnight news, "what is X doing in after-hours?", "how did Y open in pre-market?". Returns the most recent valid print from each session window (pre-market, regular, post-market) along with computed % changes vs. the previous close and the regular close, respectively. During the regular session, post_market will be null (no data yet). On weekends/holidays, returns whatever's most recent in each window. Args: symbol: US stock symbol — AAPL, NVDA, TSLA, SPY, ^GSPC, etc. Returns: - pre_market: {price, as_of_utc, change_vs_previous_close_pct} or null - regular: {price, as_of_utc, change_pct} (consolidated tape close) - post_market: {price, as_of_utc, change_vs_regular_close_pct} or null - previous_close, currency, exchange, market_state for context
readfalseunknown
futures_watchlist
Return the full categorized list of well-known front-month futures symbols. Categories: equity_index, energy, metals, agriculture, rates, forex, crypto_futures. Use these symbols with futures_category_snapshot or coin_analysis for deeper analysis.
readfalseunknown
backtest_strategy
Backtest a trading strategy on historical data with institutional-grade metrics. Args: symbol: Yahoo Finance symbol (AAPL, BTC-USD, THYAO.IS, ^GSPC) strategy: rsi | bollinger | macd | ema_cross | supertrend | donchian | rsi_pullback | keltner_breakout | triple_ema (rsi_pullback and triple_ema need period >= '1y' for SMA200 warmup) period: '1mo', '3mo', '6mo', '1y', '2y' initial_capital: Starting capital in USD (default $10,000) commission_pct: Per-trade commission % (default 0.1%) slippage_pct: Per-trade slippage % (default 0.05%) interval: '1d' (daily) or '1h' (hourly) include_trade_log: Include full per-trade log (default False) include_equity_curve: Include equity curve data points (default False)
unknownunknownunknown
stock_options_unusual_activity
Top strikes by volume / open-interest ratio — institutional positioning signal. Use this when the user asks "any unusual options activity on X?", "where is the smart money positioned on NVDA before earnings?", or wants a V/OI screener for a ticker. A V/OI ratio > 1 means today's volume already exceeds standing open interest, which classically flags fresh institutional positioning on a specific strike in a specific direction (call vs put). Scans the soonest few expirations, filters out illiquid strikes (under `min_volume`), and returns the top-N sorted by V/OI descending. Also returns aggregate call vs put volume so Claude can comment on the overall directional bias. Args: symbol: US stock symbol — AAPL, NVDA, TSLA, SPY, META, etc. top_n: How many strikes to return. Default 10. min_volume: Filter floor for today's volume — prevents noise from illiquid strikes with high V/OI ratios. Default 100. expiries: Number of soonest expirations to scan. Default 4 (typically covers ~1 month of weeklies + monthlies). Returns: - underlying_price - expiries_scanned (list of YYYY-MM-DD) - total_call_volume, total_put_volume, put_call_volume_ratio - unusual: list of top-N contracts sorted by V/OI desc, each with {strike, side (call|put), expiration, volume, open_interest, v_oi_ratio, last_price, implied_volatility, in_the_money, strike_vs_spot_pct (moneyness)}
readfalseunknown
futures_market_overview
Top futures contracts sorted by trading volume. Args: category: all | equity_index | energy | metals | agriculture | rates | forex | crypto_futures exchanges: us (CME, COMEX, NYMEX, CBOT) | global (adds ICE, EUREX) limit: max contracts to return (default 30) volume_min: minimum volume filter (0 = no filter) Returns: Dict with total_available count and list of contracts with OHLCV + % change.
readfalseunknown
market_snapshot
Global market overview: major indices, top crypto, FX rates, and key ETFs. Powered by Yahoo Finance.
unknownunknownunknown
financial_news
Real-time financial news via Marketaux (licensed). Args: symbol: Optional symbol filter ("AAPL", "BTC"). None = all news. category: News category ("crypto", "stocks", "all") limit: Max number of news items
unknownunknownunknown
bollinger_scan
Scan for assets with low Bollinger Band Width (squeeze detection). Works with crypto and stocks. This scans a whole EXCHANGE for squeezes (canonical name is exactly `bollinger_scan`; there is no "get_bollinger_band_analysis" tool). For the Bollinger read of ONE symbol, call `coin_analysis` instead. Example: bollinger_scan(exchange="BINANCE", timeframe="15m", bbw_threshold=0.008) Args: exchange: Exchange — crypto: KUCOIN, BINANCE, BYBIT, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, BURSA, HKEX, SSE, SZSE, TWSE, TPEX timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M. Typical squeeze thresholds: 15m→0.008, 1h→0.02, 4h→0.04, 1D→0.12 bbw_threshold: Maximum BBW value to filter (default 0.04) limit: Number of rows to return (max 100) Returns ``list[dict]`` on success. On ANY failure returns a structured error envelope ``{"error": {"code": ..., "retryable": ...}}``.
readfalseunknown
market_sentiment
News sentiment for stocks and crypto (licensed Marketaux entity sentiment). Args: symbol: Asset symbol ("AAPL", "BTC", "ETH", "TSLA") category: News group to search ("crypto", "stocks", "all") limit: Max articles to analyse
readfalseunknown
yahoo_price
Real-time price quote from Yahoo Finance for any stock, crypto, ETF or index. Args: symbol: Yahoo Finance symbol — e.g. AAPL, BTC-USD, SPY, ^GSPC, EURUSD=X, THYAO.IS
unknownunknownunknown
stock_prices
Current price + daily % change for specific stock symbols. Args: tickers: comma-separated EXCHANGE:SYMBOL list (max 2000 — one upstream request even at full size), e.g. "NASDAQ:NVDA, NASDAQ:TSLA, KRX:005930". The exchange prefix is required — the scanner's direct-ticker lookup is exchange-scoped. Returns: Envelope dict: rows of {ticker, symbol, description, exchange, price, open, high, low, currency, change_percent} plus a not_found list naming any requested ticker the scanner didn't recognize.
readfalseunknown
egx_fibonacci_retracement
Fibonacci retracement analysis for EGX stocks. Args: symbol: EGX stock symbol (e.g., "COMI", "TMGH", "FWRY") lookback: Period for swing high/low — "1M", "3M", "6M", "52W", "ALL" (default 52W) timeframe: Analysis timeframe (5m, 15m, 1h, 4h, 1D, 1W, 1M — default 1D)
unknownunknownunknown
multi_agent_analysis
Run a multi-agent debate (Technical, Sentiment, Risk) for a specific symbol. Args: symbol: Symbol — crypto: "BTCUSDT"; stocks: "COMI" (EGX), "THYAO" (BIST), "600519" (SSE), "300251" (SZSE), "2330" (TWSE), "3105" (TPEX), "GDX" (AMEX) exchange: Exchange — crypto: KUCOIN, BINANCE, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, AMEX, NYSEARCA, PCX, SSE, SZSE, TWSE, TPEX timeframe: Time interval (5m, 15m, 1h, 4h, 1D, 1W) Returns: A structured debate between 3 AI agents culminating in a final trading decision.
readfalseunknown
egx_stock_screener
Production stock ranking engine for EGX — finds strong stocks with actionable setups. Args: timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M (default 1D) min_score: Minimum stock score to include (0-100, default 55) index_filter: Filter by index — EGX30, EGX70, EGX100, SHARIAH33, EGX35LV, TAMAYUZ limit: Number of results (max 50)
unknownunknownunknown
compare_strategies
Run all 9 strategies (RSI, Bollinger, MACD, EMA Cross, Supertrend, Donchian, RSI Pullback, Keltner Breakout, Triple EMA) and return a ranked leaderboard. Args: symbol: Yahoo Finance symbol (AAPL, BTC-USD, SPY…) period: '1mo', '3mo', '6mo', '1y', '2y' (period >= '1y' recommended so rsi_pullback and triple_ema can complete SMA200 warmup; otherwise they contribute zero trades) initial_capital: Starting capital in USD (default $10,000) interval: '1d' (daily) or '1h' (hourly)
unknownunknownunknown
top_losers
Return top losers for an exchange and timeframe. Supports crypto (KUCOIN, BINANCE, MEXC) and stocks (EGX, BIST, NASDAQ). Returns ``list[dict]`` on success. On ANY failure returns a structured error envelope ``{"error": {"code": ..., "retryable": ...}}``.
readfalseunknown
egx_index_analysis
Analyse an EGX index showing constituent performance with full indicators. Args: index: EGX30, EGX70, EGX100, SHARIAH33, EGX35LV, TAMAYUZ timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M (default 1D) limit: Number of stocks to show in detail (max 100)
readfalseunknown
smart_volume_scanner
Smart volume + technical analysis combination scanner. Args: exchange: Exchange name min_volume_ratio: Minimum volume multiplier (default 2.0) min_price_change: Minimum price change percentage (default 2.0) rsi_range: "oversold" (<30), "overbought" (>70), "neutral" (30-70), "any" limit: Number of results (max 30) Returns ``list[dict]`` on success. On ANY failure returns a structured error envelope ``{"error": {"code": ..., "retryable": ...}}``.
readfalseunknown
egx_sector_scan
Scan EGX stocks by sector. Shows available sectors if none specified. Args: sector: Sector name (banks, healthcare_and_pharma, real_estate, etc.) Leave empty to list all sectors. timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M limit: Max results per sector (max 50)
readfalseunknown
futures_top_movers
Futures contracts with the biggest percentage moves today. Args: direction: gainers | losers exchanges: us | global limit: max results volume_min: minimum volume filter (default 10, filters illiquid contracts) Returns: List of futures ranked by % change with OHLCV data.
readfalseunknown
rating_filter
Filter coins by Bollinger Band rating. Args: exchange: Exchange name like KUCOIN, BINANCE, BYBIT, MEXC, etc. timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M rating: BB rating (-3 to +3): -3=Strong Sell, -2=Sell, -1=Weak Sell, 1=Weak Buy, 2=Buy, 3=Strong Buy limit: Number of rows to return (max 50) Returns ``list[dict]`` on success. On ANY failure returns a structured error envelope ``{"error": {"code": ..., "retryable": ...}}``.
readfalseunknown
egx_trade_plan
Generate a full trade plan for a specific EGX stock. Args: symbol: EGX stock symbol (e.g., "COMI", "TMGH", "FWRY") timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M (default 1D)
unknownunknownunknown

02Install & source
uvx --from tradingview-mcp-server tradingview-mcp
uvx

03Access granted
Financial data · write

The access this server can exercise, inferred from its verified tools — not a declared OAuth scope.


05Provenance & freshness
sourcesGitHub repo search [p4]
last_checked2026-08-16 18:52Z
next_check2026-08-16 21:50Z
cadenceevery 3h
verifiedtools_list:passed handshake:passed metadata:passed tools_list:passed handshake:passed metadata:passed tools_list:passed handshake:passed metadata:passed tools_list:passed
index_statusindex9 unique facts >= 5

06Badge

Add the “as seen on MCPExplorer” badge to your README. tradingview-mcp MCP — as seen on mcpexplorer.com

[![tradingview-mcp MCP — as seen on mcpexplorer.com](https://mcpexplorer.com/badge/tradingview-mcp.svg)](https://mcpexplorer.com/servers/tradingview-mcp)

Next step

This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.

Explore loadouts →