← tradingview-mcp

tradingview-mcp 0.8.1

pypi · tradingview-mcp-server · current release

37
Tools
1
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-24T22:32:13.129Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.

Server capabilities
{
  "experimental": {},
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  },
  "tools": {
    "listChanged": false
  }
}

Tools 37

ToolCategoryAnnotationsRisk
advanced_candle_patternAdvanced 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
Input schema
{
  "properties": {
    "exchange": {
      "default": "KUCOIN",
      "title": "Exchange",
      "type": "string"
    },
    "base_timeframe": {
      "default": "15m",
      "title": "Base Timeframe",
      "type": "string"
    },
    "pattern_length": {
      "default": 3,
      "title": "Pattern Length",
      "type": "integer"
    },
    "min_size_increase": {
      "default": 10,
      "title": "Min Size Increase",
      "type": "number"
    },
    "limit": {
      "default": 15,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "advanced_candle_patternArguments",
  "type": "object"
}
Annotations
{
  "title": "Candlestick Pattern Analysis",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
backtest_strategyBacktest 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)
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "strategy": {
      "title": "Strategy",
      "type": "string"
    },
    "period": {
      "default": "1y",
      "title": "Period",
      "type": "string"
    },
    "initial_capital": {
      "default": 10000,
      "title": "Initial Capital",
      "type": "number"
    },
    "commission_pct": {
      "default": 0.1,
      "title": "Commission Pct",
      "type": "number"
    },
    "slippage_pct": {
      "default": 0.05,
      "title": "Slippage Pct",
      "type": "number"
    },
    "interval": {
      "default": "1d",
      "title": "Interval",
      "type": "string"
    },
    "include_trade_log": {
      "default": false,
      "title": "Include Trade Log",
      "type": "boolean"
    },
    "include_equity_curve": {
      "default": false,
      "title": "Include Equity Curve",
      "type": "boolean"
    }
  },
  "required": [
    "symbol",
    "strategy"
  ],
  "title": "backtest_strategyArguments",
  "type": "object"
}
Annotations
{
  "title": "Strategy Backtest",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
bitcoin_market_pulseSingle-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
Input schema
{
  "properties": {},
  "title": "bitcoin_market_pulseArguments",
  "type": "object"
}
Annotations
{
  "title": "Bitcoin Market Pulse",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
bollinger_scanScan 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": ...}}``.
Input schema
{
  "properties": {
    "exchange": {
      "default": "KUCOIN",
      "title": "Exchange",
      "type": "string"
    },
    "timeframe": {
      "default": "4h",
      "title": "Timeframe",
      "type": "string"
    },
    "bbw_threshold": {
      "default": 0.04,
      "title": "Bbw Threshold",
      "type": "number"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "bollinger_scanArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "additionalProperties": true,
          "type": "object"
        }
      ],
      "title": "Result"
    }
  },
  "required": [
    "result"
  ],
  "title": "bollinger_scanOutput",
  "type": "object"
}
Annotations
{
  "title": "Bollinger Squeeze Scanner",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
coin_analysisGet 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
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "exchange": {
      "default": "KUCOIN",
      "title": "Exchange",
      "type": "string"
    },
    "timeframe": {
      "default": "15m",
      "title": "Timeframe",
      "type": "string"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "coin_analysisArguments",
  "type": "object"
}
Annotations
{
  "title": "Full Technical Analysis",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
combined_analysisPOWER 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)
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "exchange": {
      "default": "NASDAQ",
      "title": "Exchange",
      "type": "string"
    },
    "timeframe": {
      "default": "1D",
      "title": "Timeframe",
      "type": "string"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "combined_analysisArguments",
  "type": "object"
}
Annotations
{
  "title": "Combined TA + Sentiment + News",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
compare_strategiesRun 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)
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "period": {
      "default": "1y",
      "title": "Period",
      "type": "string"
    },
    "initial_capital": {
      "default": 10000,
      "title": "Initial Capital",
      "type": "number"
    },
    "interval": {
      "default": "1d",
      "title": "Interval",
      "type": "string"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "compare_strategiesArguments",
  "type": "object"
}
Annotations
{
  "title": "Strategy Comparison Race",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
consecutive_candles_scanScan 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
Input schema
{
  "properties": {
    "exchange": {
      "default": "KUCOIN",
      "title": "Exchange",
      "type": "string"
    },
    "timeframe": {
      "default": "15m",
      "title": "Timeframe",
      "type": "string"
    },
    "pattern_type": {
      "default": "bullish",
      "title": "Pattern Type",
      "type": "string"
    },
    "candle_count": {
      "default": 3,
      "title": "Candle Count",
      "type": "integer"
    },
    "min_growth": {
      "default": 2,
      "title": "Min Growth",
      "type": "number"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "consecutive_candles_scanArguments",
  "type": "object"
}
Annotations
{
  "title": "Consecutive Candles Scanner",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
egx_fibonacci_retracementFibonacci 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)
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "lookback": {
      "default": "52W",
      "title": "Lookback",
      "type": "string"
    },
    "timeframe": {
      "default": "1D",
      "title": "Timeframe",
      "type": "string"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "egx_fibonacci_retracementArguments",
  "type": "object"
}
Annotations
{
  "title": "EGX Fibonacci Retracement",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
egx_index_analysisAnalyse 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)
Input schema
{
  "properties": {
    "index": {
      "default": "EGX30",
      "title": "Index",
      "type": "string"
    },
    "timeframe": {
      "default": "1D",
      "title": "Timeframe",
      "type": "string"
    },
    "limit": {
      "default": 30,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "egx_index_analysisArguments",
  "type": "object"
}
Annotations
{
  "title": "EGX Index Analysis",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
egx_market_overviewGet 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)
Input schema
{
  "properties": {
    "timeframe": {
      "default": "1D",
      "title": "Timeframe",
      "type": "string"
    },
    "limit": {
      "default": 10,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "egx_market_overviewArguments",
  "type": "object"
}
Annotations
{
  "title": "EGX Market Overview",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
egx_sector_scanScan 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)
Input schema
{
  "properties": {
    "sector": {
      "default": "",
      "title": "Sector",
      "type": "string"
    },
    "timeframe": {
      "default": "1D",
      "title": "Timeframe",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "egx_sector_scanArguments",
  "type": "object"
}
Annotations
{
  "title": "EGX Sector Scan",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
egx_sector_scannerSector 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)
Input schema
{
  "properties": {
    "timeframe": {
      "default": "1D",
      "title": "Timeframe",
      "type": "string"
    },
    "top_n_sectors": {
      "default": 5,
      "title": "Top N Sectors",
      "type": "integer"
    },
    "top_n_stocks": {
      "default": 3,
      "title": "Top N Stocks",
      "type": "integer"
    },
    "min_stock_score": {
      "default": 60,
      "title": "Min Stock Score",
      "type": "integer"
    }
  },
  "title": "egx_sector_scannerArguments",
  "type": "object"
}
Annotations
{
  "title": "EGX Sector Rotation Scanner",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
egx_stock_screenerProduction 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)
Input schema
{
  "properties": {
    "timeframe": {
      "default": "1D",
      "title": "Timeframe",
      "type": "string"
    },
    "min_score": {
      "default": 55,
      "title": "Min Score",
      "type": "integer"
    },
    "index_filter": {
      "default": "",
      "title": "Index Filter",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "egx_stock_screenerArguments",
  "type": "object"
}
Annotations
{
  "title": "EGX Stock Screener",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
egx_trade_planGenerate 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)
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "timeframe": {
      "default": "1D",
      "title": "Timeframe",
      "type": "string"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "egx_trade_planArguments",
  "type": "object"
}
Annotations
{
  "title": "EGX Trade Plan",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
financial_newsReal-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
Input schema
{
  "properties": {
    "symbol": {
      "default": null,
      "title": "Symbol",
      "type": "string"
    },
    "category": {
      "default": "stocks",
      "title": "Category",
      "type": "string"
    },
    "limit": {
      "default": 10,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "financial_newsArguments",
  "type": "object"
}
Annotations
{
  "title": "Financial News Feed",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
futures_category_snapshotQuote 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).
Input schema
{
  "properties": {
    "category": {
      "default": "energy",
      "title": "Category",
      "type": "string"
    }
  },
  "title": "futures_category_snapshotArguments",
  "type": "object"
}
Annotations
{
  "title": "Futures Category Snapshot",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
futures_market_overviewTop 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.
Input schema
{
  "properties": {
    "category": {
      "default": "all",
      "title": "Category",
      "type": "string"
    },
    "exchanges": {
      "default": "us",
      "title": "Exchanges",
      "type": "string"
    },
    "limit": {
      "default": 30,
      "title": "Limit",
      "type": "integer"
    },
    "volume_min": {
      "default": 0,
      "title": "Volume Min",
      "type": "integer"
    }
  },
  "title": "futures_market_overviewArguments",
  "type": "object"
}
Annotations
{
  "title": "Futures Market Overview",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
futures_top_moversFutures 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.
Input schema
{
  "properties": {
    "direction": {
      "default": "gainers",
      "title": "Direction",
      "type": "string"
    },
    "exchanges": {
      "default": "us",
      "title": "Exchanges",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    },
    "volume_min": {
      "default": 10,
      "title": "Volume Min",
      "type": "integer"
    }
  },
  "title": "futures_top_moversArguments",
  "type": "object"
}
Annotations
{
  "title": "Futures Top Movers",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
futures_watchlistReturn 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.
Input schema
{
  "properties": {},
  "title": "futures_watchlistArguments",
  "type": "object"
}
Annotations
{
  "title": "Futures Watchlist",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
market_sentimentNews 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
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "category": {
      "default": "all",
      "title": "Category",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "market_sentimentArguments",
  "type": "object"
}
Annotations
{
  "title": "Market News Sentiment",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
market_snapshotGlobal market overview: major indices, top crypto, FX rates, and key ETFs. Powered by Yahoo Finance.
Input schema
{
  "properties": {},
  "title": "market_snapshotArguments",
  "type": "object"
}
Annotations
{
  "title": "Global Market Snapshot",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
multi_agent_analysisRun 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.
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "exchange": {
      "default": "KUCOIN",
      "title": "Exchange",
      "type": "string"
    },
    "timeframe": {
      "default": "15m",
      "title": "Timeframe",
      "type": "string"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "multi_agent_analysisArguments",
  "type": "object"
}
Annotations
{
  "title": "Multi-Agent Market Debate",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
multi_timeframe_analysisMulti-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
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "exchange": {
      "default": "KUCOIN",
      "title": "Exchange",
      "type": "string"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "multi_timeframe_analysisArguments",
  "type": "object"
}
Annotations
{
  "title": "Multi-Timeframe Analysis",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
rating_filterFilter 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": ...}}``.
Input schema
{
  "properties": {
    "exchange": {
      "default": "KUCOIN",
      "title": "Exchange",
      "type": "string"
    },
    "timeframe": {
      "default": "5m",
      "title": "Timeframe",
      "type": "string"
    },
    "rating": {
      "default": 2,
      "title": "Rating",
      "type": "integer"
    },
    "limit": {
      "default": 25,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "rating_filterArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "additionalProperties": true,
          "type": "object"
        }
      ],
      "title": "Result"
    }
  },
  "required": [
    "result"
  ],
  "title": "rating_filterOutput",
  "type": "object"
}
Annotations
{
  "title": "Bollinger Rating Filter",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
smart_volume_scannerSmart 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": ...}}``.
Input schema
{
  "properties": {
    "exchange": {
      "default": "KUCOIN",
      "title": "Exchange",
      "type": "string"
    },
    "min_volume_ratio": {
      "default": 2,
      "title": "Min Volume Ratio",
      "type": "number"
    },
    "min_price_change": {
      "default": 2,
      "title": "Min Price Change",
      "type": "number"
    },
    "rsi_range": {
      "default": "any",
      "title": "Rsi Range",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "smart_volume_scannerArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "additionalProperties": true,
          "type": "object"
        }
      ],
      "title": "Result"
    }
  },
  "required": [
    "result"
  ],
  "title": "smart_volume_scannerOutput",
  "type": "object"
}
Annotations
{
  "title": "Smart Volume Scanner",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
stock_extended_hoursReal-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
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "stock_extended_hoursArguments",
  "type": "object"
}
Annotations
{
  "title": "Extended-Hours Stock Price",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
stock_options_chainFull 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
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "expiry": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expiry"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "stock_options_chainArguments",
  "type": "object"
}
Annotations
{
  "title": "Options Chain",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
stock_options_unusual_activityTop 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)}
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "top_n": {
      "default": 10,
      "title": "Top N",
      "type": "integer"
    },
    "min_volume": {
      "default": 100,
      "title": "Min Volume",
      "type": "integer"
    },
    "expiries": {
      "default": 4,
      "title": "Expiries",
      "type": "integer"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "stock_options_unusual_activityArguments",
  "type": "object"
}
Annotations
{
  "title": "Unusual Options Activity",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
stock_pricesCurrent 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.
Input schema
{
  "properties": {
    "tickers": {
      "title": "Tickers",
      "type": "string"
    }
  },
  "required": [
    "tickers"
  ],
  "title": "stock_pricesArguments",
  "type": "object"
}
Annotations
{
  "title": "Multi-Symbol Stock Prices",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
stock_screenerScreen 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).
Input schema
{
  "properties": {
    "country": {
      "default": "america",
      "title": "Country",
      "type": "string"
    },
    "stock_type": {
      "default": "common",
      "title": "Stock Type",
      "type": "string"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    },
    "exclude_otc": {
      "default": true,
      "title": "Exclude Otc",
      "type": "boolean"
    },
    "compact": {
      "default": false,
      "title": "Compact",
      "type": "boolean"
    },
    "sort_by": {
      "default": "market_cap",
      "title": "Sort By",
      "type": "string"
    }
  },
  "title": "stock_screenerArguments",
  "type": "object"
}
Annotations
{
  "title": "US Stock Screener",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
top_gainersReturn 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.
Input schema
{
  "properties": {
    "exchange": {
      "default": "KUCOIN",
      "title": "Exchange",
      "type": "string"
    },
    "timeframe": {
      "default": "15m",
      "title": "Timeframe",
      "type": "string"
    },
    "limit": {
      "default": 25,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "top_gainersArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "additionalProperties": true,
          "type": "object"
        }
      ],
      "title": "Result"
    }
  },
  "required": [
    "result"
  ],
  "title": "top_gainersOutput",
  "type": "object"
}
Annotations
{
  "title": "Top Gainers Screener",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
top_losersReturn 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": ...}}``.
Input schema
{
  "properties": {
    "exchange": {
      "default": "KUCOIN",
      "title": "Exchange",
      "type": "string"
    },
    "timeframe": {
      "default": "15m",
      "title": "Timeframe",
      "type": "string"
    },
    "limit": {
      "default": 25,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "top_losersArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "additionalProperties": true,
          "type": "object"
        }
      ],
      "title": "Result"
    }
  },
  "required": [
    "result"
  ],
  "title": "top_losersOutput",
  "type": "object"
}
Annotations
{
  "title": "Top Losers Screener",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
volume_breakout_scannerDetect 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.
Input schema
{
  "properties": {
    "exchange": {
      "default": "KUCOIN",
      "title": "Exchange",
      "type": "string"
    },
    "timeframe": {
      "default": "15m",
      "title": "Timeframe",
      "type": "string"
    },
    "volume_multiplier": {
      "default": 2,
      "title": "Volume Multiplier",
      "type": "number"
    },
    "price_change_min": {
      "default": 3,
      "title": "Price Change Min",
      "type": "number"
    },
    "limit": {
      "default": 25,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "volume_breakout_scannerArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "additionalProperties": true,
          "type": "object"
        }
      ],
      "title": "Result"
    }
  },
  "required": [
    "result"
  ],
  "title": "volume_breakout_scannerOutput",
  "type": "object"
}
Annotations
{
  "title": "Volume Breakout Scanner",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
volume_confirmation_analysisDetailed volume confirmation analysis for a specific coin. Args: symbol: Coin symbol (e.g., BTCUSDT) exchange: Exchange name timeframe: Time frame for analysis
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "exchange": {
      "default": "KUCOIN",
      "title": "Exchange",
      "type": "string"
    },
    "timeframe": {
      "default": "15m",
      "title": "Timeframe",
      "type": "string"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "volume_confirmation_analysisArguments",
  "type": "object"
}
Annotations
{
  "title": "Volume Confirmation Analysis",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
walk_forward_backtest_strategyWalk-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)
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "strategy": {
      "title": "Strategy",
      "type": "string"
    },
    "period": {
      "default": "2y",
      "title": "Period",
      "type": "string"
    },
    "initial_capital": {
      "default": 10000,
      "title": "Initial Capital",
      "type": "number"
    },
    "commission_pct": {
      "default": 0.1,
      "title": "Commission Pct",
      "type": "number"
    },
    "slippage_pct": {
      "default": 0.05,
      "title": "Slippage Pct",
      "type": "number"
    },
    "n_splits": {
      "default": 3,
      "title": "N Splits",
      "type": "integer"
    },
    "train_ratio": {
      "default": 0.7,
      "title": "Train Ratio",
      "type": "number"
    },
    "interval": {
      "default": "1d",
      "title": "Interval",
      "type": "string"
    }
  },
  "required": [
    "symbol",
    "strategy"
  ],
  "title": "walk_forward_backtest_strategyArguments",
  "type": "object"
}
Annotations
{
  "title": "Walk-Forward Backtest",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive
yahoo_priceReal-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
Input schema
{
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    }
  },
  "required": [
    "symbol"
  ],
  "title": "yahoo_priceArguments",
  "type": "object"
}
Annotations
{
  "title": "Real-Time Price Quote",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read only · Non-destructive

Resources 1

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.