Skip to content

TradingMCP

by atilaahmettaner · remote · no sign-in to list tools · v0.9.0 · published by GitHub user atilaahmettaner

Market analysis for AI assistants: screeners, multi-timeframe analysis, backtests, in-chat charts.

Deletes · 1Changes · 36

46 tools: 1 can delete or cancel things, 36 change things and 9 only read.

Scanned Oct 21, 2026

8 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http tradingview https://mcp.cryptosieve.com/mcp --header 'X-API-Key: <your-x-api-key>'

Findings

Matches of fixed checks, with the text they matched.

8 warn
  • The server marks "backtest_chart" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The description's first verb is "run": a word for a change.

    What this check looks for
  • The description names a tool "get_bollinger_band_analysis" that this server does not list.

    Matched text

    description: "...actly `bollinger_scan`; there is no "get_bollinger_band_analysis" tool). For the Bollinger read of ONE sym..."

    What this check looks for
  • The description names a tool "get_technical_summary" that this server does not list.

    Matched text

    description: "...e is no "get_technical_analysis" or "get_technical_summary" tool — use THIS one). Use `multi_timefra..."

    What this check looks for
  • The server marks "multi_agent_analysis" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The description's first verb is "run": a word for a change.

    What this check looks for
  • The server marks "egx_trade_plan" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The description's first verb is "generate": a word for a change.

    What this check looks for
  • The description names a tool "get_multi_timeframe_analysis" that this server does not list.

    Matched text

    description: "...ti_timeframe_analysis` (there is no "get_multi_timeframe_analysis" tool). Use this for cross-timeframe trend..."

    What this check looks for
Show 2 more findings
  • The server marks "compare_strategies" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "compare_strategies" says "compare": a word for reading.

    What this check looks for
  • The server marks "watchlist_remove" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "watchlist_remove" says "remove": a word for removing or ending something.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

46 tools

