tradingview-mcp
Fetches top crypto gainers and market data from Binance exchange for analysis and screening.
Fetches top crypto gainers and market data from KuCoin exchange for analysis and screening.
Provides live sentiment analysis by fetching and processing Reddit discussions related to financial assets.
Provides real-time market data, technical indicators (RSI, MACD, etc.), screeners, backtesting, multi-timeframe analysis, and market sentiment for stocks, crypto, forex, and futures across global exchanges.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tradingview-mcp Show today's top crypto gainers on Binance"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TradingView MCP Market Data & Technical Analysis for AI Assistants
TradingView MCP server — real-time market data, technical indicators, screeners, and backtesting for Claude, ChatGPT, Cursor, Copilot, and any MCP client. Stocks, crypto, forex & futures across global exchanges. Backtesting + live sentiment + Yahoo Finance + 37 technical-analysis tools — the most complete TradingView MCP toolkit, all in one server.
Paste one URL (or pip install), then just ask. Real output, straight from the live server:
Try these first — they work in Claude, ChatGPT, Cursor, or any MCP client:
Show today's top crypto gainers on Binance
Run a full technical analysis of NVDA
What's the multi-timeframe read on gold?
Backtest an RSI strategy on BTC on the daily timeframeIndependent open-source project —not affiliated with, endorsed by, or associated with TradingView Inc. "TradingView" is a trademark of its respective owner; this project consumes third-party market data and is not a TradingView product.
Does it need — or risk — your TradingView account? No. This server does not log into, scrape, or automate a TradingView session, and it requires no TradingView account or API key. Market data is fetched server-side from public endpoints, so there is no account of yours in the loop and no browser/UI automation. (This is different from MCP servers that drive the TradingView Desktop app via Chrome DevTools.) You are responsible for ensuring your own use complies with the terms of any data source you point it at.
Not financial advice. Nothing produced by this software is investment, financial, legal, tax, or accounting advice. tradingview-mcp is an informational and educational analysis tool. Its outputs, including indicators, scores, signals, "trade setups", entries, stop losses, and targets, are computed from third party market data and are not recommendations to buy, sell, or hold any asset. It does not execute trades, manage money, or guarantee any result. Trading and investing carry a substantial risk of loss, and you can lose some or all of your capital. Always do your own research and consult a licensed professional before making any financial decision. You are solely responsible for your own decisions and for complying with the laws and regulations that apply to you. Market data may be delayed, inaccurate, or incomplete, and is provided without warranty.
Prefer zero setup? Use the hosted version. pro.cryptosieve.com serves all 37 tools as one connector URL for Claude.ai, ChatGPT, Copilot, and Cursor — no uv, pandas, or Python to wrangle. From $9/mo (Pro) or $29/mo (Pro+ — higher limits), with a 3-day free trial. Self-hosting stays free forever; hosted is just for folks who'd rather skip the ops. (Full self-host vs hosted comparison in Quick Start below.)
⭐ If this tool improves your workflow, please star the repo and consider sponsoring — it keeps the project alive and growing!
🎥 Framework Demo
Related MCP server: J-SQUAD TradingView MCP Combined
🆕 What's New
Stability & Strategy Expansion (May 2026)
Async hot-path tools — 7 high-traffic tools (
yahoo_price,stock_extended_hours,top_gainers,volume_breakout_scanner,multi_timeframe_analysis,financial_news,combined_analysis) converted toasync def. FastMCP runs sync tools serialized on the event loop — async unlocks real intra-server parallelism so concurrent tool calls actually overlap.combined_analysisadditionally fans its 3 sub-calls out viaasyncio.gatherfor ~3× wall-clock improvement on the power tool.yahoo_price/stock_extended_hoursusehttpx.AsyncClientfor true non-blocking I/O; sync-library tools (tradingview_ta,tradingview-screener,feedparser) are off-loaded viaasyncio.to_thread. (PR — open)9 backtest strategies (up from 6) — added
rsi_pullback,keltner_breakout, andtriple_ema, covering trend-pullback, ATR-normalized breakout, and SMA200-filtered EMA cross edges.compare_strategiesnow ranks the full 9.Resilience layer — automatic retry + 60-second TTL cache on the TradingView screener provider, eliminating transient
"Expecting value"errors oncombined_analysisandmulti_timeframe_analysis. (PR #32 — merged)Financial news service rebuild — replaces deprecated Reuters RSS endpoints with Yahoo Finance, MarketWatch, and CNBC. Fixes the long-standing
count: 0bug onfinancial_news. (PR #33 — merged)TA throttle — caps concurrent
tradingview_tacalls (default 4) + min 0.8s spacing between starts. Prevents parallel bursts ofcombined_analysis/multi_timeframe_analysisfrom hitting TradingView's empty-body rate-limit cliff. Tunable via env vars. (PR #34 — merged)Walk-forward backtesting (
walk_forward_backtest_strategy) — train/test split with overfitting verdict (ROBUST / MODERATE / WEAK / OVERFITTED).Hourly (1h) timeframe support across
backtest_strategy,compare_strategies, andwalk_forward_backtest_strategy.Full trade log + equity curve outputs (
include_trade_log=True,include_equity_curve=True).
🏗️ Architecture

✨ Why tradingview-mcp?
Feature |
| Traditional Setups | Bloomberg Terminal |
Setup Time | 5 minutes | Hours (Docker, Conda...) | Weeks (Contracts) |
Cost | Free & Open Source | Variable | $30k+/year |
Backtesting | ✅ 9 strategies + Walk-forward + Sharpe | ❌ Manual scripting | ✅ Proprietary |
Live Sentiment | ✅ Reddit + RSS news | ❌ Separate setup | ✅ Terminal |
Market Data | ✅ Live / Real-Time | Historical / Delayed | Live |
API Keys | None required | Multiple (OpenAI, etc.) | N/A |
🚀 Quick Start (5 Minutes)
Two ways to run it — the same 37 tools either way:
🧑💻 Self-host (this repo) | ☁️ Hosted — pro.cryptosieve.com | |
Price | Free forever (MIT) | $9/mo Pro · $29/mo Pro+ · 3-day trial |
Time to first call | ~5 minutes (Python + | ~60 seconds (paste one URL) |
Updates & ops | You run and update it | Managed — always on the latest |
Runs on | Your machine or VPS | Hosted, streamed from the edge |
Limits | Your hardware | 2,500/mo · 60/min (Pro) → 10,000/mo · 150/min (Pro+) |
Best for | Tinkerers, forkers, full control | Folks who'd rather skip the ops |
☁️ Zero setup: paste one connector URL into Claude.ai, ChatGPT, Copilot, or Cursor → start a 3-day free trial. Everything below is for self-hosting.
Install via pip
pip install tradingview-mcp-serverOptional: news & sentiment (free Marketaux key)
financial_news and market_sentiment (plus the news/sentiment parts of
combined_analysis) are powered by Marketaux —
licensed market news with per-entity sentiment. Grab a free API key
(100 requests/day; the server caches for 4h and shares one fetch between news
and sentiment, so the free tier goes a long way) and set:
export MARKETAUX_API_TOKEN=your_token_here # optionalWithout a token those two tools return a friendly "not configured" note — all other tools work normally.
Claude Desktop Config (claude_desktop_config.json)
Note: On macOS, GUI apps like Claude Desktop may not have
~/.local/binin their PATH. Use the full path touvxto avoid "command not found" errors.
{
"mcpServers": {
"tradingview": {
"command": "/Users/YOUR_USERNAME/.local/bin/uvx",
"args": ["--from", "tradingview-mcp-server", "tradingview-mcp"]
}
}
}On Linux, replace /Users/YOUR_USERNAME with /home/YOUR_USERNAME. On Windows, use %USERPROFILE%\.local\bin\uvx.exe.
Codex Plugin Config
This repository also includes mcp-only Codex plugin metadata:
.codex-plugin/plugin.json.codex-mcp.json
The plugin uses the same PyPI package entrypoint:
{
"mcpServers": {
"tradingview": {
"command": "uvx",
"args": ["--from", "tradingview-mcp-server", "tradingview-mcp"]
}
}
}After installing or enabling the Codex plugin, restart Codex so the MCP server is loaded in the next session. Depending on your Codex version, codex mcp list may show registered MCP servers, but tool availability should be verified in a fresh Codex session.
Or run from source
git clone https://github.com/atilaahmettaner/tradingview-mcp
cd tradingview-mcp
uv run tradingview-mcp🛠️ Troubleshooting
🪟 Windows: MCP error -32001: Request timed out on first launch
Symptom — you see this in the Claude Desktop logs shortly after adding the config:
[tradingview] Server started and connected successfully
[tradingview] Message from client: initialize ...
[60 seconds later]
[tradingview] notifications/cancelled — reason: "MCP error -32001: Request timed out"Why it happens: Python 3.14 is not supported yet. uvx downloads tradingview-mcp-server, creates a fresh virtualenv, and installs dependencies the first time it runs. Some native dependencies in the MCP stack do not currently publish compatible Python 3.14 wheels, so installation can fall back to source builds or fail before Claude Desktop finishes initializing the server.
Fix — pin to Python 3.13 (has prebuilt pandas wheels):
{
"mcpServers": {
"tradingview": {
"command": "uvx",
"args": ["--python", "3.13", "--from", "tradingview-mcp-server", "tradingview-mcp"]
}
}
}On macOS use the full path to uvx (see the note in Quick Start). On Windows uvx is typically %USERPROFILE%\.local\bin\uvx.exe.
Alternative — pre-install once, then let Claude Desktop reuse the cache:
# Run in a terminal before launching Claude Desktop
uv tool install --python 3.13 tradingview-mcp-serverAfter the install finishes, start Claude Desktop with the normal config and the server will come up instantly (cache is already warm).
⚠️ Error Envelope Format
Tools that have adopted the structured error format return either their normal payload or an error envelope:
{"error": {"code": "ALL_BATCHES_FAILED", "message": "All 5 batches failed; first error: JSONDecodeError(...)", "batches_attempted": 5, "batches_failed": 5, "first_error": "...", "retryable": true}}Why: the previous [] / {"error": "Analysis failed: ..."} strings made it impossible to distinguish "no matches today" from "upstream rate-limit cliff." The new envelope is programmatically branchable by code, and retryable tells the caller whether waiting and retrying can help (upstream storms pass; a missing dependency won't fix itself).
Full coverage (every failure mode — upstream outage, empty symbol list, missing dependency, unexpected exception — returns an envelope, never a raw string/traceback): top_gainers, top_losers, bollinger_scan, rating_filter, volume_breakout_scanner, smart_volume_scanner.
Partial adoption (main error paths return envelopes): coin_analysis, volume_confirmation_analysis, consecutive_candles_scan, futures_market_overview, futures_top_movers, stock_prices, and the backtest input guards. Remaining tools migrate in batches — tracked in #76.
Detecting an error:
result = volume_breakout_scanner(exchange="KUCOIN")
if isinstance(result, dict) and "error" in result:
code = result["error"]["code"]
if result["error"].get("retryable"):
# Wait + retry, raise alert, fall back to single-batch call, etc.
...
else:
for row in result:
...Stable codes are defined in core/errors.py.
📱 Use via Telegram, WhatsApp & More (OpenClaw)
Connect this server to Telegram, WhatsApp, Discord and 20+ messaging platforms using OpenClaw — a self-hosted AI gateway. Tested & verified on Hetzner VPS (Ubuntu 24.04).
How It Works
OpenClaw routes Telegram messages to an AI agent. The agent uses
trading.py— a thin Python wrapper — to calltradingview-mcpfunctions and return formatted results. No MCP protocol needed between OpenClaw and the server; it's a direct Python import.
Telegram → OpenClaw agent (AI model) → trading.py (bash) → tradingview-mcp → Yahoo FinanceQuick Setup
# 1. Install UV and tradingview-mcp
curl -LsSf https://astral.sh/uv/install.sh | sh && source ~/.bashrc
uv tool install tradingview-mcp-server
# 2. Configure OpenClaw channels
cat > ~/.openclaw/openclaw.json << 'EOF'
{
channels: {
telegram: {
botToken: "YOUR_BOT_TOKEN_HERE",
},
},
}
EOF
# 3. Configure gateway + agent
openclaw config set gateway.mode local
openclaw config set acp.defaultAgent main
# 4. Set your AI model (choose ONE option below)
openclaw configure --section model
# 5. Install the skill + tool wrapper
mkdir -p ~/.agents/skills/tradingview-mcp ~/.openclaw/tools
curl -fsSL https://raw.githubusercontent.com/atilaahmettaner/tradingview-mcp/main/openclaw/SKILL.md \
-o ~/.agents/skills/tradingview-mcp/SKILL.md
curl -fsSL https://raw.githubusercontent.com/atilaahmettaner/tradingview-mcp/main/openclaw/trading.py \
-o ~/.openclaw/tools/trading.py && chmod +x ~/.openclaw/tools/trading.py
# 6. Start the gateway
openclaw gateway install
systemctl --user start openclaw-gateway.serviceChoose Your AI Model
OpenRouter is not required — use whichever provider you have a key for:
Provider | Model ID for OpenClaw | Get Key |
OpenRouter (aggregator — access to all models) |
| |
Anthropic (Claude direct) |
| |
Google (Gemini direct) |
| |
OpenAI (GPT direct) |
|
# Examples — set your chosen model:
openclaw config set agents.defaults.model "openrouter/google/gemini-3-flash-preview" # via OpenRouter
openclaw config set agents.defaults.model "anthropic/claude-sonnet-4-5" # Anthropic direct
openclaw config set agents.defaults.model "google/gemini-2.5-flash" # Google direct⚠️ Important: Prefix must match your provider.
google/...needs a Google API key.openrouter/...needs an OpenRouter key.
⚠️ Common Mistakes
Symptom | Cause | Fix |
|
| Remove from config, use bash wrapper |
| Used | Use |
|
|
|
Gateway won't start |
|
|
Test Your Bot
Once running, send your Telegram bot:
market snapshot
backtest RSI strategy for AAPL, 1 year
compare all strategies for BTC-USDUnlike basic screeners, this framework deploys specialized AI agents that debate findings in real-time:
🛠️ Technical Analyst — Bollinger Bands (±3 proprietary rating), RSI, MACD
🌊 Sentiment & Momentum Analyst — Reddit community sentiment + price momentum
🛡️ Risk Manager — Volatility, drawdown risk, mean-reversion signals
Output: STRONG BUY / BUY / HOLD / SELL / STRONG SELL with confidence score
🔧 All 37 MCP Tools
📊 Backtesting Engine
Tool | Description |
| Backtest 1 of 9 strategies with institutional metrics (Sharpe, Calmar, Expectancy). Supports |
| Run all 9 strategies on the same symbol and rank by performance. |
| Train/test split walk-forward validation with overfitting verdict (ROBUST / MODERATE / WEAK / OVERFITTED). |
9 Strategies to Test:
rsi— RSI oversold/overbought mean reversionbollinger— Bollinger Band mean reversionmacd— MACD golden/death crossema_cross— EMA 20/50 Golden/Death Crosssupertrend— ATR-based Supertrend trend following 🔥donchian— Donchian Channel breakout (Turtle Trader style)rsi_pullback— Dip-buy in confirmed uptrend (SMA50>SMA200 + RSI<40 entry) 🆕keltner_breakout— ATR-normalized breakout (EMA20 + 2·ATR upper band) 🆕triple_ema— EMA 20/50 cross gated by SMA200 trend filter 🆕
🆕 strategies require
period='1y'or'2y'so the SMA200 trend filter can complete its warmup.
Metrics you get: Win Rate, Total Return, Sharpe Ratio, Calmar Ratio, Max Drawdown, Profit Factor, Expectancy, Best/Worst Trade, vs Buy-and-Hold, with realistic commission + slippage simulation.
Example prompt: "Compare all 9 strategies on MSFT for 2 years"
→ #1 triple_ema: +15.1% | Sharpe: 0.0 | WR: 100%
→ #2 keltner_breakout: +14.3% | Sharpe: 4.7 | WR: 40%
→ #3 bollinger: +12.2% | Sharpe: 4.1 | WR: 64%
→ Buy & Hold: -2.1%💰 Yahoo Finance — Real-Time Prices (New in v0.6.0)
Tool | Description |
| Real-time quote: price, change %, 52w high/low, market state |
| Global overview: S&P500, NASDAQ, VIX, BTC, ETH, EUR/USD, SPY, GLD |
Supports: Stocks (AAPL, TSLA, NVDA), Crypto (BTC-USD, ETH-USD, SOL-USD), ETFs (SPY, QQQ, GLD), Indices (^GSPC, ^DJI, ^IXIC, ^VIX), FX (EURUSD=X), Turkish (THYAO.IS, SASA.IS)
🌍 Global Stock Screener — Common & Preferred Shares
Tool | Description |
| List common or preferred stocks for any TradingView country market (america, korea, germany, brazil, …) with price, currency, % change, dividend yield — ranked by market cap. The API twin of TradingView's "Common stock" / "Preferred stock" symbol-search filter. |
| Direct price lookup for specific symbols (comma-separated |
🧠 AI Sentiment & Intelligence
Tool | Description |
| Reddit sentiment across finance communities (bullish/bearish score, top posts) |
| Live RSS headlines from Yahoo Finance, MarketWatch, CNBC, CoinDesk, CoinTelegraph |
| Power Tool: TradingView technicals + Reddit sentiment + live news → confluence decision. Now backed by retry + 60s cache for resilience against transient screener errors. |
📈 Technical Analysis Core
Tool | Description |
| Full TA: RSI, MACD, Bollinger, 23 indicators with BUY/SELL/HOLD |
| Bulk TA for multiple symbols at once |
| Proprietary ±3 BB rating system |
| 3-layer decision engine (ranking + trade setup + quality score) |
| Multi-exchange screener with 20+ filter criteria |
| Scan by signal type (oversold, trending, breakout...) |
| 15 candlestick pattern detector |
| Weekly→Daily→4H→1H→15m alignment analysis |
🌍 Multi-Exchange Support
Exchange | Tools |
Binance | Crypto screener, all pairs |
KuCoin / Bybit+ | Crypto screener |
NASDAQ / NYSE | US stocks (AAPL, TSLA, NVDA...) |
EGX (Egypt) |
|
Turkish (BIST) | Via TradingView screener |
💬 Example AI Conversations
You: "Give me a full market snapshot right now"
AI: [market_snapshot] → S&P500 -3.4%, BTC +0.1%, VIX 31 (+13%), EUR/USD 1.15
You: "What is Reddit saying about NVDA?"
AI: [market_sentiment] → Strongly Bullish (0.41) | 23 posts | 18 bullish
You: "Backtest RSI strategy on BTC-USD for 2 years"
AI: [backtest_strategy] → +31.5% return | 100% win rate | 2 trades | B&H: -5%
You: "Which of the 9 strategies worked best on MSFT in the last 2 years?"
AI: [compare_strategies] → triple_ema #1 (+15.1%, WR 100%), keltner_breakout #2 (+14.3%), macd last (-23.4%)
You: "Run walk-forward backtest on supertrend for SPY"
AI: [walk_forward_backtest_strategy] → Verdict: ROBUST (avg robustness 0.92) | OOS return +8.5%
You: "Analyze TSLA with all signals: technical + sentiment + news"
AI: [combined_analysis] → BUY (Technical STRONG BUY + Bullish Reddit + Positive news)💖 Support the Project
This framework is free and open source, built in spare time. If it saves you hours of research or helps you make better decisions, please consider sponsoring:
Tier | Monthly | What You Get |
☕ Coffee | $5 | Heartfelt gratitude + name in README |
🚀 Supporter | $15 | Above + priority bug fixes |
💎 Pro | $30 | Above + priority feature requests |
Every sponsor directly funds new features like Walk-Forward Backtesting, Twitter/X sentiment, and managed cloud hosting.
📋 Roadmap
TradingView technical analysis (30+ indicators)
Multi-exchange screener (Binance, KuCoin, MEXC, EGX, US stocks)
Reddit sentiment analysis
Live financial news (Yahoo / MarketWatch / CNBC / CoinDesk / CoinTelegraph)
Yahoo Finance real-time prices
Backtesting engine (9 strategies + Sharpe / Calmar / Expectancy)
Walk-forward backtesting (overfitting detection)
Resilience layer (retry + TTL cache) on screener provider
Hourly (1h) backtesting timeframe
Twitter/X market sentiment
Paper trading simulation
Managed cloud hosting (no local setup)
📄 License
MIT License — see LICENSE for details.
Disclaimer: This tool is for educational and research purposes only. It does not constitute financial advice. Always do your own research before making investment decisions.
Available Tools
44 toolsadvanced_candle_patternBRead-only
Advanced candle pattern analysis using multi-timeframe data.
Args: exchange: Exchange name (BINANCE, KUCOIN, etc.) base_timeframe: Base timeframe for analysis (5m, 15m, 1h, 4h) pattern_length: Number of consecutive periods to analyse (2-4) min_size_increase: Minimum percentage increase in candle size limit: Maximum number of results to return
Inputs: limit, exchange, base_timeframe, pattern_length, +1 more.
backtest_strategyARead-only
Backtest a trading strategy on historical data with institutional-grade metrics.
Args: symbol: Yahoo Finance symbol (AAPL, BTC-USD, THYAO.IS, ^GSPC) strategy: rsi | bollinger | macd | ema_cross | supertrend | donchian | rsi_pullback | keltner_breakout | triple_ema (rsi_pullback and triple_ema need period >= '1y' for SMA200 warmup) period: '1mo', '3mo', '6mo', '1y', '2y' initial_capital: Starting capital in USD (default $10,000) commission_pct: Per-trade commission % (default 0.1%) slippage_pct: Per-trade slippage % (default 0.05%) interval: '1d' (daily) or '1h' (hourly) include_trade_log: Include full per-trade log (default False) include_equity_curve: Include equity curve data points (default False)
Inputs: symbol (required), strategy (required), period, interval, +5 more.
bitcoin_market_pulseARead-only
Single-call BTC macro context: price, dominance, total market cap + risk assessment.
Use this WHENEVER analyzing any cryptocurrency (altcoin or BTC itself) to get the broader market frame in one shot. A SOL/ETH/whatever setup looks very different when BTC is dumping with rising dominance vs. when alts are leading. Calling this once gives Claude the macro context to provide Bitcoin-aware commentary alongside the per-coin analysis - without chaining 2-3 separate yahoo_price + manual reasoning calls.
Returns:
bitcoin: price, 24h change %, volume, market cap
dominance: BTC and ETH market-cap share of total crypto
total_market: total crypto mcap + 24h change + active coin count
assessment: label (HIGH_RISK / ALT_RISK / ALT_FAVORABLE / OPPORTUNITY_WITH_CAUTION / NEUTRAL) + 1-paragraph reasoning
Inputs: no named parameters.
bollinger_scanARead-only
Scan for assets with low Bollinger Band Width (squeeze detection). Works with crypto and stocks.
This scans a whole EXCHANGE for squeezes (canonical name is exactly
bollinger_scan; there is no "get_bollinger_band_analysis" tool). For
the Bollinger read of ONE symbol, call coin_analysis instead.
Example: bollinger_scan(exchange="BINANCE", timeframe="15m", bbw_threshold=0.008)
Args: exchange: Exchange — crypto: KUCOIN, BINANCE, BYBIT, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, BURSA, HKEX, SSE, SZSE, TWSE, TPEX timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M. Typical squeeze thresholds: 15m→0.008, 1h→0.02, 4h→0.04, 1D→0.12 bbw_threshold: Maximum BBW value to filter (default 0.04) limit: Number of rows to return (max 100)
Returns list[dict] on success. On ANY failure returns a structured
error envelope {"error": {"code": ..., "retryable": ...}}.
Inputs: limit, exchange, timeframe, bbw_threshold. Returns: result
bracket_backtestARead-only
Backtest scalp/day/swing strategies (long AND short) on Binance 1m-1d klines.
Unlike backtest_strategy (Yahoo, 1h/1d, long-only), this simulates real execution: ATR-bracket exits (stop / take-profit / time-stop) checked intrabar against high/low, conservative stop-first fills, and per-side fee + slippage so the round-trip cost hurdle is explicit.
Args: symbol: Binance pair, e.g. BTCUSDT, ETHUSDT, SOLUSDT strategy: squeeze_breakout (Bollinger squeeze → band-break entry) | ema_momentum (EMA 9/21 cross gated by EMA200 side) interval: 1m | 3m | 5m | 15m | 30m | 1h | 4h | 1d (candle size) days: History window, 1-730. Suggested: 5m→14, 15m→30, 1h→90-365, 4h→365-730, 1d→730. (Capped at 30k candles total.) direction: both | long | short rr: Reward:risk ratio for the take-profit bracket (default 1.5) atr_mult: Stop distance in ATR(14) multiples (default 1.0) max_hold_bars: Time-stop — force exit after this many bars (default 60) fee_pct: Fee % per side (default 0.05 = Binance USDT-M futures taker; use 0.02 for maker, 0.1 for spot taker) slippage_pct: Slippage % per side (default 0.02) initial_capital: Starting capital in USD (default $10,000) include_trade_log: Include every trade with direction/exit_reason (default False) regime_filter: Gate signals by higher-timeframe trend — longs only in anchor uptrend, shorts only in downtrend, flat in chop regime_anchor: Symbol whose trend gates trades (default BTCUSDT — the market leader; "self" = the traded pair itself) regime_interval: Anchor timeframe for the regime read (default 4h)
Inputs: symbol (required), rr, days, fee_pct, +11 more.
bracket_sweepARead-only
Grid-search bracket parameters (rr × atr_mult) with a stability verdict.
Runs every combination on the same Binance data (candles and signals are computed once) and checks whether the best cell's NEIGHBORS are also profitable — a profitable cell surrounded by losers is noise, not edge. Verdicts: STABLE_CANDIDATE | FRAGILE | NO_EDGE.
Args: symbol: Binance pair, e.g. BTCUSDT strategy: squeeze_breakout | ema_momentum interval: 1m | 3m | 5m | 15m | 30m | 1h | 4h | 1d days: History window, 1-730 (default 180) direction: both | long | short rr_values: Reward:risk grid values (default [1.0, 1.5, 2.0, 3.0], max 8) atr_mult_values: Stop-distance grid in ATR multiples (default [1.0, 1.5, 2.0, 3.0]) max_hold_bars: Time-stop in bars (default 60) fee_pct: Fee % per side (default 0.05) slippage_pct: Slippage % per side (default 0.02) regime_filter: Gate signals by anchor trend (see bracket_backtest) regime_anchor: Anchor symbol (default BTCUSDT; "self" = traded pair) regime_interval: Anchor timeframe (default 4h)
Inputs: symbol (required), days, fee_pct, interval, +9 more.
bracket_walk_forwardARead-only
True walk-forward optimization — THE gate a strategy must pass before paper trading.
Splits history into sequential folds. In each fold the best (rr, atr_mult) is picked on the train window, then applied ONLY to the unseen test window; positions are force-closed at segment boundaries so nothing leaks. The aggregated out-of-sample result is the honest estimate of live behaviour. Verdicts: PASSED | MIXED | OVERFIT | NO_EDGE, plus parameter-stability (do folds keep choosing the same parameters?).
Args: symbol: Binance pair, e.g. BTCUSDT strategy: squeeze_breakout | ema_momentum interval: 1m | 3m | 5m | 15m | 30m | 1h | 4h | 1d days: History window, 1-730 (default 365; use ≥180 for 1h) direction: both | long | short n_splits: Number of sequential folds, 2-10 (default 4) train_ratio: Train fraction per fold, 0.5-0.9 (default 0.7) rr_values: Reward:risk grid (default [1.0, 1.5, 2.0, 3.0], max 8) atr_mult_values: Stop-distance grid in ATR multiples (default [1.0, 1.5, 2.0, 3.0]) min_trades: Minimum train trades for a combo to be eligible (default 5) max_hold_bars: Time-stop in bars (default 60) fee_pct: Fee % per side (default 0.05) slippage_pct: Slippage % per side (default 0.02) regime_filter: Gate signals by anchor trend (see bracket_backtest) regime_anchor: Anchor symbol (default BTCUSDT; "self" = traded pair) regime_interval: Anchor timeframe (default 4h)
Inputs: symbol (required), days, fee_pct, interval, +12 more.
coin_analysisARead-only
Get detailed analysis for a specific asset (coin or stock) on specified exchange and timeframe.
This is the canonical single-symbol technical readout (there is no
"get_technical_analysis" or "get_technical_summary" tool — use THIS one).
Use multi_timeframe_analysis instead when you need trend alignment
across several timeframes, and combined_analysis when you also want
news sentiment + headlines in the same call.
Example: coin_analysis(symbol="BTCUSDT", exchange="BINANCE", timeframe="1h")
Args:
symbol: Bare ticker, no exchange prefix — crypto: "BTCUSDT", "ETHUSDT"; stocks: "COMI" (EGX), "THYAO" (BIST), "600519" (SSE), "300251" (SZSE), "2330" (TWSE), "3105" (TPEX)
exchange: Exchange — crypto: KUCOIN, BINANCE, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, BURSA, HKEX, SSE, SZSE, TWSE, TPEX. If the symbol isn't listed there, the error's listed_on field names exchanges that do list it.
timeframe: Time interval (5m, 15m, 1h, 4h, 1D, 1W, 1M)
Returns: Detailed analysis with all indicators and metrics
Inputs: symbol (required), exchange, timeframe.
combined_analysisARead-only
POWER TOOL: TradingView technical analysis + news sentiment + financial news.
Use this when you want TA AND sentiment AND news for one symbol in a
single call. For indicators only, coin_analysis is faster; for
cross-timeframe trend alignment use multi_timeframe_analysis.
Example: combined_analysis(symbol="NVDA", exchange="NASDAQ", timeframe="1D")
Args: symbol: Bare ticker, no exchange prefix ("AAPL", "BTCUSDT", "THYAO", "GDX") exchange: Exchange (NASDAQ, NYSE, AMEX, NYSEARCA, PCX, BINANCE, KUCOIN, MEXC, BIST, EGX, TWSE, TPEX) timeframe: Analysis timeframe (5m, 15m, 1h, 4h, 1D, 1W)
Inputs: symbol (required), exchange, timeframe.
compare_strategiesARead-only
Run all 9 strategies (RSI, Bollinger, MACD, EMA Cross, Supertrend, Donchian, RSI Pullback, Keltner Breakout, Triple EMA) and return a ranked leaderboard.
Args: symbol: Yahoo Finance symbol (AAPL, BTC-USD, SPY…) period: '1mo', '3mo', '6mo', '1y', '2y' (period >= '1y' recommended so rsi_pullback and triple_ema can complete SMA200 warmup; otherwise they contribute zero trades) initial_capital: Starting capital in USD (default $10,000) interval: '1d' (daily) or '1h' (hourly)
Inputs: symbol (required), period, interval, initial_capital.
consecutive_candles_scanBRead-only
Scan for coins with consecutive growing/shrinking candles pattern.
Args: exchange: Exchange name (BINANCE, KUCOIN, etc.) timeframe: Time interval (5m, 15m, 1h, 4h) pattern_type: "bullish" (growing candles) or "bearish" (shrinking candles) candle_count: Number of consecutive candles to check (2-5) min_growth: Minimum growth percentage for each candle limit: Maximum number of results to return
Inputs: limit, exchange, timeframe, min_growth, +2 more.
egx_fibonacci_retracementARead-only
Fibonacci retracement analysis for EGX stocks.
Args: symbol: EGX stock symbol (e.g., "COMI", "TMGH", "FWRY") lookback: Period for swing high/low — "1M", "3M", "6M", "52W", "ALL" (default 52W) timeframe: Analysis timeframe (5m, 15m, 1h, 4h, 1D, 1W, 1M — default 1D)
Inputs: symbol (required), lookback, timeframe.
egx_index_analysisARead-only
Analyse an EGX index showing constituent performance with full indicators.
Args: index: EGX30, EGX70, EGX100, SHARIAH33, EGX35LV, TAMAYUZ timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M (default 1D) limit: Number of stocks to show in detail (max 100)
Inputs: index, limit, timeframe.
egx_market_overviewBRead-only
Get a comprehensive overview of the Egyptian Exchange (EGX) market.
Args: timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M (default 1D for stocks) limit: Number of stocks per category (max 20)
Inputs: limit, timeframe.
egx_sector_scanARead-only
Scan EGX stocks by sector. Shows available sectors if none specified.
Args: sector: Sector name (banks, healthcare_and_pharma, real_estate, etc.) Leave empty to list all sectors. timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M limit: Max results per sector (max 50)
Inputs: limit, sector, timeframe.
egx_sector_scannerARead-only
Sector rotation scanner for EGX — identifies hot/cold sectors and top picks.
Args: timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M (default 1D) top_n_sectors: Number of top sectors to show stock picks for (1-18, default 5) top_n_stocks: Number of top stocks per highlighted sector (1-10, default 3) min_stock_score: Minimum stock score for picks (0-100, default 60)
Inputs: timeframe, top_n_stocks, top_n_sectors, min_stock_score.
egx_stock_screenerARead-only
Production stock ranking engine for EGX — finds strong stocks with actionable setups.
Args: timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M (default 1D) min_score: Minimum stock score to include (0-100, default 55) index_filter: Filter by index — EGX30, EGX70, EGX100, SHARIAH33, EGX35LV, TAMAYUZ limit: Number of results (max 50)
Inputs: limit, min_score, timeframe, index_filter.
egx_trade_planARead-only
Generate a full trade plan for a specific EGX stock.
Args: symbol: EGX stock symbol (e.g., "COMI", "TMGH", "FWRY") timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M (default 1D)
Inputs: symbol (required), timeframe.
financial_newsBRead-only
Real-time financial news via Marketaux (licensed).
Args: symbol: Optional symbol filter ("AAPL", "BTC"). None = all news. category: News category ("crypto", "stocks", "all") limit: Max number of news items
Inputs: limit, symbol, category.
futures_category_snapshotBRead-only
Quote all major front-month contracts in a specific futures category.
Args: category: equity_index | energy | metals | agriculture | rates | forex | crypto_futures
Returns: OHLCV quotes for the standard watchlist of contracts in that category. Example symbols: ES1! NQ1! (equity_index), CL1! NG1! (energy), GC1! SI1! (metals).
Inputs: category.
futures_market_overviewARead-only
Top futures contracts sorted by trading volume.
Args: category: all | equity_index | energy | metals | agriculture | rates | forex | crypto_futures exchanges: us (CME, COMEX, NYMEX, CBOT) | global (adds ICE, EUREX) limit: max contracts to return (default 30) volume_min: minimum volume filter (0 = no filter)
Returns: Dict with total_available count and list of contracts with OHLCV + % change.
Inputs: limit, category, exchanges, volume_min.
futures_top_moversARead-only
Futures contracts with the biggest percentage moves today.
Args: direction: gainers | losers exchanges: us | global limit: max results volume_min: minimum volume filter (default 10, filters illiquid contracts)
Returns: List of futures ranked by % change with OHLCV data.
Inputs: limit, direction, exchanges, volume_min.
futures_watchlistARead-only
Return the full categorized list of well-known front-month futures symbols.
Categories: equity_index, energy, metals, agriculture, rates, forex, crypto_futures. Use these symbols with futures_category_snapshot or coin_analysis for deeper analysis.
Inputs: no named parameters.
market_regimeARead-only
Current market regime (trend up/down/chop + volatility) for an anchor symbol.
The same classification that regime_filter applies bar-by-bar inside the bracket backtests: EMA50/EMA200 ratio with a dead-band for trend, ATR% vs its own past median for volatility. Reports which trade directions the gate currently allows, recent regime transitions, and a 30-bar trend histogram.
Args: symbol: Binance pair to classify (default BTCUSDT — the market leader) interval: Timeframe for the regime read (default 4h) days: History window, 1-730 (default 180; needs enough for EMA200 warmup)
Inputs: days, symbol, interval.
market_sentimentARead-only
News sentiment for stocks and crypto (licensed Marketaux entity sentiment).
Args: symbol: Asset symbol ("AAPL", "BTC", "ETH", "TSLA") category: News group to search ("crypto", "stocks", "all") limit: Max articles to analyse
Inputs: symbol (required), limit, category.
market_snapshotBRead-only
Global market overview: major indices, top crypto, FX rates, and key ETFs. Powered by Yahoo Finance.
Inputs: no named parameters.
multi_agent_analysisARead-only
Run a multi-agent debate (Technical, Sentiment, Risk) for a specific symbol.
Args: symbol: Symbol — crypto: "BTCUSDT"; stocks: "COMI" (EGX), "THYAO" (BIST), "600519" (SSE), "300251" (SZSE), "2330" (TWSE), "3105" (TPEX), "GDX" (AMEX) exchange: Exchange — crypto: KUCOIN, BINANCE, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, AMEX, NYSEARCA, PCX, SSE, SZSE, TWSE, TPEX timeframe: Time interval (5m, 15m, 1h, 4h, 1D, 1W)
Returns: A structured debate between 3 AI agents culminating in a final trading decision.
Inputs: symbol (required), exchange, timeframe.
multi_timeframe_analysisARead-only
Multi-timeframe alignment analysis (Weekly → Daily → 4H → 1H → 15m).
Canonical name is exactly multi_timeframe_analysis (there is no
"get_multi_timeframe_analysis" tool). Use this for cross-timeframe trend
alignment on ONE symbol; for a single-timeframe deep dive use
coin_analysis; for TA + sentiment + news use combined_analysis.
Example: multi_timeframe_analysis(symbol="SOLUSDT", exchange="BINANCE")
Args: symbol: Bare ticker, no exchange prefix — crypto: "BTCUSDT"; stocks: "COMI" (EGX), "THYAO" (BIST), "600519" (SSE), "300251" (SZSE), "2330" (TWSE), "3105" (TPEX), "GDX" (AMEX) exchange: Exchange — crypto: KUCOIN, BINANCE, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, AMEX, NYSEARCA, PCX, SSE, SZSE, TWSE, TPEX
Inputs: symbol (required), exchange.
paper_resetADestructive
Create or wipe the paper-trading account (fake money, real Binance data).
Defaults to the two walk-forward-validated strategies: BTC squeeze-breakout 1h (ungated) and ETH squeeze-breakout 1h (regime-gated by BTC 4h trend). Refuses to overwrite an existing account unless confirm=true.
Args: confirm: Required true to wipe an existing account initial_capital: Starting fake capital in USD (default $10,000) risk_pct_per_trade: % of capital risked per trade via ATR sizing (default 1.0) daily_loss_halt_pct: Realized daily loss % that halts new entries until the next UTC day (default 3.0) max_drawdown_kill_pct: Drawdown from peak that freezes the account until manual reset (default 15.0) fee_pct: Fee % per side (default 0.05) slippage_pct: Slippage % per side (default 0.02) strategies: Optional custom strategy list; each item needs id, symbol, strategy, interval, and may set direction, rr, atr_mult, max_hold_bars, regime_filter, regime_anchor, regime_interval
Inputs: confirm, fee_pct, strategies, slippage_pct, +4 more.
paper_statusARead-only
Paper-trading account report: capital, PnL, drawdown, risk-rule state, per-strategy win rates, open positions, and the last 10 trades.
Inputs: no named parameters.
paper_stepA
Advance the paper trader one tick against live Binance data.
Processes every candle that CLOSED since the last step (safe to call any time; catches up after downtime; ignores the in-progress candle). Manages open positions with the same stop-first bracket semantics as the backtester, then takes new entries if a signal fired and the regime gate, daily-loss halt, and kill switch all allow. Returns the events that happened this tick plus the account snapshot.
Call this hourly (the strategies run on 1h candles) — or run the daemon:
python -m tradingview_mcp.core.services.paper_trader_service --loop 3600
Inputs: no named parameters.
rating_filterARead-only
Filter coins by Bollinger Band rating.
Args: exchange: Exchange name like KUCOIN, BINANCE, BYBIT, MEXC, etc. timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M rating: BB rating (-3 to +3): -3=Strong Sell, -2=Sell, -1=Weak Sell, 1=Weak Buy, 2=Buy, 3=Strong Buy limit: Number of rows to return (max 50)
Returns list[dict] on success. On ANY failure returns a structured
error envelope {"error": {"code": ..., "retryable": ...}}.
Inputs: limit, rating, exchange, timeframe. Returns: result
smart_volume_scannerARead-only
Smart volume + technical analysis combination scanner.
Args: exchange: Exchange name min_volume_ratio: Minimum volume multiplier (default 2.0) min_price_change: Minimum price change percentage (default 2.0) rsi_range: "oversold" (<30), "overbought" (>70), "neutral" (30-70), "any" limit: Number of results (max 30)
Returns list[dict] on success. On ANY failure returns a structured
error envelope {"error": {"code": ..., "retryable": ...}}.
Inputs: limit, exchange, rsi_range, min_price_change, +1 more. Returns: result
stock_extended_hoursARead-only
Real-time pre-market and after-hours prices for a US stock symbol.
Use this when the user asks about a stock outside the regular 9:30am-4pm ET session — earnings reactions, overnight news, "what is X doing in after-hours?", "how did Y open in pre-market?". Returns the most recent valid print from each session window (pre-market, regular, post-market) along with computed % changes vs. the previous close and the regular close, respectively.
During the regular session, post_market will be null (no data yet). On weekends/holidays, returns whatever's most recent in each window.
Args: symbol: US stock symbol — AAPL, NVDA, TSLA, SPY, ^GSPC, etc.
Returns: - pre_market: {price, as_of_utc, change_vs_previous_close_pct} or null - regular: {price, as_of_utc, change_pct} (consolidated tape close) - post_market: {price, as_of_utc, change_vs_regular_close_pct} or null - previous_close, currency, exchange, market_state for context
Inputs: symbol (required).
stock_options_chainARead-only
Full options chain (calls + puts) for a US stock symbol and one expiry.
Use this when the user asks "what's the options chain for X?", "show me AAPL puts expiring next Friday", or wants to inspect bid/ask/IV/volume on a specific strike. If no expiry is provided, returns the nearest expiry so Claude can quote it back and ask "want a different one?".
Args:
symbol: US stock symbol — AAPL, NVDA, TSLA, SPY, etc.
expiry: Optional ISO date (YYYY-MM-DD). Must match one of the
available_expiries Yahoo returns; otherwise returns an error
with the list of valid dates.
Returns: - underlying_price, underlying_change_pct - requested_expiry, available_expiries (list of YYYY-MM-DD) - call_count, put_count - calls: list of {strike, last_price, bid, ask, volume, open_interest, implied_volatility, in_the_money, expiration} - puts: same shape as calls
Inputs: symbol (required), expiry.
stock_options_unusual_activityARead-only
Top strikes by volume / open-interest ratio — institutional positioning signal.
Use this when the user asks "any unusual options activity on X?", "where is the smart money positioned on NVDA before earnings?", or wants a V/OI screener for a ticker. A V/OI ratio > 1 means today's volume already exceeds standing open interest, which classically flags fresh institutional positioning on a specific strike in a specific direction (call vs put).
Scans the soonest few expirations, filters out illiquid strikes (under
min_volume), and returns the top-N sorted by V/OI descending. Also
returns aggregate call vs put volume so Claude can comment on the
overall directional bias.
Args: symbol: US stock symbol — AAPL, NVDA, TSLA, SPY, META, etc. top_n: How many strikes to return. Default 10. min_volume: Filter floor for today's volume — prevents noise from illiquid strikes with high V/OI ratios. Default 100. expiries: Number of soonest expirations to scan. Default 4 (typically covers ~1 month of weeklies + monthlies).
Returns: - underlying_price - expiries_scanned (list of YYYY-MM-DD) - total_call_volume, total_put_volume, put_call_volume_ratio - unusual: list of top-N contracts sorted by V/OI desc, each with {strike, side (call|put), expiration, volume, open_interest, v_oi_ratio, last_price, implied_volatility, in_the_money, strike_vs_spot_pct (moneyness)}
Inputs: symbol (required), top_n, expiries, min_volume.
stock_pricesARead-only
Current price + daily % change for specific stock symbols.
Args: tickers: comma-separated EXCHANGE:SYMBOL list (max 2000 — one upstream request even at full size), e.g. "NASDAQ:NVDA, NASDAQ:TSLA, KRX:005930". The exchange prefix is required — the scanner's direct-ticker lookup is exchange-scoped.
Returns: Envelope dict: rows of {ticker, symbol, description, exchange, price, open, high, low, currency, change_percent} plus a not_found list naming any requested ticker the scanner didn't recognize.
Inputs: tickers (required).
stock_screenerARead-only
Screen stocks by share type — the API twin of TradingView's "Common stock" / "Preferred stock" symbol-search filter.
Args: country: TradingView market name — e.g. america, korea, germany, brazil, japan, uk, india, turkey, canada, australia, france, hongkong stock_type: common | preferred limit: rows to return (max 2000, single upstream request), ranked by market cap descending exclude_otc: default True — drop OTC listings (foreign companies traded over-the-counter); "america" otherwise means "US venue", not "US company" compact: default False — True returns only ticker/symbol/price/currency/ change_percent per row (light payload for bulk price feeds) sort_by: market_cap (default) | dividend_yield | change | price — server-side descending sort over the WHOLE market, so e.g. sort_by=dividend_yield with limit=20 is the market's true top-20 dividend payers, not just the biggest companies re-sorted
Returns: Envelope dict: total_matches (market-wide count), returned, and rows of {ticker, symbol, description, exchange, price, open, high, low, currency, change_percent, dividend_yield, market_cap} — price is the current/last close; open/high/low are the current session's daily bar. Prices are in the market's local currency (e.g. KRW for korea).
Inputs: limit, compact, country, sort_by, +2 more.
top_gainersARead-only
Return top gainers for an exchange and timeframe using Bollinger Band analysis.
Args: exchange: Exchange name — crypto: KUCOIN, BINANCE, BYBIT, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, BURSA, HKEX, SSE, SZSE, TWSE, TPEX timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M limit: Number of rows to return (max 50)
Returns:
list[dict] on success. On ANY failure returns a structured error
envelope {"error": {"code": ..., "retryable": ...}} — never a
raw exception string.
Inputs: limit, exchange, timeframe. Returns: result
top_losersARead-only
Return top losers for an exchange and timeframe. Supports crypto (KUCOIN, BINANCE, MEXC) and stocks (EGX, BIST, NASDAQ).
Returns list[dict] on success. On ANY failure returns a structured
error envelope {"error": {"code": ..., "retryable": ...}}.
Inputs: limit, exchange, timeframe. Returns: result
volume_breakout_scannerARead-only
Detect coins with volume breakout + price breakout.
Args: exchange: Exchange name like KUCOIN, BINANCE, BYBIT, MEXC, etc. timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M volume_multiplier: How many times the volume should be above normal level (default 2.0) price_change_min: Minimum price change percentage (default 3.0) limit: Number of rows to return (max 50)
Returns list[dict] on success, or an error envelope on total upstream
failure ({"error": {"code": "ALL_BATCHES_FAILED", ...}}). The empty
list now strictly means "no matches today"; rate-limit cliffs surface
explicitly.
Inputs: limit, exchange, timeframe, price_change_min, +1 more. Returns: result
volume_confirmation_analysisBRead-only
Detailed volume confirmation analysis for a specific coin.
Args: symbol: Coin symbol (e.g., BTCUSDT) exchange: Exchange name timeframe: Time frame for analysis
Inputs: symbol (required), exchange, timeframe.
walk_forward_backtest_strategyARead-only
Walk-forward backtest to detect overfitting — validates strategy on unseen data.
Args: symbol: Yahoo Finance symbol (AAPL, BTC-USD, SPY…) strategy: rsi | bollinger | macd | ema_cross | supertrend | donchian | keltner_breakout (rsi_pullback and triple_ema not supported here — SMA200 warmup exceeds typical fold size; use run_backtest with period='2y') period: '1mo', '3mo', '6mo', '1y', '2y' (recommend '2y') initial_capital: Starting capital per fold in USD (default $10,000) commission_pct: Per-trade commission % (default 0.1%) slippage_pct: Per-trade slippage % (default 0.05%) n_splits: Number of walk-forward folds (default 3, max 10) train_ratio: Fraction of each fold used for training (default 0.7) interval: '1d' (daily) or '1h' (hourly)
Inputs: symbol (required), strategy (required), period, interval, +5 more.
yahoo_priceARead-only
Real-time price quote from Yahoo Finance for any stock, crypto, ETF or index.
Args: symbol: Yahoo Finance symbol — e.g. AAPL, BTC-USD, SPY, ^GSPC, EURUSD=X, THYAO.IS
Inputs: symbol (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 44 tools
Several tools have overlapping purposes, such as the volume scanners (volume_breakout_scanner, volume_confirmation_analysis, smart_volume_scanner), the EGX sector tools (egx_sector_scan, egx_sector_scanner), and the multiple backtesting tools. While descriptions attempt to differentiate, an agent could easily miscategorize or select the wrong tool.
The naming convention is predominantly snake_case, which is consistent. However, minor inconsistencies exist, such as 'egx_sector_scan' vs 'egx_sector_scanner' and varying suffixes like 'analysis', 'scanner', 'scan', which slightly reduces clarity.
With 44 tools, the server is overpopulated. Many tools could be consolidated (e.g., volume scanners into one parameterized tool, backtests into a unified interface). The high count suggests a lack of modularization, making the surface area difficult to navigate.
The server covers a broad spectrum: EGX-specific tools, general scanners, individual analysis, multi-timeframe, sentiment, news, combined analysis, backtesting, paper trading, market regime, crypto, stocks, futures, and options. Minor gaps (e.g., fundamental data, advanced order types) exist, but overall the domain is well-covered.
Maintenance
Related MCP Connectors
> TradingMCP puts a market analyst inside your AI assistant. Paste one URL into Claude, ChatGPT, Cursor, VS Code or any MCP client and ask in plain language: screen for breakouts, run a multi-timeframe analysis, backtest a strategy with walk-forward validation, scan for smart-money and volume signals, or get a one-prompt morning market brief. In clients that support MCP Apps, price charts and the Markets panel are drawn right in the chat. > 40+ tools covering crypto (real-time), stocks, ETFs, FX, futures and commodities across major global exchanges. > Hosted, nothing to install: Pro $9/month (2,500 tool calls) or Pro+ $29/month (10,000). Paid upfront with a 14-day money-back guarantee; your API key arrives right after checkout. > Built on the open-source tradingview-mcp core (MIT, ~5k GitHub stars): self-host it free, or use the hosted version with zero ops. > For research and education, not financial advice. Not affiliated with TradingView
Financial data MCP server for Claude, ChatGPT, Cursor and Codex. Real-time stock quotes, financial statements, options flow, SEC filings, insider trades, 13F holdings, macro data and market news from gloom.sh, the open-source Bloomberg Terminal alternative.
Trading MCP server for AI agents, with live market data, account reads and controlled execution.
Official Intrinio MCP server. US stock prices, options and fundamentals for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceExposes TradingView technical indicators and OHLCV data through MCP tools for Claude Desktop or any MCP-aware client.26-
- FlicenseNot gradedqualityBmaintenanceA comprehensive MCP server that integrates TradingView Desktop automation, screener API, Yahoo Finance, IDX/BEI tools, backtesting, news sentiment, trade math, and market sessions. It enables traders to perform technical analysis, backtest strategies, manage positions, and automate TradingView tasks through natural language.-
- FlicenseNot gradedqualityCmaintenanceA Model Context Protocol (MCP) server that lets AI assistants interact with TradingView for real-time quotes, historical OHLCV data, screener, alerts, watchlists, news, chart layouts, Pine scripts, and more. Connect it to Claude Desktop, Cursor, or any MCP-compatible client to control TradingView via natural language.89 npm6-
- AlicenseAqualityCmaintenanceMCP server for TradingView's market screener API, enabling stock, forex, crypto, and ETF screening, technical analysis, and investor workflows via Claude or CLI.12260 npm52MIT