Install tradingview-mcp-server from PyPI
Install exact version 0.8.1. The executable name has not been verified, so it is intentionally not guessed.
python -m pip install 'tradingview-mcp-server==0.8.1'AI-powered trading toolkit with backtesting, live sentiment, Yahoo Finance data, and 30+ technical analysis tools, integrated as an MCP server for Claude and other AI clients
Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.
Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.
Install exact version 0.8.1. The executable name has not been verified, so it is intentionally not guessed.
python -m pip install 'tradingview-mcp-server==0.8.1'| Canonical slug | tradingview-mcp-6619f3e7 | Deployment | Local Only |
|---|---|---|---|
| Canonical package | pypi:tradingview-mcp-server | Repository | atilaahmettaner/tradingview-mcp |
| First published | Jul 29, 2026 | Latest release | Aug 24, 2026 |
| Last security verification | — | Classification confidence | 90% |
| Publication | Draft | Official distribution | Not verified |
| Channel | Identifier | Current version | Versions | Source |
|---|---|---|---|---|
| pypi | tradingview-mcp-server | 0.8.1 | 2 | Repository |
| Package | Version | Published / observed | Inventory | Security scan |
|---|---|---|---|---|
| pypitradingview-mcp-server | 0.8.1Current | Aug 24, 2026 | 37 toolsSucceeded · 1 resources · 0 prompts | Evidence restricted |
Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.
No public current-version evidence is available yet.
| 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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
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 onlyNon-destructiveOpen world | — |
exchanges://listList available exchanges from the coinlist directory.
| Endpoint | Transport | Authentication | Health | Observed |
|---|---|---|---|---|
| No verified remote endpoint is linked. | ||||
Install the selected package version with: python -m pip install 'tradingview-mcp-server==0.8.1'
tradingview-mcp Server exposed 37 tools during independent protocol observation, including advanced_candle_pattern, backtest_strategy, bitcoin_market_pulse, bollinger_scan, coin_analysis, combined_analysis, compare_strategies, consecutive_candles_scan, and others.
The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.
Curated product and capability guides containing this catalog record.