0.8.1pypi · tradingview-mcp-server · current release
Observed 2026-08-24T22:32:13.129Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.
{
"experimental": {},
"prompts": {
"listChanged": false
},
"resources": {
"subscribe": false,
"listChanged": false
},
"tools": {
"listChanged": false
}
}| Tool | Category | Annotations | Risk |
|---|---|---|---|
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 | — |
List available exchanges from the coinlist directory.
{
"resource_key": "exchanges://list",
"uri": "exchanges://list",
"name": "exchanges_list",
"description": "List available exchanges from the coinlist directory.",
"mime_type": "text/plain",
"annotations": null,
"metadata_hash": "9b9314ce0e025107eb42871f1b94bfbe56c20947b433f5f2a8059d8bc6f03837"
}