Deletes or cancels 1Claude Code: deny
  • watchlist_removeRemove symbols from the user's personal watchlist.1 finding

    Why it is in this group

    • The name "watchlist_remove" says "remove": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "watchlist_remove" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "watchlist_remove" says "remove": a word for removing or ending something.

      What this check looks for
    Description, as the server wrote it
    Remove symbols from the user's personal watchlist. Tickers must be EXCHANGE:SYMBOL, comma-separated — e.g. 'KUCOIN:BTCUSDT, NASDAQ:NVDA, BIST:THYAO, COMEX:GC1!'. Removing is reversible (just add again).

    Annotations the server declares

    • title: Watchlist: Remove Symbols
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Changes things 36Claude Code: ask
  • advanced_candle_patternAdvanced candle pattern analysis using multi-timeframe data.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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

    Annotations the server declares

    • title: Candlestick Pattern Analysis
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • backtest_chartRun a strategy backtest and render its equity curve as an interactive chart in the conversation (capital growth + drawdown, with return / win-rate / Sharpe stats).1 finding

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "backtest_chart" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The description's first verb is "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run a strategy backtest and render its equity curve as an interactive chart in the conversation (capital growth + drawdown, with return / win-rate / Sharpe stats). Strategies: rsi, bollinger, macd, ema_cross, supertrend, donchian, rsi_pullback, keltner_breakout, triple_ema. period: 1mo|3mo|6mo|1y|2y, interval: 1d|1h. Clients without interactive app support can read the `summary` field.

    Annotations the server declares

    • title: Backtest Equity Curve
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • backtest_strategyBacktest a trading strategy on historical data with institutional-grade metrics.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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)

    Annotations the server declares

    • title: Strategy Backtest
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • bitcoin_market_pulseSingle-call BTC macro context: price, dominance, total market cap + risk assessment.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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

    Annotations the server declares

    • title: Bitcoin Market Pulse
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • bollinger_scanScan for assets with low Bollinger Band Width (squeeze detection).1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description names a tool "get_bollinger_band_analysis" that this server does not list.

      Matched text

      description: "...actly `bollinger_scan`; there is no "get_bollinger_band_analysis" tool). For the Bollinger read of ONE sym..."

      What this check looks for
    Description, as the server wrote it
    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, EPA (Euronext Paris), AMS, BRU, LIS, MIL, LSE, SIX, BME, XETRA, FWB, TSX, TSXV, NSE, BSE (India), IDX (Indonesia) 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": ...}}``.

    Annotations the server declares

    • title: Bollinger Squeeze Scanner
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • combined_analysisPOWER TOOL: TradingView technical analysis + news sentiment + financial news.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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)

    Annotations the server declares

    • title: Combined TA + Sentiment + News
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • compare_strategiesRun all 9 strategies (RSI, Bollinger, MACD, EMA Cross, Supertrend, Donchian, RSI Pullback, Keltner Breakout, Triple EMA) and return a ranked leaderboard.1 finding

    Why it is in this group

    • The name "compare_strategies" says "compare": a word for reading.
    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "compare_strategies" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "compare_strategies" says "compare": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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)

    Annotations the server declares

    • title: Strategy Comparison Race
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • consecutive_candles_scanScan for coins with consecutive growing/shrinking candles pattern.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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

    Annotations the server declares

    • title: Consecutive Candles Scanner
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • egx_fibonacci_retracementFibonacci retracement analysis for EGX stocks.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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)

    Annotations the server declares

    • title: EGX Fibonacci Retracement
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • egx_sector_scanScan EGX stocks by sector.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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)

    Annotations the server declares

    • title: EGX Sector Scan
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • egx_sector_scannerSector rotation scanner for EGX — identifies hot/cold sectors and top picks.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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)

    Annotations the server declares

    • title: EGX Sector Rotation Scanner
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • egx_smart_money_scannerRank EGX index constituents by smart-money accumulation evidence.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Rank EGX index constituents by smart-money accumulation evidence. Runs the full smart_money_analysis per constituent (Yahoo .CA history, bounded thread pool) and ranks by the volume-flow composite score, with the banker decomposition and oscillator state attached per row. Rows the data source can't serve are listed under `skipped`, never silently dropped. Args: index: EGX30 | EGX70 | EGX100 | SHARIAH33 | EGX35LV | TAMAYUZ limit: Max ranked rows to return (default 10, max 50) period: History window — 1mo | 3mo | 6mo | 1y | 2y (default 6mo) min_score: Only include rows with composite score >= this (0-100)

    Annotations the server declares

    • title: EGX Smart Money Scanner
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • egx_stock_screenerProduction stock ranking engine for EGX — finds strong stocks with actionable setups.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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)

    Annotations the server declares

    • title: EGX Stock Screener
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • egx_trade_planGenerate a full trade plan for a specific EGX stock.1 finding

    Why it is in this group

    • The description's first verb is "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "egx_trade_plan" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The description's first verb is "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    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)

    Annotations the server declares

    • title: EGX Trade Plan
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • financial_newsReal-time financial news via Marketaux (licensed).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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

    Annotations the server declares

    • title: Financial News Feed
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • futures_market_overviewTop futures contracts sorted by trading volume.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Futures Market Overview
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • futures_top_moversFutures contracts with the biggest percentage moves today.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Futures Top Movers
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • market_sentimentNews sentiment for stocks and crypto (licensed Marketaux entity sentiment).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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

    Annotations the server declares

    • title: Market News Sentiment
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • markets_dashboardThe user's live market board.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The user's live market board. Start here when they ask how the markets are doing in general: "how are the markets today?", "what's moving?", "market update", a morning check before the open, or "open the market dashboard". One call covers the overview: the user's own symbols on top (their watchlist, then what they asked about most in the last 30 days), then major indices (US, India, Türkiye, Indonesia, VIX), crypto, commodities and FX, each with today's change. Don't also call market_snapshot for the same overview; add other tools only for what the board doesn't show (futures, news, sectors). For a single symbol's price or analysis, use that symbol's own tool instead. Opens as an interactive dashboard; clicking a row asks for that market's chart or analysis. Clients without app support can read the `summary` field.

    Annotations the server declares

    • title: TradingMCP Markets
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • multi_agent_analysisRun a multi-agent debate (Technical, Sentiment, Risk) for a specific symbol.1 finding

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "multi_agent_analysis" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The description's first verb is "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    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, EPA (Euronext Paris), AMS, BRU, LIS, MIL, LSE, SIX, BME, XETRA, FWB, TSX, TSXV, NSE, BSE (India), IDX (Indonesia) timeframe: Time interval (5m, 15m, 1h, 4h, 1D, 1W) Returns: A structured debate between 3 AI agents culminating in a final trading decision.

    Annotations the server declares

    • title: Multi-Agent Market Debate
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • multi_timeframe_analysisMulti-timeframe alignment analysis (Weekly → Daily → 4H → 1H → 15m).1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description names a tool "get_multi_timeframe_analysis" that this server does not list.

      Matched text

      description: "...ti_timeframe_analysis` (there is no "get_multi_timeframe_analysis" tool). Use this for cross-timeframe trend..."

      What this check looks for
    Description, as the server wrote it
    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, EPA (Euronext Paris), AMS, BRU, LIS, MIL, LSE, SIX, BME, XETRA, FWB, TSX, TSXV, NSE, BSE (India), IDX (Indonesia)

    Annotations the server declares

    • title: Multi-Timeframe Analysis
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • price_chartRender an interactive candlestick chart for a symbol inside the conversation.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Render an interactive candlestick chart for a symbol inside the conversation. Accepts crypto pairs (BTCUSDT, BTC-USD), stocks (AAPL, NVDA) or any Yahoo Finance symbol. period: 1mo|3mo|6mo|1y|2y, interval: 1d|1h|15m. 15m charts show recent action only: period is limited to 1d|5d|1mo (longer values auto-adjust to 5d) and the most recent 350 bars are drawn. Set bollinger=true to overlay Bollinger Bands (SMA20 ± 2σ); the latest band values are returned in the result. Clients without interactive app support can read the `summary` field of the result.

    Annotations the server declares

    • title: Interactive Price Chart
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • rating_filterFilter coins by Bollinger Band rating.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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": ...}}``.

    Annotations the server declares

    • title: Bollinger Rating Filter
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • smart_money_analysisBanker/hot-money proxy read for one symbol from price+volume history.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Banker/hot-money proxy read for one symbol from price+volume history. Three independent families, computed from Yahoo Finance OHLCV: - mcdx_style: RSI-horizon decomposition (banker RSI50 / hot-money RSI40 / retail RSI14, each scaled 0-20) — sustained slow-horizon strength that fast horizons can't fake reads as institutional accumulation. - banker_fund_oscillator: EMA(13)-smoothed 34-bar stochastic of the weighted typical price, 0-100, with BANKER_ENTRY/EXIT states. - volume_flow_composite: CMF(20) + MFI(14) + OBV trend + up/down volume balance → 0-100 accumulation score. Plus a consensus vote across the three. These are documented, reproducible formula variants inspired by the public "banker fund" indicator family — NOT actual institutional-flow data, and not copies of any closed-source script. Args: symbol: Bare ticker — EGX: "COMI", "TMGH"; US: "AAPL"; crypto pairs work via Yahoo notation ("BTC-USD"). exchange: EGX (maps to Yahoo .CA), BIST (.IS), TADAWUL (.SR); anything else passes the symbol to Yahoo unchanged. period: 1mo | 3mo | 6mo | 1y | 2y (default 6mo) interval: 1d (default) or 1h

    Annotations the server declares

    • title: Smart Money Analysis
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • smart_volume_scannerSmart volume + technical analysis combination scanner.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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": ...}}``.

    Annotations the server declares

    • title: Smart Volume Scanner
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • stock_extended_hoursReal-time pre-market and after-hours prices for a US stock symbol.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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

    Annotations the server declares

    • title: Extended-Hours Stock Price
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • stock_options_chainFull options chain (calls + puts) for a US stock symbol and one expiry.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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

    Annotations the server declares

    • title: Options Chain
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • stock_options_unusual_activityTop strikes by volume / open-interest ratio — institutional positioning signal.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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)}

    Annotations the server declares

    • title: Unusual Options Activity
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • stock_pricesCurrent price + daily % change for specific stock symbols.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Multi-Symbol Stock Prices
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • stock_screenerScreen stocks by share type — the API twin of TradingView's "Common stock" / "Preferred stock" symbol-search filter.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • title: US Stock Screener
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • symbol_mentionsTypeahead search for @-mentions: tickers on NASDAQ, NYSE, BIST and Binance as EXCHANGE:SYMBOL references.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Typeahead search for @-mentions: tickers on NASDAQ, NYSE, BIST and Binance as EXCHANGE:SYMBOL references.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • volume_breakout_scannerDetect coins with volume breakout + price breakout.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Volume Breakout Scanner
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • volume_confirmation_analysisDetailed volume confirmation analysis for a specific coin.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Detailed volume confirmation analysis for a specific coin. Args: symbol: Coin symbol (e.g., BTCUSDT) exchange: Exchange name timeframe: Time frame for analysis

    Annotations the server declares

    • title: Volume Confirmation Analysis
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • walk_forward_backtest_strategyWalk-forward backtest to detect overfitting — validates strategy on unseen data.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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)

    Annotations the server declares

    • title: Walk-Forward Backtest
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • watchlist_addAdd symbols to the user's personal watchlist (stored server-side, follows their API key across Claude/ChatGPT/any MCP client; max 50 symbols).No findings

    Why it is in this group

    • The name "watchlist_add" says "add": a word for a change.
    Description, as the server wrote it
    Add symbols to the user's personal watchlist (stored server-side, follows their API key across Claude/ChatGPT/any MCP client; max 50 symbols). Tickers must be EXCHANGE:SYMBOL, comma-separated — e.g. 'KUCOIN:BTCUSDT, NASDAQ:NVDA, BIST:THYAO, COMEX:GC1!'. Mixing asset classes is fine — crypto, stocks, futures, FX in one list.

    Annotations the server declares

    • title: Watchlist: Add Symbols
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • yahoo_priceReal-time price quote from Yahoo Finance for any stock, crypto, ETF or index.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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

    Annotations the server declares

    • title: Real-Time Price Quote
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
Only reads 9Claude Code: allow
  • coin_analysisGet detailed analysis for a specific asset (coin or stock) on specified exchange and timeframe.1 finding

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    Findings

    • Warn

      The description names a tool "get_technical_summary" that this server does not list.

      Matched text

      description: "...e is no "get_technical_analysis" or "get_technical_summary" tool — use THIS one). Use `multi_timefra..."

      What this check looks for
    Description, as the server wrote it
    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, EPA (Euronext Paris), AMS, BRU, LIS, MIL, LSE, SIX, BME, XETRA, FWB, TSX, TSXV, NSE, BSE (India), IDX (Indonesia). 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

    Annotations the server declares

    • title: Full Technical Analysis
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • egx_index_analysisAnalyse an EGX index showing constituent performance with full indicators.No findings

    Why it is in this group

    • The description's first verb is "analyse": a word for reading.
    Description, as the server wrote it
    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)

    Annotations the server declares

    • title: EGX Index Analysis
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • egx_market_overviewGet a comprehensive overview of the Egyptian Exchange (EGX) market.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    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)

    Annotations the server declares

    • title: EGX Market Overview
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • futures_category_snapshotQuote all major front-month contracts in a specific futures category.No findings

    Why it is in this group

    • The name "futures_category_snapshot" says "snapshot": a word for reading.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • title: Futures Category Snapshot
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • futures_watchlistReturn the full categorized list of well-known front-month futures symbols.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Futures Watchlist
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • market_snapshotGlobal market overview: major indices, top crypto, FX rates, and key ETFs.No findings

    Why it is in this group

    • The name "market_snapshot" says "snapshot": a word for reading.
    Description, as the server wrote it
    Global market overview: major indices, top crypto, FX rates, and key ETFs. Powered by Yahoo Finance.

    Annotations the server declares

    • title: Global Market Snapshot
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • my_watchlistShow the user's personal watchlist.No findings

    Why it is in this group

    • The description's first verb is "show": a word for reading.
    Description, as the server wrote it
    Show the user's personal watchlist. By default also fetches live prices + daily % change for every symbol on it (one batched request). Start here whenever the user says 'my watchlist', 'my list', or 'my coins/stocks'.

    Annotations the server declares

    • title: My Watchlist
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • top_gainersReturn top gainers for an exchange and timeframe using Bollinger Band analysis.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    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, EPA (Euronext Paris), AMS, BRU, LIS, MIL, LSE, SIX, BME, XETRA, FWB, TSX, TSXV, NSE, BSE (India), IDX (Indonesia) 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.

    Annotations the server declares

    • title: Top Gainers Screener
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • top_losersReturn top losers for an exchange and timeframe.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    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": ...}}``.

    Annotations the server declares

    • title: Top Losers Screener
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.9.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http tradingview https://mcp.cryptosieve.com/mcp --header 'X-API-Key: <your-x-api-key>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__tradingview__top_gainers",
      "mcp__tradingview__top_losers",
      "mcp__tradingview__coin_analysis",
      "mcp__tradingview__egx_market_overview",
      "mcp__tradingview__egx_index_analysis",
      "mcp__tradingview__market_snapshot",
      "mcp__tradingview__futures_category_snapshot",
      "mcp__tradingview__futures_watchlist",
      "mcp__tradingview__my_watchlist"
    ],
    "ask": [
      "mcp__tradingview__price_chart",
      "mcp__tradingview__backtest_chart",
      "mcp__tradingview__markets_dashboard",
      "mcp__tradingview__symbol_mentions",
      "mcp__tradingview__bollinger_scan",
      "mcp__tradingview__rating_filter",
      "mcp__tradingview__consecutive_candles_scan",
      "mcp__tradingview__advanced_candle_pattern",
      "mcp__tradingview__volume_breakout_scanner",
      "mcp__tradingview__volume_confirmation_analysis",
      "mcp__tradingview__smart_volume_scanner",
      "mcp__tradingview__multi_agent_analysis",
      "mcp__tradingview__egx_sector_scan",
      "mcp__tradingview__egx_sector_scanner",
      "mcp__tradingview__egx_stock_screener",
      "mcp__tradingview__egx_trade_plan",
      "mcp__tradingview__egx_fibonacci_retracement",
      "mcp__tradingview__smart_money_analysis",
      "mcp__tradingview__egx_smart_money_scanner",
      "mcp__tradingview__multi_timeframe_analysis",
      "mcp__tradingview__market_sentiment",
      "mcp__tradingview__financial_news",
      "mcp__tradingview__combined_analysis",
      "mcp__tradingview__backtest_strategy",
      "mcp__tradingview__compare_strategies",
      "mcp__tradingview__walk_forward_backtest_strategy",
      "mcp__tradingview__yahoo_price",
      "mcp__tradingview__bitcoin_market_pulse",
      "mcp__tradingview__stock_extended_hours",
      "mcp__tradingview__stock_options_chain",
      "mcp__tradingview__stock_options_unusual_activity",
      "mcp__tradingview__futures_market_overview",
      "mcp__tradingview__futures_top_movers",
      "mcp__tradingview__stock_screener",
      "mcp__tradingview__stock_prices",
      "mcp__tradingview__watchlist_add"
    ],
    "deny": [
      "mcp__tradingview__watchlist_remove"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as tradingview. Review it before you use it.