tradingview-mcp-india
This server provides comprehensive trading analysis, screening, market intelligence, and AI-assisted trade ideas with a strong focus on the Indian stock market (NSE/BSE), alongside global crypto, stocks, and Egyptian (EGX) markets.
Market Scanning & Screening
top_gainers/top_losers— Top-performing or worst-performing assets on any supported exchange (NSE, BSE, NASDAQ, BINANCE, etc.) for a given timeframebollinger_scan— Detect Bollinger Band squeezes (low BBW) across exchangesrating_filter— Filter assets by Bollinger Band rating (-3 to +3 scale)volume_breakout_scanner— Find assets with simultaneous volume and price breakoutssmart_volume_scanner— Combine volume surges with RSI conditionsconsecutive_candles_scan/advanced_candle_pattern— Detect bullish/bearish candle patterns across timeframes
Technical Analysis
coin_analysis— Deep-dive technical analysis (all indicators) for any symbol/exchangemulti_agent_analysis— Three-agent AI debate (Technical, Sentiment, Risk) culminating in a trade decisionmulti_timeframe_analysis— Trend alignment across Weekly → Daily → 4H → 1H → 15mvolume_confirmation_analysis— Detailed volume confirmation for a specific asset
🇮🇳 India-Specific Tools (NSE/BSE)
india_swing_picks— AI-generated 2–7 day swing trade ideas with entry, stop-loss, two targets, conviction score, and optional position sizing; filterable by Nifty 50, Bank Nifty, Nifty Next 50india_intraday_signals— Same-session intraday trade ideas (15m, VWAP-aware)india_trade_plan— Full trade plan for a single Indian stock (swing or intraday, long/short/auto)india_backtest— Validate an NSE/BSE stock against 6 strategies as a robustness leaderboardindia_news— Indian financial news (Economic Times, Moneycontrol, LiveMint, Hindu BusinessLine) with optional symbol filter
🇪🇬 Egypt (EGX) Specific Tools
Market overview, sector scan/rotation, index constituent analysis (EGX30/70/100), stock screener, trade plan, and Fibonacci retracement levels
News & Sentiment
financial_news— Real-time RSS news (Reuters, CoinDesk, Indian outlets) with symbol/category filtersmarket_sentiment— Reddit sentiment for crypto, stocks, or India-specific subredditscombined_analysis— Power tool merging TradingView technicals + Reddit sentiment + financial news in one call, with NSE/BSE routing for Indian symbols
Backtesting & Strategy Validation
backtest_strategy— Backtest one of 6 strategies (RSI, Bollinger, MACD, EMA Cross, Supertrend, Donchian) on Yahoo Finance historical datacompare_strategies— Run all 6 strategies and return a ranked leaderboardwalk_forward_backtest_strategy— Walk-forward validation to detect overfitting
Pricing & Market Overview
yahoo_price— Real-time price quote for any stock, crypto, ETF, or indexmarket_snapshot— Global overview of major indices (Nifty 50, Sensex, Bank Nifty included), top crypto, FX rates (including USDINR), and key ETFs
Provides tools for stock market screener, technical analysis, and backtesting via TradingView, with support for Indian markets (NSE/BSE).
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-indiawhat are the top gainers on NSE today?"
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-india
A fork of tradingview-mcp-server
by Atila Ahmettaner (MIT), with Indian stock-market (NSE / BSE) support added.
What this fork adds
Registered
NSEandBSEas stock exchanges mapped to TradingView'sindiamarket (src/tradingview_mcp/core/utils/validators.py).Bundled symbol lists
coinlist/nse.txtandcoinlist/bse.txt(top ~1,000 most-liquid tickers each), so symbol-iterating tools work too.Indian news: new
indiaRSS category (Economic Times, Moneycontrol, LiveMint, Hindu BusinessLine) and a dedicatedindia_newsMCP tool.Indian sentiment: new
indiaReddit group (r/IndianStockMarket, r/IndianStreetBets, r/DalalStreetTalks, r/StockMarketIndia, r/IndiaInvestments).Indian indices in
market_snapshot: Nifty 50 (^NSEI), Sensex (^BSESN), Bank Nifty (^NSEBANK), plus USDINR FX.combined_analysisrouting: NSE/BSE now pull Indian news + Indian sentiment (previously fell through to Reuters/US subreddits and returned nothing).SSL reliability fix (important): all outbound HTTPS (Yahoo Finance, Reddit, RSS) now uses a certifi-backed SSL context — via
proxy_manager._https_handler()for the shared opener and a dedicated fetch innews_service, plus browser User-Agent and manual HTTP 308 redirect following. Without this, the macOSCERTIFICATE_VERIFY_FAILEDerror silently broke every network tool (Yahoo price, snapshot, backtest, sentiment, news) — not just India.
Everything else is unchanged from upstream v0.7.1.
Related MCP server: mcp-indian-stocks
Install (editable)
python3 -m venv venv && source venv/bin/activate
pip install -e .Editable means your local edits to src/ are live immediately — no reinstall, and
a pip install --upgrade of the original PyPI package can never overwrite this fork.
Usage for Indian markets
Screener / technical-analysis tools — pass exchange="NSE" (or "BSE"), use 1D/1W timeframes:
top_gainers(exchange="NSE", timeframe="1D")
coin_analysis(symbol="RELIANCE", exchange="NSE", timeframe="1D")
multi_agent_analysis(symbol="INFY", exchange="NSE", timeframe="1D")Yahoo / backtest tools — use the .NS (NSE) or .BO (BSE) suffix:
backtest_strategy("TCS.NS", "rsi", "1y")
compare_strategies("INFY.NS")Indian news:
india_news(limit=10) # all India market headlines
india_news(symbol="RELIANCE") # only headlines mentioning RELIANCE
financial_news(category="india") # same feeds via the generic toolStock suggestion engine (NSE/BSE)
AI-assisted LONG trade ideas — each with entry (CMP), stop-loss, two targets, risk/reward, a 0–100 conviction score, and a plain-English rationale:
india_swing_picks(exchange="NSE", top_n=5) # 2-7 day swing ideas (daily TF)
india_swing_picks(direction="short") # bearish setups
india_swing_picks(index_filter="NIFTY50") # restrict to an index universe
india_intraday_signals(exchange="NSE", top_n=5) # same-session ideas (15m, VWAP-aware)
india_trade_plan("AXISBANK", mode="swing", direction="auto") # full plan for one stock
india_backtest("TCS", period="2y") # validate vs history (6-strategy leaderboard)
india_swing_picks(capital=200000, risk_pct=1.5) # add position sizing (qty + ₹ P&L)Position sizing: pass
capital(INR) andrisk_pctto any idea tool. Each idea then carriesposition_sizing: sharequantitysized so a stop-out loses ~risk_pctof capital (capped by capital), plusposition_value, rupeeloss_at_stop, andprofit_at_t1/t2. Short sizing is notional (real shorting needs margin).direction:
"auto"(long uptrends / short downtrends),"long", or"short". Short setups use a dedicated bearish momentum/quality scorer (the shared engine is long-biased) and inverted levels (stop above entry, targets below).index_filter:
"NIFTY50","NIFTYBANK","NIFTYNEXT50"— constituents bundled incore/data/india_indices.py(refresh on NSE rebalance).india_backtest: maps the symbol to Yahoo (
.NS/.BO) and runs all 6 strategies as a robustness check on whether the name respects technical setups.
How it works: scans the most-liquid NSE/BSE stocks, scores momentum
(compute_stock_score) and setup tradability (compute_trade_quality), builds
levels via compute_trade_setup, then layers on a conviction blend, a directional
gate (long-only; downtrends filtered out), and a generated rationale. ATR and
average volume are backfilled from tradingview_screener because tradingview_ta
omits them — without this the trade-setup engine produced no levels at all (this
gap also silently affected the upstream EGX setup path). Stops are floored
(≥0.5% swing / ≥0.6% intraday) so signals aren't stopped out by noise.
Educational analysis only — not investment advice.
The egx_* tools are Egypt-specific and do not apply to India.
Refreshing the symbol lists
python scripts/refresh_india_symbols.py # NSE/BSE liquid universe (coinlist/*.txt)
python scripts/refresh_india_indices.py # Nifty 50 / Bank Nifty / Next 50 constituents (official NSE CSVs)refresh_india_indices.py writes core/data/india_indices.json, which overrides the
bundled constituent lists. Run it after an NSE index rebalance.
Run the MCP server
tradingview-mcp # stdio transport (default)
tradingview-mcp streamable-http --host 127.0.0.1 --port 8000Available Tools
27 toolsadvanced_candle_patternC
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
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | No | KUCOIN | |
| base_timeframe | No | 15m | |
| pattern_length | No | ||
| min_size_increase | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It lacks details on side effects, authentication needs, or return behavior. The description merely parameterizes the analysis without disclosing any behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description uses a structured docstring format with parameter list, which aids readability. However, it is slightly verbose for the content delivered, and the 'Args' block could be integrated into a more concise narrative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five parameters and no output schema, the description should clarify return format and tool behavior. It does not explain what 'analysis' produces (e.g., list of patterns, scores). The minimal parameter descriptions leave gaps in understanding full functionality.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must add meaning. It provides brief explanations for each parameter (e.g., min_size_increase is a percentage), but these are minimal and do not clarify how parameters affect pattern detection. For instance, what constitutes a pattern_length of 2 vs 4?
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs 'Advanced candle pattern analysis using multi-timeframe data', specifying the task and resource. However, it could be more precise about what patterns are detected, keeping it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like 'consecutive_candles_scan' or 'bollinger_scan'. The description only lists parameters without context on appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backtest_strategyA
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 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)
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| strategy | Yes | ||
| period | No | 1y | |
| initial_capital | No | ||
| commission_pct | No | ||
| slippage_pct | No | ||
| interval | No | 1d | |
| include_trade_log | No | ||
| include_equity_curve | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool runs a backtest on historical data, optionally including trade log and equity curve. It implies a read-only computation. Without annotations, this is sufficient, though it could mention data sources or performance characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with a clear one-sentence summary followed by an Args list. Slightly verbose but all information is relevant and efficiently presented.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers inputs thoroughly but does not describe the output structure beyond mentioning 'institutional-grade metrics' and optional logs. Without an output schema, the description should provide more detail on return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides comprehensive parameter documentation with examples (e.g., symbol examples, strategy list, period options), default values, and units. This adds significant meaning beyond the schema, which only has types and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Describes the tool as backtesting a trading strategy on historical data with institutional-grade metrics. The verb 'backtest' and resource 'strategy' are specific, but the description does not differentiate from closely related siblings like 'compare_strategies' or 'walk_forward_backtest_strategy'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description lists parameters but does not provide context for strategy selection, period, or comparison with other backtesting tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bollinger_scanA
Scan for assets with low Bollinger Band Width (squeeze detection). Works with crypto and stocks.
Args: exchange: Exchange — crypto: KUCOIN, BINANCE, BYBIT, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, BURSA, HKEX, SSE, SZSE timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M bbw_threshold: Maximum BBW value to filter (default 0.04) limit: Number of rows to return (max 100)
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | No | KUCOIN | |
| timeframe | No | 4h | |
| bbw_threshold | No | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It describes the tool's function (scanning for low BBW) but does not mention side effects, permissions, rate limits, or whether it modifies data. The 'squeeze detection' label adds some context, but overall transparency is limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a short paragraph followed by a structured list of arguments. Every sentence adds value, and the purpose is front-loaded. No superfluous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 optional params, no required params, scan output), the description covers what the tool does, the assets it works with, and all parameters' meanings. An output schema exists but is not described, which is acceptable. The description is complete for an agent to correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description provides detailed semantics: it lists exchange with specific exchanges for crypto and stocks, timeframe with example values, bbw_threshold with default, and limit with max. This adds significant meaning beyond the schema's types and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scans for assets with low Bollinger Band Width (squeeze detection) and specifies it works with both crypto and stocks. This provides a specific verb and resource, distinguishing it from sibling tools like volume_breakout_scanner or market_snapshot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. It implies usage for squeeze detection but lacks guidance on exclusions or comparisons to sibling tools. Adequate for basic understanding but missing explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coin_analysisB
Get detailed analysis for a specific asset (coin or stock) on specified exchange and timeframe.
Args: symbol: Symbol — crypto: "BTCUSDT", "ETHUSDT"; stocks: "COMI" (EGX), "THYAO" (BIST), "600519" (SSE), "300251" (SZSE) exchange: Exchange — crypto: KUCOIN, BINANCE, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, BURSA, HKEX, SSE, SZSE timeframe: Time interval (5m, 15m, 1h, 4h, 1D, 1W, 1M)
Returns: Detailed analysis with all indicators and metrics
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| exchange | No | KUCOIN | |
| timeframe | No | 15m |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states that it returns 'detailed analysis with all indicators and metrics' without mentioning side effects, authentication needs, rate limits, or whether it is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concisely structured with clear args and returns sections. Every sentence adds value, and the examples are compact yet informative. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the parameters and returns a detailed analysis, but lacks specifics on what indicators and metrics are included. Given the absence of an output schema, more detail on the output format would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds substantial meaning beyond the input schema by providing concrete examples for symbol (crypto and stock formats), exchange (list of valid exchanges), and timeframe (allowed intervals). With 0% schema coverage, this is essential and well-executed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it provides detailed analysis for a specific asset on an exchange and timeframe, with examples of symbols and exchanges. However, it does not explicitly differentiate from sibling tools like advanced_candle_pattern or bollinger_scan, which also provide analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description lists examples but does not explain when to prefer coin_analysis over other analysis tools like multi_timeframe_analysis or market_snapshot.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
combined_analysisC
POWER TOOL: TradingView technical analysis + Reddit sentiment + Financial news.
Args: symbol: Asset symbol ("AAPL", "BTCUSDT", "THYAO") exchange: Exchange (NASDAQ, NYSE, BINANCE, KUCOIN, MEXC, BIST, EGX) timeframe: Analysis timeframe (5m, 15m, 1h, 4h, 1D, 1W)
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| exchange | No | NASDAQ | |
| timeframe | No | 1D |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. While it labels the tool as a 'POWER TOOL', it does not disclose behavioral traits such as rate limits, cost, required permissions, or what the combined output looks like (e.g., a summary or raw data).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief without unnecessary words, but it is too minimal. It could benefit from a structured output format or bullet points. It earns its place but lacks depth.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (combining three data sources), the absence of output schema, and 0% schema coverage, the description is severely incomplete. It fails to explain what is returned, how results are presented, or any limitations (e.g., if news only covers certain markets).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It provides example values for symbol, exchange, and timeframe but does not explain the role of each parameter (e.g., how exchange affects data sources) or acceptable formats beyond the examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it combines TradingView technical analysis, Reddit sentiment, and financial news, making the purpose specific and actionable. However, it does not differentiate from siblings like market_sentiment or financial_news, which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like market_sentiment or financial_news. It lacks context on prerequisites or situations where the combined analysis is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_strategiesA
Run all 6 strategies (RSI, Bollinger, MACD, EMA Cross, Supertrend, Donchian) and return a ranked leaderboard.
Args: symbol: Yahoo Finance symbol (AAPL, BTC-USD, SPY…) period: '1mo', '3mo', '6mo', '1y', '2y' initial_capital: Starting capital in USD (default $10,000) interval: '1d' (daily) or '1h' (hourly)
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| period | No | 1y | |
| initial_capital | No | ||
| interval | No | 1d |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It discloses use of Yahoo Finance data and runs exactly 6 strategies, but doesn't detail pagination, output format, rate limits, or what happens on missing data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loads the main action (run all 6 strategies, return leaderboard), and uses a clean Args list with minimal but sufficient detail. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should clarify the leaderboard structure. It only says 'ranked leaderboard' without specifying columns or metrics. This is a minor gap. Otherwise, for a 4-param tool with good param descriptions, it's fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description provides meaningful context for all parameters: symbol is a Yahoo Finance symbol with examples, period lists accepted values with defaults, initial capital is described as starting capital in USD, and interval is explained as daily or hourly. This adds value beyond the schema's bare types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it runs all 6 named strategies and returns a ranked leaderboard, making the tool's purpose specific and distinguishable from siblings like backtest_strategy which likely focuses on a single strategy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for comparing multiple strategies, but does not provide explicit when-not-to-use or alternative tools. However, from sibling names, it's clear when this should be preferred over backtest_strategy or bollinger_scan.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consecutive_candles_scanA
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
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | No | KUCOIN | |
| timeframe | No | 15m | |
| pattern_type | No | bullish | |
| candle_count | No | ||
| min_growth | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It describes parameters but doesn't mention side effects, rate limits, or data freshness. For a read-only scan, this is adequate but could be improved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One-line purpose followed by a clean bullet list of parameters. Every sentence adds value, no fluff. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but the return behavior (list of matching coins) is implied. The description could specify ordering or result details, but for a simple scanner it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description lists all 6 parameters with concise explanations (e.g., 'pattern_type: bullish (growing candles) or bearish (shrinking candles)'), adding meaning beyond the schema's titles and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Scan for coins with consecutive growing/shrinking candles pattern,' providing a specific verb (scan), resource (coins), and pattern type. This differentiates it from sibling tools like 'advanced_candle_pattern' or 'bollinger_scan'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives parameter details but does not provide guidance on when to use this tool vs. alternatives. With many sibling scanners, explicit context for selection is lacking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
egx_fibonacci_retracementA
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)
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| lookback | No | 52W | |
| timeframe | No | 1D |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry full behavioral disclosure. It only says 'analysis' without indicating whether it is read-only, what output to expect, or any side effects. This is insufficient for understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core purpose. However, the 'Args:' section is somewhat mechanical and could be integrated more naturally. Overall, it is efficient with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately explains the three input parameters but does not describe the output or the nature of the retracement analysis (e.g., levels, percentages). Given no output schema, more detail on return values would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 0% description coverage. The description compensates by listing allowed values and defaults for 'lookback' and 'timeframe' (e.g., '1M', '3M', '52W', 'ALL' and '5m', '15m', '1h', etc.). The 'symbol' parameter is described simply as 'EGX stock symbol,' which is basic but adds some context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs 'Fibonacci retracement analysis for EGX stocks,' specifying the analysis type and market. It distinguishes well from sibling tools, none of which duplicate this function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for technical analysis of EGX stocks but provides no explicit guidance on when to use it versus other analysis tools or alternatives. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
egx_index_analysisC
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)
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | EGX30 | |
| timeframe | No | 1D | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description fails to disclose behavioral traits such as read-only nature, data freshness, error conditions, or performance implications for large limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a short sentence plus an Args section. It is front-loaded and efficiently structured, though the Args section adds minimal formatting.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 3 parameters, no output schema, and no annotations, the description omits return format, data freshness, and error handling. It is adequate for basic use but incomplete for nuanced scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema coverage, the description lists valid values for index and timeframe, and explains limit meaning (number of stocks, max 100). This adds beyond the schema's defaults but does not clarify what 'full indicators' entails.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action 'analyse' and resource 'EGX index', specifying output as 'constituent performance with full indicators'. This clearly differentiates from sibling EGX tools like egx_market_overview or egx_sector_scan, though 'full indicators' is vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. Among many EGX-related siblings, no comparator or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
egx_market_overviewB
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)
| Name | Required | Description | Default |
|---|---|---|---|
| timeframe | No | 1D | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It states 'comprehensive overview' but omits that the operation is read-only, does not describe the response structure, and lacks any mention of rate limits, permissions, or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence for purpose followed by a brief parameter list. No fluff or redundant information. The structure is clean and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately defines the two parameters but lacks any mention of the output format or the specific data returned by the 'comprehensive overview'. Without an output schema, the agent cannot infer what to expect from the tool's response. Additional context about scope (e.g., does it cover all EGX listed stocks?) would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the schema by listing allowed values for 'timeframe' (5m, 15m, 1h, 4h, 1D, 1W, 1M), specifying defaults (1D for stocks), and noting the maximum for 'limit' (20). This compensates well for the schema's 0% description coverage, though explicit enum formatting would be clearer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the target resource ('Egyptian Exchange (EGX) market') and the action ('Get a comprehensive overview'). However, it does not specify what facets of the market are included (e.g., indices, sectors, top stocks), which would help differentiate it from siblings like 'egx_index_analysis' or 'egx_sector_scan'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool over alternatives. With many sibling tools focused on EGX (egx_index_analysis, egx_sector_scan, egx_stock_screener) and general market overviews (futures_market_overview), users receive no context about the appropriate selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
egx_sector_scanB
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)
| Name | Required | Description | Default |
|---|---|---|---|
| sector | No | ||
| timeframe | No | 1D | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions that results are limited to 50 per sector and that leaving sector empty shows all sectors, but it lacks details on data source, freshness, error handling, or side effects, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a single-sentence purpose followed by a clear 'Args:' section with each parameter explained. No redundant or extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description covers parameter details and basic purpose. However, it lacks information about the output format, sorting, or how results relate to the sibling 'egx_sector_scanner', leaving some contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are explained in the description with examples and constraints (e.g., sector names, timeframe values, limit max). Since the schema had no descriptions (0% coverage), the description effectively compensates by adding meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool scans EGX stocks by sector and lists sectors if none specified. However, it does not differentiate from the similarly named sibling 'egx_sector_scanner', leaving the agent unsure which to use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only hints at usage by noting that leaving sector empty lists sectors, but it provides no explicit guidance on when to use this tool vs alternatives, nor any when-not-to-use advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
egx_sector_scannerB
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)
| Name | Required | Description | Default |
|---|---|---|---|
| timeframe | No | 1D | |
| top_n_sectors | No | ||
| top_n_stocks | No | ||
| min_stock_score | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states the tool 'identifies' data without mentioning read-only nature, permissions, or side effects. Minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear opening sentence and an organized list of parameters. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description fails to describe the return format (e.g., whether output lists sectors with scores). For a scanning tool, this gap reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful details for each parameter, including acceptable ranges and defaults (e.g., timeframe options like 5m, 15m). This goes beyond the schema's titles and defaults, providing clear value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a sector rotation scanner for EGX that identifies hot/cold sectors and top picks, providing a specific verb and resource. However, it does not differentiate from sibling tools like 'egx_sector_scan'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'egx_sector_scan' or 'egx_stock_screener'. The description lacks contextual cues for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
egx_stock_screenerA
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)
| Name | Required | Description | Default |
|---|---|---|---|
| timeframe | No | 1D | |
| min_score | No | ||
| index_filter | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits beyond basic function. It does not mention read-only nature, rate limits, data freshness, or any side effects. For a production tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one purpose sentence and a bulleted parameter list. It is front-loaded and contains no wasted words, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers parameters but lacks output description (e.g., what the results look like) and usage context among many similar sibling tools. Given no output schema, more detail on return values would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully explains all 4 parameters: timeframe options, min_score range, index_filter values, and limit max. This adds substantial meaning beyond the schema, though could include data types or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a stock ranking engine for EGX that finds strong stocks with actionable setups. This distinguishes it from similar sibling tools like 'stock_screener' by specifying the EGX market and using the term 'ranking engine'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for EGX stock screening but does not explicitly state when to use this tool versus alternatives like 'stock_screener' or 'egx_index_analysis'. No when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
egx_trade_planB
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)
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| timeframe | No | 1D |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden for behavioral disclosure. It fails to explain what a 'full trade plan' entails (e.g., entry, exit, risk parameters), whether it requires internet access, or any side effects. Minimal behavioral detail is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, starting with the main purpose in one line, followed by a clean list of arguments. No unnecessary words, and the structure is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the parameters, but lacks information about the output (what a trade plan contains) and any usage context (e.g., prerequisites, limitations). Given the absence of an output schema, the description should ideally describe the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description compensates well by explicitly listing valid timeframe values (5m, 15m, 1h, etc.) and providing example symbols for the symbol parameter. This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a full trade plan for a specific EGX stock, using a specific verb and resource. It distinguishes from sibling tools like egx_index_analysis or egx_market_overview, which cover broader scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention scenarios where it is appropriate or inappropriate, nor does it reference sibling tools for context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
financial_newsA
Real-time financial news from RSS feeds (Reuters, CoinDesk, etc.)
Args: symbol: Optional symbol filter ("AAPL", "BTC"). None = all news. category: Feed category ("crypto", "stocks", "all") limit: Max number of news items
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | ||
| category | No | stocks | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the data source (RSS feeds) but fails to disclose output format, potential latency, rate limits, or whether results are sorted. For a simple read-only tool, this is minimal but not sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the main purpose, and uses a clear Args list. Every sentence earns its place with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and params are well-documented, but with no output schema, the description should mention what the response contains (e.g., article titles, links, dates). Without this, the description is incomplete for an agent expecting structured output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description fully compensates by defining each parameter with examples: symbol (optional filter with examples), category (feed choices), and limit (max items). This adds meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides real-time financial news from RSS feeds, naming specific sources (Reuters, CoinDesk). This distinguishes it from sibling market analysis tools and gives a specific verb+resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context (use for news), but does not explicitly mention alternatives or when-not scenarios. Given the distinct purpose, this is sufficient for basic usage guidance but lacks exclusionary info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_sentimentA
Real-time Reddit sentiment analysis for stocks and crypto.
Args: symbol: Asset symbol ("AAPL", "BTC", "ETH", "TSLA") category: Subreddit group to search ("crypto", "stocks", "all") limit: Number of posts to analyse
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| category | No | all | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It indicates the tool provides 'real-time' sentiment analysis but does not elaborate on behavior such as data source reliability, update frequency, or potential limitations. The transparency is minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a one-line purpose statement followed by a brief structured list of arguments. Every sentence adds value with no wasted words. The most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters and no output schema, the description adequately explains inputs but fails to describe the return format or what 'sentiment analysis' precisely yields. It is adequate for basic use but lacks completeness for complex decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only types and defaults, with 0% coverage. The description adds significant meaning by explaining each parameter: symbol with examples, category with explicit options, and limit as the number of posts. This compensates fully for the schema's lack of detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Real-time Reddit sentiment analysis for stocks and crypto' using a specific verb and resource. It distinguishes this tool from siblings as no other sibling provides Reddit sentiment analysis, making its purpose unique and well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for sentiment analysis but does not provide explicit guidelines on when to use this tool versus alternatives, nor does it mention conditions where it should not be used. Some context is given by the parameter explanations, but no direct usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_snapshotA
Global market overview: major indices, top crypto, FX rates, and key ETFs. Powered by Yahoo Finance.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions 'Powered by Yahoo Finance' indicating data source. However, it does not disclose refresh rate, data freshness, or any limitations. Scope is defined but behavioral traits are minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: one functional description and one source attribution. No wasted words, efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description adequately explains what the tool returns (major indices, crypto, FX, ETFs). It is sufficient for an agent to understand the tool's product, though more details on specific items would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema coverage is 100% (trivially). Baseline 4 is appropriate since description adds no extra param info beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it provides a global market overview covering major indices, top crypto, FX rates, and key ETFs. It is specific about the resource but could be more action-oriented (e.g., 'Retrieve'). Distinguishes from siblings like bitcoin_market_pulse or futures_category_snapshot by being a broad snapshot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Among many sibling market tools, the description lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
multi_agent_analysisA
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) exchange: Exchange — crypto: KUCOIN, BINANCE, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, SSE, SZSE timeframe: Time interval (5m, 15m, 1h, 4h, 1D, 1W)
Returns: A structured debate between 3 AI agents culminating in a final trading decision.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| exchange | No | KUCOIN | |
| timeframe | No | 15m |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the core behavior: a structured debate among three AI agents culminating in a trading decision. With no annotations provided, this is adequate but lacks details on data sources (real-time vs historical) or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the purpose, and uses a clear Args/Returns structure. Every sentence adds value with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a multi-agent debate tool, the description covers inputs well with examples but omits details about the debate structure or output format. However, it states the outcome (final trading decision), which is sufficient for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the bare input schema by providing concrete examples for each parameter (e.g., symbol 'BTCUSDT', exchange 'KUCOIN', timeframe '15m') and clarifying acceptable values across asset classes. This compensates for the schema's lack of descriptions and enums.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Run a multi-agent debate'), the resource ('Technical, Sentiment, Risk'), and the scope ('for a specific symbol'). It distinguishes itself from sibling technical indicator tools by focusing on a debate of agents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for multi-perspective analysis but does not explicitly state when to use it over alternatives like combined_analysis or coin_analysis. No exclusions or when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
multi_timeframe_analysisC
Multi-timeframe alignment analysis (Weekly → Daily → 4H → 1H → 15m).
Args: symbol: Symbol — crypto: "BTCUSDT"; stocks: "COMI" (EGX), "THYAO" (BIST), "600519" (SSE), "300251" (SZSE) exchange: Exchange — crypto: KUCOIN, BINANCE, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, SSE, SZSE
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| exchange | No | KUCOIN |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only describes inputs and timeframes, lacking details on what the analysis entails (e.g., indicators, outputs), whether it's read-only, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with purpose. The args section is efficiently formatted without extraneous content. However, the example-heavy approach for parameters slightly reduces conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and behavioral info, the description is incomplete for a multi-timeframe analysis tool. It fails to differentiate from 27 sibling tools or explain what results to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It provides example values for symbol and exchange but does not explain constraints, formats beyond examples, or purpose of each parameter, offering only superficial guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Multi-timeframe alignment analysis (Weekly → Daily → 4H → 1H → 15m)', which conveys the tool's function but lacks an explicit verb. It does not distinguish from sibling tools like combined_analysis or multi_agent_analysis, making it somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings. The description implies it's for multi-timeframe analysis but gives no context about prerequisites, alternatives, or scenarios where other tools are preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rating_filterB
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)
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | No | KUCOIN | |
| timeframe | No | 5m | |
| rating | No | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does not disclose behavioral traits beyond the basic filtering operation. It omits information about rate limits, authentication needs, or whether the tool modifies any state, which is important for a read-like tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with a one-line summary followed by structured parameter explanations. It wastes no words, though the 'Args:' prefix is slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description adequately covers input semantics. However, it lacks details on potential errors, case sensitivity for exchange names, or whether the output is sorted. This is acceptable for a filter tool but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description compensates by explaining exchange examples, timeframe options, rating meanings (e.g., -3=Strong Sell), and a limit maximum. This adds significant meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool filters coins by Bollinger Band rating, using a specific verb and resource. However, it does not differentiate itself from the sibling tool 'bollinger_scan', which may have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus alternatives like bollinger_scan or multi_timeframe_analysis. The description only lists parameters, leaving the context of appropriate usage implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
smart_volume_scannerA
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)
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | No | KUCOIN | |
| min_volume_ratio | No | ||
| min_price_change | No | ||
| rsi_range | No | any | |
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavior. It describes input parameters but does not disclose that the tool is read-only, non-destructive, or any potential rate limits. The output schema exists but is not detailed in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the purpose. The Args list is concise and includes defaults. Every sentence is necessary and well-formatted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, output schema exists), the description adequately covers input param semantics. It does not explain the exact combination logic (e.g., AND/OR conditions) but defaults are clear from schema. Slightly incomplete on return value usage, but output schema handles that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the input schema titles. It explains 'min_volume_ratio' as minimum volume multiplier, 'min_price_change' as percentage, and defines 'rsi_range' values (oversold, overbought, neutral). This fully compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'Smart volume + technical analysis combination scanner,' using specific verbs and resources. It distinguishes itself from sibling tools like volume_breakout_scanner and bollinger_scan by combining volume and technical analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool over alternatives. It implies use for combined volume and technical scanning but lacks clear context or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
top_gainersB
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 timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M limit: Number of rows to return (max 50)
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | No | KUCOIN | |
| timeframe | No | 15m | |
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the use of Bollinger Bands but does not disclose behavioral traits such as data freshness, rate limits, or whether the operation is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main purpose. It uses a clear docstring format. Minor redundancy in parameter lists could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers inputs adequately for an agent to decide to call the tool. Since an output schema exists, return value details are not needed here. However, the algorithm basis is vague, and no context on data recency or sorting is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description compensates by explaining each parameter: valid exchange values, timeframe periods, and the limit meaning 'Number of rows to return (max 50)'. This adds significant meaning beyond the schema's titles and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Return' and the resource 'top gainers' with a specific method 'Bollinger Band analysis'. It distinguishes from the sibling 'top_losers' by focusing on gainers, but does not explicitly differentiate from other scanning tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides valid parameter values (exchanges, timeframes, limit) which imply usage contexts, but lacks explicit guidance on when to use this tool versus alternatives like bollinger_scan or coin_analysis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
top_losersA
Return top losers for an exchange and timeframe. Supports crypto (KUCOIN, BINANCE, MEXC) and stocks (EGX, BIST, NASDAQ).
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | No | KUCOIN | |
| timeframe | No | 15m | |
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explains the tool returns top losers but does not disclose sorting order, pagination behavior, or error handling. Adequate but basic.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the core purpose. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with an output schema, the description is adequate but incomplete. It fails to specify sorting order, acceptable timeframe values, or how 'limit' is applied. Missing details reduce completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not detail parameter semantics. It lists supported exchanges but does not explain 'timeframe' options, 'limit' usage, or default behaviors beyond the schema defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns top losers for an exchange and timeframe, listing supported exchanges. It distinguishes from sibling 'top_gainers' by explicitly focusing on losers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when interested in losers but provides no explicit when-to-use or when-not-to-use guidance relative to siblings like 'top_gainers' or 'market_snapshot'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
volume_breakout_scannerA
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)
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | No | KUCOIN | |
| timeframe | No | 15m | |
| volume_multiplier | No | ||
| price_change_min | No | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must supply behavioral context. Lacks details on real-time vs historical, data source, rate limits, or output format details. Only parameter defaults hint at behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is well-structured with an Args block. It is concise and front-loaded with the purpose. However, the Args block could be slightly more compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters and an output schema, the description covers the necessary input context. Output schema exists, so return values are not required in description. Acceptable for a scanner tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters are explained in the description with examples (e.g., exchange names like KUCOIN, BINANCE) and defaults. Since schema coverage is 0%, this description compensates well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool detects coins with volume breakout and price breakout, using a specific verb and resource. It distinguishes from sibling tools like smart_volume_scanner and bollinger_scan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. Does not provide when-not usage or comparisons to siblings. Users must infer from parameter descriptions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
volume_confirmation_analysisC
Detailed volume confirmation analysis for a specific coin.
Args: symbol: Coin symbol (e.g., BTCUSDT) exchange: Exchange name timeframe: Time frame for analysis
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| exchange | No | KUCOIN | |
| timeframe | No | 15m |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behaviors. It only says 'analysis' without indicating read-only status, data requirements, side effects, or any limitations. For a tool performing analysis, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, but it lacks structure beyond a one-line purpose and an argument list. It could be more organized, but it is not verbose. The conciseness comes at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description should cover return values, interpretation, and constraints. It does not explain what 'volume confirmation analysis' entails or what the output looks like, leaving the agent without crucial context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description's Args block merely restates parameter names with examples, adding no meaning beyond the schema. With 0% schema description coverage, it fails to explain allowed values, formats, or constraints (e.g., symbol format, valid timeframes).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it performs 'Detailed volume confirmation analysis for a specific coin', which clearly identifies the verb (analysis) and resource (coin). However, it does not differentiate from sibling tools like 'volume_breakout_scanner' or 'smart_volume_scanner', which may also involve volume analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, typical use cases, or when not to use it. The description is purely functional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
walk_forward_backtest_strategyA
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 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)
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| strategy | Yes | ||
| period | No | 2y | |
| initial_capital | No | ||
| commission_pct | No | ||
| slippage_pct | No | ||
| n_splits | No | ||
| train_ratio | No | ||
| interval | No | 1d |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It describes the backtest process but does not disclose behavioral traits such as whether it modifies data, permissions needed, or if it's read-only. Lacks explicit safety information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a one-line summary and a clear Args list. Every sentence adds value, and the structure is front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers parameters well, it omits mention of the return value/output, which is important given no output schema. Also lacks context on execution time or data prerequisites. Moderately complete but missing key details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description fully explains all 9 parameters in the Args section, including examples for symbol, strategy options, period recommendations, and defaults. This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it performs a walk-forward backtest to detect overfitting, validating on unseen data. This clearly specifies the verb 'validates' and the resource 'strategy', and distinguishes it from sibling tools like simple backtest_strategy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for overfitting detection but does not explicitly state when to use this tool vs alternatives like backtest_strategy or compare_strategies. No when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yahoo_priceB
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
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It mentions 'real-time' but does not elaborate on frequency, restrictions, rate limits, or any other behavioral characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main purpose. Every sentence is meaningful, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers the core purpose and parameter examples. It lacks mention of output format or error handling, but is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (no description in schema). The description compensates well by providing concrete examples for different asset types (e.g., AAPL, BTC-USD, ^GSPC, THYAO.IS), clarifying the symbol format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a real-time price quote from Yahoo Finance for stocks, crypto, ETFs, or indices. The verb is implicit but the resource and action are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like stock_prices or coin_analysis. The description lacks context for selection among many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
27 tool updates
v0.7.1+india.1- First observed
advanced_candle_pattern - First observed
backtest_strategy - First observed
bollinger_scan - First observed
coin_analysis - First observed
combined_analysis - First observed
compare_strategies - First observed
consecutive_candles_scan - First observed
egx_fibonacci_retracement - First observed
egx_index_analysis - First observed
egx_market_overview - First observed
egx_sector_scan - First observed
egx_sector_scanner - First observed
egx_stock_screener - First observed
egx_trade_plan - First observed
financial_news - First observed
market_sentiment - First observed
market_snapshot - First observed
multi_agent_analysis - First observed
multi_timeframe_analysis - First observed
rating_filter - First observed
smart_volume_scanner - First observed
top_gainers - First observed
top_losers - First observed
volume_breakout_scanner - First observed
volume_confirmation_analysis - First observed
walk_forward_backtest_strategy - First observed
yahoo_price
TDQS
Scored across 27 tools
Most tools have clear, distinct purposes, but there is some overlap among the multiple scanners (e.g., bollinger_scan, smart_volume_scanner, volume_breakout_scanner) and EGX-specific tools (e.g., egx_sector_scan vs. egx_sector_scanner). An agent might occasionally misselect between similar tools, but descriptions help differentiate.
All tool names use lowercase with underscores, maintaining a consistent style. However, there is inconsistency in whether names start with a verb (e.g., backtest_strategy, compare_strategies) or a noun/adjective (e.g., advanced_candle_pattern, coin_analysis). This minor deviation prevents a perfect score.
27 tools is on the higher end but appropriate for the broad domain of trading analysis covering technicals, scanning, backtesting, sentiment, and exchange-specific tools. The scope justifies the count, though a few tools could be consolidated.
The tool set covers a wide range of analysis and scanning capabilities, including multiple strategies and EGX-specific tools. Minor gaps exist, such as the lack of a direct historical data retrieval tool (beyond yahoo_price) and no RSI divergence scanner, but core workflows are well-supported.
Maintenance
Related MCP Connectors
Real-time market data, screeners, technical analysis & backtesting for stocks, crypto and forex.
Indian NSE/BSE research data and mechanically-computed ratios; read-only market tools.
Analyze any Nifty 500 stock with AI — price action, demand zones, technicals & screener.
Indian stocks: NSE/BSE filings read by AI with price reactions, fundamentals, IPOs and FPI flows.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides real-time Indian stock market analysis, including live price tracking, technical indicators, and options Greeks calculations for NSE/BSE securities. It also enables news-based sentiment analysis, market scanning for NIFTY 50 stocks, and virtual portfolio management.-
- FlicenseAqualityDmaintenanceEnables real-time and historical Indian stock market data retrieval, including prices, news, recommendations, and top gainers/losers.11-
- AlicenseNot gradedqualityDmaintenanceProvides live market data from Indian Stock Exchanges (BSE & NSE) via MCP, powered by IndianAPI. Enables querying stock data, trending stocks, and more through natural language.13MIT
- FlicenseNot gradedqualityCmaintenanceEnables NSE stock market research with screening, quotes, peer comparison, watchlists, alerts, and strategies using natural language.-