Skip to main content
Glama
atilaahmettaner

tradingview-mcp

TradingView MCP Market Data & Technical Analysis for AI Assistants

TradingView MCP server — real-time market data, technical indicators, screeners, and backtesting for Claude, ChatGPT, Cursor, Copilot, and any MCP client. Stocks, crypto, forex & futures across global exchanges. Backtesting + live sentiment + Yahoo Finance + 37 technical-analysis tools — the most complete TradingView MCP toolkit, all in one server.

🆕 The hosted server now draws. Ask for a chart and an interactive candlestick view (1d / 1h / 15m, optional Bollinger overlay) renders live inside the conversation via MCP Apps — and the AI reads the band values back to you:

Paste one URL (or pip install), then just ask. Real output, straight from the live server:

Try these first — they work in Claude, ChatGPT, Cursor, or any MCP client:

Show today's top crypto gainers on Binance
Run a full technical analysis of NVDA
What's the multi-timeframe read on gold?
Backtest an RSI strategy on BTC on the daily timeframe
NOTE

Independent open-source project —not affiliated with, endorsed by, or associated with TradingView Inc. "TradingView" is a trademark of its respective owner; this project consumes third-party market data and is not a TradingView product.

NOTE

Does it need — or risk — your TradingView account? No. This server does not log into, scrape, or automate a TradingView session, and it requires no TradingView account or API key. Market data is fetched server-side from public endpoints, so there is no account of yours in the loop and no browser/UI automation. (This is different from MCP servers that drive the TradingView Desktop app via Chrome DevTools.) You are responsible for ensuring your own use complies with the terms of any data source you point it at.

"TradingView MCP" now means two very different kinds of project. Both are useful — for different jobs:

This project — data & analysis API

Desktop-automation MCPs

What you need

Nothing — public market data

TradingView Desktop, usually with a paid TradingView plan

Where it works

Claude.ai, Claude Code, ChatGPT, Cursor, Copilot — any MCP client

Mostly Claude Code, on your own machine

When your machine is off

Hosted version keeps answering, 24/7

Stops

Screeners & backtesting

Built in (37 tools, multi-exchange)

Whatever the TradingView UI offers

Charts

Interactive in-conversation charts (MCP Apps, hosted)

TradingView's own charts

Your TradingView account

Not needed, never touched

Drives your logged-in session

If you want an AI clicking around your TradingView Desktop — editing Pine Script, drawing on charts, using replay — check out tradesdontlie/tradingview-mcp. If you want headless market data, screeners and backtesting available to any AI client, with nothing installed and no TradingView account in the loop — that's this project.

IMPORTANT

Not financial advice. Nothing produced by this software is investment, financial, legal, tax, or accounting advice. tradingview-mcp is an informational and educational analysis tool. Its outputs, including indicators, scores, signals, "trade setups", entries, stop losses, and targets, are computed from third party market data and are not recommendations to buy, sell, or hold any asset. It does not execute trades, manage money, or guarantee any result. Trading and investing carry a substantial risk of loss, and you can lose some or all of your capital. Always do your own research and consult a licensed professional before making any financial decision. You are solely responsible for your own decisions and for complying with the laws and regulations that apply to you. Market data may be delayed, inaccurate, or incomplete, and is provided without warranty.

TIP

Prefer zero setup? Use the hosted version. pro.cryptosieve.com serves all 37 tools as one connector URL for Claude.ai, ChatGPT, Copilot, and Cursor — no uv, pandas, or Python to wrangle. From $9/mo (Pro) or $29/mo (Pro+ — higher limits), with a 3-day free trial. Self-hosting stays free forever; hosted is just for folks who'd rather skip the ops. (Full self-host vs hosted comparison in Quick Start below.)

License: MIT Python 3.10-3.13 MCP Ready OpenClaw Ready Version PyPI GitHub Sponsors

⭐ If this tool improves your workflow, please star the repo and consider sponsoring — it keeps the project alive and growing!


🎥 Framework Demo

https://github-production-user-asset-6210df.s3.amazonaws.com/67838093/478689497-4a605d98-43e8-49a6-8d3a-559315f6c01d.mp4


Related MCP server: FinClaw

🆕 What's New

Stability & Strategy Expansion (May 2026)

  • Async hot-path tools — 7 high-traffic tools (yahoo_price, stock_extended_hours, top_gainers, volume_breakout_scanner, multi_timeframe_analysis, financial_news, combined_analysis) converted to async def. FastMCP runs sync tools serialized on the event loop — async unlocks real intra-server parallelism so concurrent tool calls actually overlap. combined_analysis additionally fans its 3 sub-calls out via asyncio.gather for ~3× wall-clock improvement on the power tool. yahoo_price / stock_extended_hours use httpx.AsyncClient for true non-blocking I/O; sync-library tools (tradingview_ta, tradingview-screener, feedparser) are off-loaded via asyncio.to_thread. (PR — open)

  • 9 backtest strategies (up from 6) — added rsi_pullback, keltner_breakout, and triple_ema, covering trend-pullback, ATR-normalized breakout, and SMA200-filtered EMA cross edges. compare_strategies now ranks the full 9.

  • Resilience layer — automatic retry + 60-second TTL cache on the TradingView screener provider, eliminating transient "Expecting value" errors on combined_analysis and multi_timeframe_analysis. (PR #32 — merged)

  • Financial news service rebuild — replaces deprecated Reuters RSS endpoints with Yahoo Finance, MarketWatch, and CNBC. Fixes the long-standing count: 0 bug on financial_news. (PR #33 — merged)

  • TA throttle — caps concurrent tradingview_ta calls (default 4) + min 0.8s spacing between starts. Prevents parallel bursts of combined_analysis / multi_timeframe_analysis from hitting TradingView's empty-body rate-limit cliff. Tunable via env vars. (PR #34 — merged)

  • Walk-forward backtesting (walk_forward_backtest_strategy) — train/test split with overfitting verdict (ROBUST / MODERATE / WEAK / OVERFITTED).

  • Hourly (1h) timeframe support across backtest_strategy, compare_strategies, and walk_forward_backtest_strategy.

  • Full trade log + equity curve outputs (include_trade_log=True, include_equity_curve=True).


🏗️ Architecture

tradingview-mcp Architecture


✨ Why tradingview-mcp?

Feature

tradingview-mcp

Traditional Setups

Bloomberg Terminal

Setup Time

5 minutes

Hours (Docker, Conda...)

Weeks (Contracts)

Cost

Free & Open Source

Variable

$30k+/year

Backtesting

✅ 9 strategies + Walk-forward + Sharpe

❌ Manual scripting

✅ Proprietary

Live Sentiment

✅ Reddit + RSS news

❌ Separate setup

✅ Terminal

Market Data

✅ Live / Real-Time

Historical / Delayed

Live

API Keys

None required

Multiple (OpenAI, etc.)

N/A


🚀 Quick Start (5 Minutes)

Two ways to run it — the same 37 tools either way:

🧑‍💻 Self-host (this repo)

☁️ Hosted — pro.cryptosieve.com

Price

Free forever (MIT)

$9/mo Pro · $29/mo Pro+ · 3-day trial

Time to first call

~5 minutes (Python + uv)

~60 seconds (paste one URL)

Updates & ops

You run and update it

Managed — always on the latest

Runs on

Your machine or VPS

Hosted, streamed from the edge

Limits

Your hardware

2,500/mo · 60/min (Pro) → 10,000/mo · 150/min (Pro+)

Best for

Tinkerers, forkers, full control

Folks who'd rather skip the ops

☁️ Zero setup: paste one connector URL into Claude.ai, ChatGPT, Copilot, or Cursor → start a 3-day free trial. Everything below is for self-hosting.

Install via pip

pip install tradingview-mcp-server

Optional: news & sentiment (free Marketaux key)

financial_news and market_sentiment (plus the news/sentiment parts of combined_analysis) are powered by Marketaux — licensed market news with per-entity sentiment. Grab a free API key (100 requests/day; the server caches for 4h and shares one fetch between news and sentiment, so the free tier goes a long way) and set:

export MARKETAUX_API_TOKEN=your_token_here   # optional

Without a token those two tools return a friendly "not configured" note — all other tools work normally.

Claude Desktop Config (claude_desktop_config.json)

Note: On macOS, GUI apps like Claude Desktop may not have ~/.local/bin in their PATH. Use the full path to uvx to avoid "command not found" errors.

{
  "mcpServers": {
    "tradingview": {
      "command": "/Users/YOUR_USERNAME/.local/bin/uvx",
      "args": ["--from", "tradingview-mcp-server", "tradingview-mcp"]
    }
  }
}

On Linux, replace /Users/YOUR_USERNAME with /home/YOUR_USERNAME. On Windows, use %USERPROFILE%\.local\bin\uvx.exe.

Codex Plugin Config

This repository also includes mcp-only Codex plugin metadata:

  • .codex-plugin/plugin.json

  • .codex-mcp.json

The plugin uses the same PyPI package entrypoint:

{
  "mcpServers": {
    "tradingview": {
      "command": "uvx",
      "args": ["--from", "tradingview-mcp-server", "tradingview-mcp"]
    }
  }
}

After installing or enabling the Codex plugin, restart Codex so the MCP server is loaded in the next session. Depending on your Codex version, codex mcp list may show registered MCP servers, but tool availability should be verified in a fresh Codex session.

Or run from source

git clone https://github.com/atilaahmettaner/tradingview-mcp
cd tradingview-mcp
uv run tradingview-mcp

🛠️ Troubleshooting

🪟 Windows: MCP error -32001: Request timed out on first launch

Symptom — you see this in the Claude Desktop logs shortly after adding the config:

[tradingview] Server started and connected successfully
[tradingview] Message from client: initialize ...
[60 seconds later]
[tradingview] notifications/cancelled — reason: "MCP error -32001: Request timed out"

Why it happens: Python 3.14 is not supported yet. uvx downloads tradingview-mcp-server, creates a fresh virtualenv, and installs dependencies the first time it runs. Some native dependencies in the MCP stack do not currently publish compatible Python 3.14 wheels, so installation can fall back to source builds or fail before Claude Desktop finishes initializing the server.

Fix — pin to Python 3.13 (has prebuilt pandas wheels):

{
  "mcpServers": {
    "tradingview": {
      "command": "uvx",
      "args": ["--python", "3.13", "--from", "tradingview-mcp-server", "tradingview-mcp"]
    }
  }
}

On macOS use the full path to uvx (see the note in Quick Start). On Windows uvx is typically %USERPROFILE%\.local\bin\uvx.exe.

Alternative — pre-install once, then let Claude Desktop reuse the cache:

# Run in a terminal before launching Claude Desktop
uv tool install --python 3.13 tradingview-mcp-server

After the install finishes, start Claude Desktop with the normal config and the server will come up instantly (cache is already warm).

Credit: @wyh4444 for the original report in #24.


⚠️ Error Envelope Format

Tools that have adopted the structured error format return either their normal payload or an error envelope:

{"error": {"code": "ALL_BATCHES_FAILED", "message": "All 5 batches failed; first error: JSONDecodeError(...)", "batches_attempted": 5, "batches_failed": 5, "first_error": "...", "retryable": true}}

Why: the previous [] / {"error": "Analysis failed: ..."} strings made it impossible to distinguish "no matches today" from "upstream rate-limit cliff." The new envelope is programmatically branchable by code, and retryable tells the caller whether waiting and retrying can help (upstream storms pass; a missing dependency won't fix itself).

Full coverage (every failure mode — upstream outage, empty symbol list, missing dependency, unexpected exception — returns an envelope, never a raw string/traceback): top_gainers, top_losers, bollinger_scan, rating_filter, volume_breakout_scanner, smart_volume_scanner.

Partial adoption (main error paths return envelopes): coin_analysis, volume_confirmation_analysis, consecutive_candles_scan, futures_market_overview, futures_top_movers, stock_prices, and the backtest input guards. Remaining tools migrate in batches — tracked in #76.

Detecting an error:

result = volume_breakout_scanner(exchange="KUCOIN")
if isinstance(result, dict) and "error" in result:
    code = result["error"]["code"]
    if result["error"].get("retryable"):
        # Wait + retry, raise alert, fall back to single-batch call, etc.
        ...
else:
    for row in result:
        ...

Stable codes are defined in core/errors.py.


📱 Use via Telegram, WhatsApp & More (OpenClaw)

Connect this server to Telegram, WhatsApp, Discord and 20+ messaging platforms using OpenClaw — a self-hosted AI gateway. Tested & verified on Hetzner VPS (Ubuntu 24.04).

How It Works

OpenClaw routes Telegram messages to an AI agent. The agent uses trading.py — a thin Python wrapper — to call tradingview-mcp functions and return formatted results. No MCP protocol needed between OpenClaw and the server; it's a direct Python import.

Telegram → OpenClaw agent (AI model) → trading.py (bash) → tradingview-mcp → Yahoo Finance

Quick Setup

# 1. Install UV and tradingview-mcp
curl -LsSf https://astral.sh/uv/install.sh | sh && source ~/.bashrc
uv tool install tradingview-mcp-server

# 2. Configure OpenClaw channels
cat > ~/.openclaw/openclaw.json << 'EOF'
{
  channels: {
    telegram: {
      botToken: "YOUR_BOT_TOKEN_HERE",
    },
  },
}
EOF

# 3. Configure gateway + agent
openclaw config set gateway.mode local
openclaw config set acp.defaultAgent main

# 4. Set your AI model (choose ONE option below)
openclaw configure --section model

# 5. Install the skill + tool wrapper
mkdir -p ~/.agents/skills/tradingview-mcp ~/.openclaw/tools
curl -fsSL https://raw.githubusercontent.com/atilaahmettaner/tradingview-mcp/main/openclaw/SKILL.md \
  -o ~/.agents/skills/tradingview-mcp/SKILL.md
curl -fsSL https://raw.githubusercontent.com/atilaahmettaner/tradingview-mcp/main/openclaw/trading.py \
  -o ~/.openclaw/tools/trading.py && chmod +x ~/.openclaw/tools/trading.py

# 6. Start the gateway
openclaw gateway install
systemctl --user start openclaw-gateway.service

Choose Your AI Model

OpenRouter is not required — use whichever provider you have a key for:

Provider

Model ID for OpenClaw

Get Key

OpenRouter (aggregator — access to all models)

openrouter/google/gemini-3-flash-preview

openrouter.ai/keys

Anthropic (Claude direct)

anthropic/claude-sonnet-4-5

console.anthropic.com

Google (Gemini direct)

google/gemini-2.5-flash

aistudio.google.com

OpenAI (GPT direct)

openai/gpt-4o-mini

platform.openai.com

# Examples — set your chosen model:
openclaw config set agents.defaults.model "openrouter/google/gemini-3-flash-preview"  # via OpenRouter
openclaw config set agents.defaults.model "anthropic/claude-sonnet-4-5"               # Anthropic direct
openclaw config set agents.defaults.model "google/gemini-2.5-flash"                   # Google direct

⚠️ Important: Prefix must match your provider. google/... needs a Google API key. openrouter/... needs an OpenRouter key.

⚠️ Common Mistakes

Symptom

Cause

Fix

Unrecognized keys: mcpServers

mcpServers not supported in this version

Remove from config, use bash wrapper

No API key for provider "google"

Used google/model but only have OpenRouter key

Use openrouter/google/model instead

which agent? loop

acp.defaultAgent not set

openclaw config set acp.defaultAgent main

Gateway won't start

gateway.mode missing

openclaw config set gateway.mode local

Test Your Bot

Once running, send your Telegram bot:

market snapshot
backtest RSI strategy for AAPL, 1 year
compare all strategies for BTC-USD

👉 Full OpenClaw Setup Guide →


Unlike basic screeners, this framework deploys specialized AI agents that debate findings in real-time:

  1. 🛠️ Technical Analyst — Bollinger Bands (±3 proprietary rating), RSI, MACD

  2. 🌊 Sentiment & Momentum Analyst — Reddit community sentiment + price momentum

  3. 🛡️ Risk Manager — Volatility, drawdown risk, mean-reversion signals

Output: STRONG BUY / BUY / HOLD / SELL / STRONG SELL with confidence score


🔧 All 37 MCP Tools

📊 Backtesting Engine

Tool

Description

backtest_strategy

Backtest 1 of 9 strategies with institutional metrics (Sharpe, Calmar, Expectancy). Supports 1d and 1h timeframes; optional full trade log + equity curve.

compare_strategies

Run all 9 strategies on the same symbol and rank by performance.

walk_forward_backtest_strategy

Train/test split walk-forward validation with overfitting verdict (ROBUST / MODERATE / WEAK / OVERFITTED).

9 Strategies to Test:

  • rsi — RSI oversold/overbought mean reversion

  • bollinger — Bollinger Band mean reversion

  • macd — MACD golden/death cross

  • ema_cross — EMA 20/50 Golden/Death Cross

  • supertrend — ATR-based Supertrend trend following 🔥

  • donchian — Donchian Channel breakout (Turtle Trader style)

  • rsi_pullback — Dip-buy in confirmed uptrend (SMA50>SMA200 + RSI<40 entry) 🆕

  • keltner_breakout — ATR-normalized breakout (EMA20 + 2·ATR upper band) 🆕

  • triple_ema — EMA 20/50 cross gated by SMA200 trend filter 🆕

🆕 strategies require period='1y' or '2y' so the SMA200 trend filter can complete its warmup.

Metrics you get: Win Rate, Total Return, Sharpe Ratio, Calmar Ratio, Max Drawdown, Profit Factor, Expectancy, Best/Worst Trade, vs Buy-and-Hold, with realistic commission + slippage simulation.

Example prompt: "Compare all 9 strategies on MSFT for 2 years"
→ #1 triple_ema:        +15.1% | Sharpe:  0.0 | WR: 100%
→ #2 keltner_breakout:  +14.3% | Sharpe:  4.7 | WR:  40%
→ #3 bollinger:         +12.2% | Sharpe:  4.1 | WR:  64%
→ Buy & Hold:            -2.1%

💰 Yahoo Finance — Real-Time Prices (New in v0.6.0)

Tool

Description

yahoo_price

Real-time quote: price, change %, 52w high/low, market state

market_snapshot

Global overview: S&P500, NASDAQ, VIX, BTC, ETH, EUR/USD, SPY, GLD

Supports: Stocks (AAPL, TSLA, NVDA), Crypto (BTC-USD, ETH-USD, SOL-USD), ETFs (SPY, QQQ, GLD), Indices (^GSPC, ^DJI, ^IXIC, ^VIX), FX (EURUSD=X), Turkish (THYAO.IS, SASA.IS)


🌍 Global Stock Screener — Common & Preferred Shares

Tool

Description

stock_screener

List common or preferred stocks for any TradingView country market (america, korea, germany, brazil, …) with price, currency, % change, dividend yield — ranked by market cap. The API twin of TradingView's "Common stock" / "Preferred stock" symbol-search filter.

stock_prices

Direct price lookup for specific symbols (comma-separated EXCHANGE:SYMBOL, e.g. NASDAQ:NVDA, KRX:005930) — price, currency, daily % change, with unrecognized tickers named in not_found.


🧠 AI Sentiment & Intelligence

Tool

Description

market_sentiment

Reddit sentiment across finance communities (bullish/bearish score, top posts)

financial_news

Live RSS headlines from Yahoo Finance, MarketWatch, CNBC, CoinDesk, CoinTelegraph

combined_analysis

Power Tool: TradingView technicals + Reddit sentiment + live news → confluence decision. Now backed by retry + 60s cache for resilience against transient screener errors.


📈 Technical Analysis Core

Tool

Description

get_technical_analysis

Full TA: RSI, MACD, Bollinger, 23 indicators with BUY/SELL/HOLD

get_multiple_analysis

Bulk TA for multiple symbols at once

get_bollinger_band_analysis

Proprietary ±3 BB rating system

get_stock_decision

3-layer decision engine (ranking + trade setup + quality score)

screen_stocks

Multi-exchange screener with 20+ filter criteria

scan_by_signal

Scan by signal type (oversold, trending, breakout...)

get_candlestick_patterns

15 candlestick pattern detector

get_multi_timeframe_analysis

Weekly→Daily→4H→1H→15m alignment analysis


🌍 Multi-Exchange Support

Exchange

Tools

Binance

Crypto screener, all pairs

KuCoin / Bybit+

Crypto screener

NASDAQ / NYSE

US stocks (AAPL, TSLA, NVDA...)

EGX (Egypt)

egx_market_overview, egx_stock_screener, egx_trade_plan, egx_fibonacci_retracement

Turkish (BIST)

Via TradingView screener


💬 Example AI Conversations

You: "Give me a full market snapshot right now"
AI: [market_snapshot] → S&P500 -3.4%, BTC +0.1%, VIX 31 (+13%), EUR/USD 1.15

You: "What is Reddit saying about NVDA?"
AI: [market_sentiment] → Strongly Bullish (0.41) | 23 posts | 18 bullish

You: "Backtest RSI strategy on BTC-USD for 2 years"
AI: [backtest_strategy] → +31.5% return | 100% win rate | 2 trades | B&H: -5%

You: "Which of the 9 strategies worked best on MSFT in the last 2 years?"
AI: [compare_strategies] → triple_ema #1 (+15.1%, WR 100%), keltner_breakout #2 (+14.3%), macd last (-23.4%)

You: "Run walk-forward backtest on supertrend for SPY"
AI: [walk_forward_backtest_strategy] → Verdict: ROBUST (avg robustness 0.92) | OOS return +8.5%

You: "Analyze TSLA with all signals: technical + sentiment + news"
AI: [combined_analysis] → BUY (Technical STRONG BUY + Bullish Reddit + Positive news)

💖 Support the Project

This framework is free and open source, built in spare time. If it saves you hours of research or helps you make better decisions, please consider sponsoring:

Tier

Monthly

What You Get

☕ Coffee

$5

Heartfelt gratitude + name in README

🚀 Supporter

$15

Above + priority bug fixes

💎 Pro

$30

Above + priority feature requests

Every sponsor directly funds new features like Walk-Forward Backtesting, Twitter/X sentiment, and managed cloud hosting.


📋 Roadmap

  • TradingView technical analysis (30+ indicators)

  • Multi-exchange screener (Binance, KuCoin, MEXC, EGX, US stocks)

  • Reddit sentiment analysis

  • Live financial news (Yahoo / MarketWatch / CNBC / CoinDesk / CoinTelegraph)

  • Yahoo Finance real-time prices

  • Backtesting engine (9 strategies + Sharpe / Calmar / Expectancy)

  • Walk-forward backtesting (overfitting detection)

  • Resilience layer (retry + TTL cache) on screener provider

  • Hourly (1h) backtesting timeframe

  • Twitter/X market sentiment

  • Paper trading simulation

  • Managed cloud hosting (no local setup)


📄 License

MIT License — see LICENSE for details.


Disclaimer: This tool is for educational and research purposes only. It does not constitute financial advice. Always do your own research before making investment decisions.

Available Tools

37 tools
advanced_candle_patternCInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
exchangeNoKUCOIN
base_timeframeNo15m
pattern_lengthNo
min_size_increaseNo

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_strategyAInspect

Backtest a trading strategy on historical data with institutional-grade metrics.

Args: symbol: Yahoo Finance symbol (AAPL, BTC-USD, THYAO.IS, ^GSPC) strategy: rsi | bollinger | macd | ema_cross | supertrend | donchian | rsi_pullback | keltner_breakout | triple_ema (rsi_pullback and triple_ema need period >= '1y' for SMA200 warmup) period: '1mo', '3mo', '6mo', '1y', '2y' initial_capital: Starting capital in USD (default $10,000) commission_pct: Per-trade commission % (default 0.1%) slippage_pct: Per-trade slippage % (default 0.05%) interval: '1d' (daily) or '1h' (hourly) include_trade_log: Include full per-trade log (default False) include_equity_curve: Include equity curve data points (default False)

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo1y
symbolYes
intervalNo1d
strategyYes
slippage_pctNo
commission_pctNo
initial_capitalNo
include_trade_logNo
include_equity_curveNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses parameter details including defaults and a specific constraint for certain strategies, but does not mention the return format, error behavior, or whether the operation is read-only. The phrase 'institutional-grade metrics' is vague and lacks specifics, reducing transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with an Args section and bullet-like parameter list. It is concise but includes necessary details. Minor reduction for not being even more succinct, e.g., removing redundant 'Args:' header.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters and no output schema, the description covers all inputs adequately but fails to explain the output (return values, metrics). For a complex tool, this is a significant gap. The inclusion of parameter defaults and strategy-specific notes helps, but missing output details reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds substantial meaning beyond the input schema, which has 0% coverage. It provides example values for symbol (e.g., AAPL, BTC-USD), lists all strategy options with enum-like clarity, and explains defaults for numeric parameters. This fully compensates for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: backtesting a trading strategy on historical data with institutional-grade metrics. It provides a verb (Backtest) and specific resource (trading strategy + historical data). While it distinguishes from sibling tools like compare_strategies by focusing on single strategy backtesting, it does not explicitly differentiate from walk_forward_backtest_strategy, leaving some ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lacks explicit guidance on when to use this tool versus alternatives. It only provides a constraint note for rsi_pullback and triple_ema strategies needing period >= '1y'. No mention of when not to use it, prerequisites, or comparison with sibling tools like compare_strategies or walk_forward_backtest_strategy.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bitcoin_market_pulseAInspect

Single-call BTC macro context: price, dominance, total market cap + risk assessment.

Use this WHENEVER analyzing any cryptocurrency (altcoin or BTC itself) to get the broader market frame in one shot. A SOL/ETH/whatever setup looks very different when BTC is dumping with rising dominance vs. when alts are leading. Calling this once gives Claude the macro context to provide Bitcoin-aware commentary alongside the per-coin analysis - without chaining 2-3 separate yahoo_price + manual reasoning calls.

Returns:

  • bitcoin: price, 24h change %, volume, market cap

  • dominance: BTC and ETH market-cap share of total crypto

  • total_market: total crypto mcap + 24h change + active coin count

  • assessment: label (HIGH_RISK / ALT_RISK / ALT_FAVORABLE / OPPORTUNITY_WITH_CAUTION / NEUTRAL) + 1-paragraph reasoning

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Clearly describes return fields and assessment labels. Implies read-only nature. No annotations provided, but description adequately covers behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise three-paragraph structure: purpose, usage, return fields. No superfluous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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, description fully explains what is returned and how to use it for crypto analysis.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters, so description need not add value. Baseline 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it provides macro BTC context including price, dominance, total market cap, and risk assessment. Distinguishes from siblings like yahoo_price by offering single-call context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use whenever analyzing any cryptocurrency for broader market frame, and contrasts with chaining multiple calls. Provides concrete scenario with BTC vs alts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bollinger_scanAInspect

Scan for assets with low Bollinger Band Width (squeeze detection). Works with crypto and stocks.

This scans a whole EXCHANGE for squeezes (canonical name is exactly bollinger_scan; there is no "get_bollinger_band_analysis" tool). For the Bollinger read of ONE symbol, call coin_analysis instead.

Example: bollinger_scan(exchange="BINANCE", timeframe="15m", bbw_threshold=0.008)

Args: exchange: Exchange — crypto: KUCOIN, BINANCE, BYBIT, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, BURSA, HKEX, SSE, SZSE, TWSE, TPEX timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M. Typical squeeze thresholds: 15m→0.008, 1h→0.02, 4h→0.04, 1D→0.12 bbw_threshold: Maximum BBW value to filter (default 0.04) limit: Number of rows to return (max 100)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
exchangeNoKUCOIN
timeframeNo4h
bbw_thresholdNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations present, so description carries full burden. It explains the tool scans an exchange, gives canonical name, and details parameters. However, it does not explicitly mention whether the tool is read-only or any rate limits, but given the context, it is adequately transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a main paragraph, example, and an args list. It is not overly verbose, though could be slightly more concise. However, it front-loads the key purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists (context signal indicates has_output_schema: true), the description does not need to explain return values. It covers parameters, usage guidelines, and sibling differentiation comprehensively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description provides extensive parameter details: lists exchange values, timeframe options with typical squeeze thresholds, default for bbw_threshold, and limit max. 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.

Purpose5/5

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 works with crypto and stocks. It distinguishes itself from 'coin_analysis' by specifying that this tool scans a whole exchange, not a single symbol.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (scan whole exchange for squeezes) and when not (for single symbol analysis, call coin_analysis). Provides an example with parameters and default values.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

coin_analysisAInspect

Get detailed analysis for a specific asset (coin or stock) on specified exchange and timeframe.

This is the canonical single-symbol technical readout (there is no "get_technical_analysis" or "get_technical_summary" tool — use THIS one). Use multi_timeframe_analysis instead when you need trend alignment across several timeframes, and combined_analysis when you also want news sentiment + headlines in the same call.

Example: coin_analysis(symbol="BTCUSDT", exchange="BINANCE", timeframe="1h")

Args: symbol: Bare ticker, no exchange prefix — crypto: "BTCUSDT", "ETHUSDT"; stocks: "COMI" (EGX), "THYAO" (BIST), "600519" (SSE), "300251" (SZSE), "2330" (TWSE), "3105" (TPEX) exchange: Exchange — crypto: KUCOIN, BINANCE, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, BURSA, HKEX, SSE, SZSE, TWSE, TPEX. If the symbol isn't listed there, the error's listed_on field names exchanges that do list it. timeframe: Time interval (5m, 15m, 1h, 4h, 1D, 1W, 1M)

Returns: Detailed analysis with all indicators and metrics

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
exchangeNoKUCOIN
timeframeNo15m

TDQS

A4.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose behavioral traits such as whether the tool is read-only, requires authentication, has rate limits, or any side effects. It only states what it returns, lacking transparency about system interactions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections (Args, Returns) and an example. It is longer than necessary but each sentence adds value. Minor redundancy: "Detailed analysis with all indicators and metrics" could be more specific.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters, no output schema, and a large sibling set, the description covers all essential aspects: purpose, parameters, usage guidelines, and error behavior. Missing details on return structure or pagination, but adequate for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, yet the description adds comprehensive meaning to all parameters: explains symbol format (crypto vs stock examples), exchange list with error handling hint, timeframe options. This greatly enriches the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides detailed analysis for a specific asset on an exchange and timeframe. It distinguishes itself from siblings like multi_timeframe_analysis and combined_analysis, making the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use this tool versus alternatives: use multi_timeframe_analysis for trend alignment across timeframes, combined_analysis for news sentiment. Also provides an example call and detailed parameter guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

combined_analysisAInspect

POWER TOOL: TradingView technical analysis + news sentiment + financial news.

Use this when you want TA AND sentiment AND news for one symbol in a single call. For indicators only, coin_analysis is faster; for cross-timeframe trend alignment use multi_timeframe_analysis.

Example: combined_analysis(symbol="NVDA", exchange="NASDAQ", timeframe="1D")

Args: symbol: Bare ticker, no exchange prefix ("AAPL", "BTCUSDT", "THYAO", "GDX") exchange: Exchange (NASDAQ, NYSE, AMEX, NYSEARCA, PCX, BINANCE, KUCOIN, MEXC, BIST, EGX, TWSE, TPEX) timeframe: Analysis timeframe (5m, 15m, 1h, 4h, 1D, 1W)

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
exchangeNoNASDAQ
timeframeNo1D

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavior. It describes the tool as a composite of multiple data sources, implying a potentially heavy call, but does not specify read-only nature, rate limits, or side effects. Adequate but incomplete for full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with bold title, usage guidance, alternatives, example, and parameter list. The 'POWER TOOL' prefix is slightly excessive but harmless. Overall efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 covers purpose, usage, and parameters well. It lacks output details but is sufficient for tool selection among siblings. A minor gap in return format specification.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage, but description fully compensates by explaining each parameter: symbol format, allowed exchanges, timeframe values, and provides a concrete example. This adds essential meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it combines technical analysis, news sentiment, and financial news. It distinguishes from siblings: coin_analysis for indicators only and multi_timeframe_analysis for trend alignment, making the purpose specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (when TA + sentiment + news desired) and when not (indicators only → coin_analysis, trend alignment → multi_timeframe_analysis), providing clear usage guidance and alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_strategiesAInspect

Run all 9 strategies (RSI, Bollinger, MACD, EMA Cross, Supertrend, Donchian, RSI Pullback, Keltner Breakout, Triple EMA) and return a ranked leaderboard.

Args: symbol: Yahoo Finance symbol (AAPL, BTC-USD, SPY…) period: '1mo', '3mo', '6mo', '1y', '2y' (period >= '1y' recommended so rsi_pullback and triple_ema can complete SMA200 warmup; otherwise they contribute zero trades) initial_capital: Starting capital in USD (default $10,000) interval: '1d' (daily) or '1h' (hourly)

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo1y
symbolYes
intervalNo1d
initial_capitalNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description discloses an important behavioral trait: strategies with SMA200 warmup may contribute zero trades if period < 1y. This is valuable beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two paragraphs are efficient: first line states purpose, second block format lists arguments. Every sentence adds value, though the structure could be slightly more formal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains input constraints well but lacks details about the output (e.g., leaderboard fields). Given 4 parameters and no output schema, it is moderately complete but could provide more return value context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 0%, the description adds meaning by listing valid period options, recommending >=1y for certain strategies, and explaining defaults for interval and initial_capital.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it runs all 9 specified strategies and returns a ranked leaderboard. This distinguishes it from single-strategy backtest tools like backtest_strategy.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies it is for quick comparison of multiple strategies but does not explicitly state when to use it over alternatives. No when-not or exclusions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

consecutive_candles_scanAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
exchangeNoKUCOIN
timeframeNo15m
min_growthNo
candle_countNo
pattern_typeNobullish

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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_retracementAInspect

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)

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
lookbackNo52W
timeframeNo1D

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_analysisCInspect

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)

ParametersJSON Schema
NameRequiredDescriptionDefault
indexNoEGX30
limitNo
timeframeNo1D

TDQS

C2.8/5.0
Behavior1/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_overviewBInspect

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)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
timeframeNo1D

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_scanBInspect

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)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sectorNo
timeframeNo1D

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_scannerBInspect

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)

ParametersJSON Schema
NameRequiredDescriptionDefault
timeframeNo1D
top_n_stocksNo
top_n_sectorsNo
min_stock_scoreNo

TDQS

B3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_screenerAInspect

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)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
min_scoreNo
timeframeNo1D
index_filterNo

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_planBInspect

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)

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
timeframeNo1D

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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_newsAInspect

Real-time financial news via Marketaux (licensed).

Args: symbol: Optional symbol filter ("AAPL", "BTC"). None = all news. category: News category ("crypto", "stocks", "all") limit: Max number of news items

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
symbolNo
categoryNostocks

TDQS

A3.6/5.0
Behavior2/5

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 'Real-time' and 'licensed' but does not disclose behavioral traits like read-only nature, rate limits, pagination, or data freshness. The description lacks detail on what happens if no news is found or if the source is unavailable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the purpose. The Args section is clearly formatted inline. While concise, it could be slightly more structured (e.g., bullet points), but it serves its purpose without unnecessary text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 3 parameters and no output schema, the description covers the parameters adequately but lacks details on return format (e.g., what fields each news item contains), pagination, or error handling. Given the tool's simplicity, it is minimally viable but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must provide meaning. It explains each parameter: symbol ('Optional symbol filter... None = all news'), category ('News category...'), limit ('Max number of news items'). This adds significant context beyond the schema's type and default values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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 via Marketaux (licensed).' It specifies the resource (financial news), verb (implied get), and source. Among many sibling tools focused on technical analysis or market data, this is the only news tool, making its purpose distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the parameters and their defaults, providing context for usage (e.g., filter by symbol, category, limit). However, it gives no explicit guidance on when to use this tool versus alternatives or when not to use it. The context of sibling tools being mainly technical analysis implies but does not specify exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

futures_category_snapshotAInspect

Quote all major front-month contracts in a specific futures category.

Args: category: equity_index | energy | metals | agriculture | rates | forex | crypto_futures

Returns: OHLCV quotes for the standard watchlist of contracts in that category. Example symbols: ES1! NQ1! (equity_index), CL1! NG1! (energy), GC1! SI1! (metals).

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoenergy

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool returns OHLCV quotes, implying a read-only operation, but does not discuss potential side effects, authentication needs, or rate limits. The description is adequate but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear first sentence defining the purpose, followed by Args and Returns sections. It is concise but could be slightly tighter (e.g., the example symbols list, while helpful, adds length). Overall, it earns its brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, returns OHLCV quotes), the description covers purpose, parameters, and return type without needing an output schema. It lacks details on pagination or limits, but for a snapshot tool this is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It enumerates valid categories (equity_index, energy, etc.) and provides example symbols, adding significant meaning beyond the schema's minimal 'string' type. However, it does not specify the default value or format expectations beyond examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool quotes all major front-month contracts in a specific futures category, with the verb 'quote' and resource 'futures category snapshot'. It provides a clear list of categories and example symbols. However, it does not explicitly differentiate from sibling tools like 'futures_market_overview' or 'futures_watchlist', which could have similar purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing OHLCV quotes for a category of futures, but it lacks explicit guidance on when to use this tool versus alternatives. No exclusions or preferred contexts are mentioned, leaving the agent to infer usage from the tool's name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

futures_market_overviewAInspect

Top futures contracts sorted by trading volume.

Args: category: all | equity_index | energy | metals | agriculture | rates | forex | crypto_futures exchanges: us (CME, COMEX, NYMEX, CBOT) | global (adds ICE, EUREX) limit: max contracts to return (default 30) volume_min: minimum volume filter (0 = no filter)

Returns: Dict with total_available count and list of contracts with OHLCV + % change.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
categoryNoall
exchangesNous
volume_minNo

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses return format (Dict with total_available and list of contracts with OHLCV + % change) but does not mention whether the operation is read-only, rate limits, or side effects. Adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Reasonably concise, with clear Args/Returns structure. The parameter enumeration is a bit lengthy but appropriate for clarity. No superfluous sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately covers return structure and parameter details. However, it does not address how this tool fits among many siblings, slightly reducing completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description fully explains all four parameters: category with enumerated values, exchanges with regional mapping, limit with default, volume_min with meaning. This provides rich semantics beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states 'Top futures contracts sorted by trading volume', clearly specifying the verb (list/sort) and resource (futures contracts). It distinguishes from siblings like futures_category_snapshot by focusing on volume-based ranking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 such as futures_top_movers or futures_watchlist. The description only lists parameters, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

futures_top_moversAInspect

Futures contracts with the biggest percentage moves today.

Args: direction: gainers | losers exchanges: us | global limit: max results volume_min: minimum volume filter (default 10, filters illiquid contracts)

Returns: List of futures ranked by % change with OHLCV data.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
directionNogainers
exchangesNous
volume_minNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It explains it is a read operation returning a list of futures with OHLCV data, and details parameter defaults like volume_min filtering illiquid contracts. No contradictions, but could mention any auth requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise: one-line summary, Args list with each parameter on one line, and Returns line. Front-loaded with purpose, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations or output schema, the description explains return type (list with % change and OHLCV) and all parameters with defaults. Missing details like specific return fields or today's data scope, but sufficient for agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage, but the description provides clear explanations for all parameters: direction (gainers/losers), exchanges (us/global), limit (max results), volume_min (minimum volume filter with default 10). Adds meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns 'Futures contracts with the biggest percentage moves today,' specifying the verb (get) and resource (futures top movers). It implicitly distinguishes from stock-focused siblings like top_gainers and top_losers by focusing on futures.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 (e.g., futures_category_snapshot or futures_market_overview). The description implies usage for top movers but lacks 'when not to use' or explicit comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

futures_watchlistAInspect

Return the full categorized list of well-known front-month futures symbols.

Categories: equity_index, energy, metals, agriculture, rates, forex, crypto_futures. Use these symbols with futures_category_snapshot or coin_analysis for deeper analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description lacks details on behavioral traits (e.g., data freshness or mutability) but adequately describes the output as a list.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the main purpose, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 sufficiently conveys what the tool returns and how to use it, though could mention if the list is exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist; description adds value by listing categories and usage hints beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Explicitly states it returns a categorized list of front-month futures symbols, lists categories, and distinguishes from siblings by suggesting use with futures_category_snapshot or coin_analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context by recommending use with specific sibling tools for deeper analysis, though no explicit when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

market_sentimentCInspect

News sentiment for stocks and crypto (licensed Marketaux entity sentiment).

Args: symbol: Asset symbol ("AAPL", "BTC", "ETH", "TSLA") category: News group to search ("crypto", "stocks", "all") limit: Max articles to analyse

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
symbolYes
categoryNoall

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It mentions 'licensed Marketaux entity sentiment' but does not cover data freshness, rate limits, error behavior, or whether it is read-only. This leaves 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short with a clear one-line summary followed by parameter explanations in a structured Args block. Every sentence adds value, though it could be more compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 explain return values and any limitations. It does not describe the sentiment format (e.g., score range) or how analysis is performed. This is incomplete for an intelligent agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description adds basic meaning for each parameter: symbol examples, category options, and limit as max articles. This is helpful but minimal; no format constraints or validation rules are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides 'news sentiment for stocks and crypto', which is a specific verb and resource. It is distinct from siblings like 'financial_news' which likely provides raw news, but it does not explicitly differentiate itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 describe prerequisites, use cases, or exclusions, leaving the agent to infer usage from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

market_snapshotAInspect

Global market overview: major indices, top crypto, FX rates, and key ETFs. Powered by Yahoo Finance.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_analysisAInspect

Run a multi-agent debate (Technical, Sentiment, Risk) for a specific symbol.

Args: symbol: Symbol — crypto: "BTCUSDT"; stocks: "COMI" (EGX), "THYAO" (BIST), "600519" (SSE), "300251" (SZSE), "2330" (TWSE), "3105" (TPEX), "GDX" (AMEX) exchange: Exchange — crypto: KUCOIN, BINANCE, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, AMEX, NYSEARCA, PCX, SSE, SZSE, TWSE, TPEX timeframe: Time interval (5m, 15m, 1h, 4h, 1D, 1W)

Returns: A structured debate between 3 AI agents culminating in a final trading decision.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
exchangeNoKUCOIN
timeframeNo15m

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes the outcome (structured debate, final trading decision) and names the three agent types. No annotations present, so description carries full burden. Missing potential costs (e.g., rate limits, latency) but sufficiently transparent for selection.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four lines total, front-loaded with purpose, then parameter descriptions with examples, then return value. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and param schema lacking descriptions, the tool description explains the return (structured debate, final decision) and parameter examples. Lacks exact return field details, but sufficient for an AI to decide to use this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds meaning beyond schema types with concrete examples (e.g., 'BTCUSDT', 'KUCOIN', '15m'). Schema coverage is 0%, so description compensates fully, giving practical values and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool runs a multi-agent debate (Technical, Sentiment, Risk) for a symbol. This differentiates it from siblings like 'coin_analysis' or 'market_sentiment' which are single-agent or simpler.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage through examples (symbol, exchange, timeframe) but no explicit when-to-use vs alternatives. Does not mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

multi_timeframe_analysisAInspect

Multi-timeframe alignment analysis (Weekly → Daily → 4H → 1H → 15m).

Canonical name is exactly multi_timeframe_analysis (there is no "get_multi_timeframe_analysis" tool). Use this for cross-timeframe trend alignment on ONE symbol; for a single-timeframe deep dive use coin_analysis; for TA + sentiment + news use combined_analysis.

Example: multi_timeframe_analysis(symbol="SOLUSDT", exchange="BINANCE")

Args: symbol: Bare ticker, no exchange prefix — crypto: "BTCUSDT"; stocks: "COMI" (EGX), "THYAO" (BIST), "600519" (SSE), "300251" (SZSE), "2330" (TWSE), "3105" (TPEX), "GDX" (AMEX) exchange: Exchange — crypto: KUCOIN, BINANCE, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, AMEX, NYSEARCA, PCX, SSE, SZSE, TWSE, TPEX

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
exchangeNoKUCOIN

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden and adequately discloses behavioral traits: it works on multiple timeframes (Weekly to 15m), requires a symbol and exchange, and includes symbol formatting rules. While it does not mention side effects or rate limits, for a non-destructive analysis tool the transparency is high.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a concise first sentence defining purpose, followed by usage guidance, an example, and detailed parameter explanations. Every sentence adds unique value, and the formatting with bullet points for examples enhances readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 2 parameters, no output schema, and no annotations, the description is quite complete: it covers symbol formatting for multiple exchanges, provides a working example, and clarifies scope. It does not describe the output, but that is reasonable given no output schema; however, a brief note on return format would elevate completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has only titles and default value, providing no descriptions. The description extensively compensates with detailed explanations for both parameters: symbol (bare ticker, no exchange prefix, with examples across crypto and stocks) and exchange (lists valid values). This far exceeds the schema's minimal information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it performs multi-timeframe alignment analysis for cross-timeframe trend alignment on one symbol. It distinguishes itself from sibling tools like coin_analysis (single-timeframe) and combined_analysis (TA+sentiment+news), making the purpose specific and unique.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (cross-timeframe trend alignment on ONE symbol) and when not to (use coin_analysis for single-timeframe, combined_analysis for TA+sentiment+news). Provides a clear example and alternative tool names, giving strong usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rating_filterAInspect

Filter coins by Bollinger Band rating.

Args: exchange: Exchange name like KUCOIN, BINANCE, BYBIT, MEXC, etc. timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M rating: BB rating (-3 to +3): -3=Strong Sell, -2=Sell, -1=Weak Sell, 1=Weak Buy, 2=Buy, 3=Strong Buy limit: Number of rows to return (max 50)

Returns list[dict] on success, or an error envelope on total upstream failure ({"error": {"code": "ALL_BATCHES_FAILED", ...}}).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
ratingNo
exchangeNoKUCOIN
timeframeNo5m

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description adequately discloses the return type ('list[dict]' or an error envelope) and the filtering behavior. However, it does not mention any side effects, rate limits, permissions, or whether the operation is read-only, which are important for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the purpose and uses a clear structured format (Args section) for parameters. It is reasonably concise, though the parameter list could be slightly more compact without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema existence and the tool's straightforward nature, the description covers the essential aspects: purpose, parameters, return type, and error handling. It could improve by specifying that it targets cryptocurrency markets, but the exchange examples imply this context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema description coverage, the Args section thoroughly explains all four parameters: exchange (with example values), timeframe (list of options), rating (with rating scale), and limit (max 50). It adds substantial meaning beyond the schema's defaults and types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Filter coins by Bollinger Band rating,' which is a specific verb-resource pair. It clearly differentiates from siblings like 'bollinger_scan' by focusing on rating-based filtering rather than pattern scanning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 such as 'bollinger_scan' or 'coin_analysis.' It lacks explicit context about prerequisites or ideal use cases, leaving the agent to infer usage from parameter details alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

smart_volume_scannerAInspect

Smart volume + technical analysis combination scanner.

Args: exchange: Exchange name min_volume_ratio: Minimum volume multiplier (default 2.0) min_price_change: Minimum price change percentage (default 2.0) rsi_range: "oversold" (<30), "overbought" (>70), "neutral" (30-70), "any" limit: Number of results (max 30)

Returns list[dict] on success, or an error envelope on total upstream failure ({"error": {"code": "ALL_BATCHES_FAILED", ...}}) — inherited from the inner volume_breakout_scan call.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
exchangeNoKUCOIN
rsi_rangeNoany
min_price_changeNo
min_volume_ratioNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses return type (list[dict]) and error envelope on total failure, and mentions inheritance from inner call. However, it does not state whether the tool is read-only or destructive, nor any rate limits or auth requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured as a docstring with clear Args and Returns sections, making it easy to parse. The first sentence is concise, but the full docstring is somewhat verbose. It could be more compact without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 optional parameters and an output schema (not shown), the description covers parameters and the return value structure, including error cases. It does not explain the contents of the returned list[dict] (likely covered by output schema), but missing usage context relative to sibling scanners.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides clear explanations for all 5 parameters, including types, defaults, and allowed values (e.g., rsi_range options 'oversold', 'overbought', 'neutral', 'any'). It also adds constraints like limit max 30, which is not in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it's a combination scanner of volume and technical analysis (RSI). It specifies the verb 'scanner' and the resource, but doesn't explicitly use a verb like 'scan' and doesn't differentiate from siblings such as volume_breakout_scanner 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.

Usage Guidelines2/5

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. Siblings like volume_breakout_scanner likely serve a similar purpose without RSI filtering, but the description does not help the agent choose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stock_extended_hoursAInspect

Real-time pre-market and after-hours prices for a US stock symbol.

Use this when the user asks about a stock outside the regular 9:30am-4pm ET session — earnings reactions, overnight news, "what is X doing in after-hours?", "how did Y open in pre-market?". Returns the most recent valid print from each session window (pre-market, regular, post-market) along with computed % changes vs. the previous close and the regular close, respectively.

During the regular session, post_market will be null (no data yet). On weekends/holidays, returns whatever's most recent in each window.

Args: symbol: US stock symbol — AAPL, NVDA, TSLA, SPY, ^GSPC, etc.

Returns: - pre_market: {price, as_of_utc, change_vs_previous_close_pct} or null - regular: {price, as_of_utc, change_pct} (consolidated tape close) - post_market: {price, as_of_utc, change_vs_regular_close_pct} or null - previous_close, currency, exchange, market_state for context

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description fully bears the burden of behavioral disclosure. It explains that during the regular session, post_market will be null; on weekends/holidays, it returns the most recent data. It details the computed changes (change_vs_previous_close_pct, change_vs_regular_close_pct) and the return structure. This gives a comprehensive understanding of the tool's behavior without contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the purpose. It uses bullet points for return values, making it easy to parse. Every sentence adds value, explaining usage scenarios, session behavior, and computed fields. It is concise given the necessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description thoroughly explains the return format (pre_market, regular, post_market with fields and nullable states) and contextual fields (previous_close, currency, exchange, market_state). It covers edge cases (regular session null, weekends/holidays) and the meaning of each computed percentage change. This is complete for a single-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, but the parameter description in the tool description adds significant meaning: 'symbol: US stock symbol — AAPL, NVDA, TSLA, SPY, ^GSPC, etc.' This clarifies acceptable values. However, it could specify whether case matters or include additional format details, which prevents a perfect score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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 pre-market and after-hours prices for a US stock symbol.' It specifies the verb (get real-time prices) and resource (extended hours data). The purpose is distinct from siblings like stock_prices (regular hours) and yahoo_price, as it explicitly focuses on pre-market and after-hours sessions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this when the user asks about a stock outside the regular 9:30am-4pm ET session' and gives concrete examples: earnings reactions, overnight news, 'what is X doing in after-hours?', 'how did Y open in pre-market?'. It also clarifies when not to use (regular hours). This provides clear guidance for an AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stock_options_chainAInspect

Full options chain (calls + puts) for a US stock symbol and one expiry.

Use this when the user asks "what's the options chain for X?", "show me AAPL puts expiring next Friday", or wants to inspect bid/ask/IV/volume on a specific strike. If no expiry is provided, returns the nearest expiry so Claude can quote it back and ask "want a different one?".

Args: symbol: US stock symbol — AAPL, NVDA, TSLA, SPY, etc. expiry: Optional ISO date (YYYY-MM-DD). Must match one of the available_expiries Yahoo returns; otherwise returns an error with the list of valid dates.

Returns: - underlying_price, underlying_change_pct - requested_expiry, available_expiries (list of YYYY-MM-DD) - call_count, put_count - calls: list of {strike, last_price, bid, ask, volume, open_interest, implied_volatility, in_the_money, expiration} - puts: same shape as calls

ParametersJSON Schema
NameRequiredDescriptionDefault
expiryNo
symbolYes

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite no annotations, the description fully discloses the tool's behavior: it returns underlying price/change, requested expiry, available expiries, counts, and detailed options data. It also covers error handling for invalid expiry dates.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a concise introductory paragraph followed by clear Args and Returns sections. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for the tool's complexity: it covers input constraints, output shape (including nested objects), and edge cases (no expiry, invalid expiry). No additional information is needed for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no descriptions (0% coverage), but the description adds rich meaning: symbol is described as a US stock symbol with examples, and expiry is explained as an optional ISO date that must match Yahoo's available expiries, including error behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it returns the full options chain (calls + puts) for a US stock symbol and one expiry. It differentiates from siblings by focusing on the complete chain for a given expiry, and even clarifies behavior when no expiry is provided.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage examples ('what's the options chain for X?', 'show me AAPL puts expiring next Friday', etc.) and explains the fallback behavior when no expiry is given. It implicitly contrasts with siblings like unusual activity tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stock_options_unusual_activityAInspect

Top strikes by volume / open-interest ratio — institutional positioning signal.

Use this when the user asks "any unusual options activity on X?", "where is the smart money positioned on NVDA before earnings?", or wants a V/OI screener for a ticker. A V/OI ratio > 1 means today's volume already exceeds standing open interest, which classically flags fresh institutional positioning on a specific strike in a specific direction (call vs put).

Scans the soonest few expirations, filters out illiquid strikes (under min_volume), and returns the top-N sorted by V/OI descending. Also returns aggregate call vs put volume so Claude can comment on the overall directional bias.

Args: symbol: US stock symbol — AAPL, NVDA, TSLA, SPY, META, etc. top_n: How many strikes to return. Default 10. min_volume: Filter floor for today's volume — prevents noise from illiquid strikes with high V/OI ratios. Default 100. expiries: Number of soonest expirations to scan. Default 4 (typically covers ~1 month of weeklies + monthlies).

Returns: - underlying_price - expiries_scanned (list of YYYY-MM-DD) - total_call_volume, total_put_volume, put_call_volume_ratio - unusual: list of top-N contracts sorted by V/OI desc, each with {strike, side (call|put), expiration, volume, open_interest, v_oi_ratio, last_price, implied_volatility, in_the_money, strike_vs_spot_pct (moneyness)}

ParametersJSON Schema
NameRequiredDescriptionDefault
top_nNo
symbolYes
expiriesNo
min_volumeNo

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully discloses behavioral traits: it scans soonest few expirations, filters illiquid strikes (min_volume), returns top-N sorted by V/OI descending, and provides aggregate volume. It does not mention destructive actions or rate limits, but these are not expected for a read-only screener.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized: one-line purpose, usage examples, behavioral explanation, parameter list, and return description. Every sentence adds value, no redundancy. It is appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description fully documents return fields (underlying_price, expiries_scanned, volume totals, unusual list with detailed fields). It explains filtering, sorting, and aggregation logic. The tool is complex, but the description is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must explain each parameter, which it does thoroughly: symbol (with examples), top_n (count, default), min_volume (purpose, default), expiries (definition, default). All parameters are clearly defined beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: providing top strikes by volume/open-interest ratio as an institutional positioning signal. It gives specific user query examples ("any unusual options activity on X?", "where is the smart money positioned on NVDA before earnings?") and distinguishes itself from sibling tools like stock_options_chain by focusing on V/OI screening.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool, including specific queries and contexts. It does not provide explicit when-not-to-use or direct comparisons with siblings, but the context (smart money, unusual activity) and sibling list imply when alternatives like stock_options_chain or smart_volume_scanner might be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stock_pricesAInspect

Current price + daily % change for specific stock symbols.

Args: tickers: comma-separated EXCHANGE:SYMBOL list (max 2000 — one upstream request even at full size), e.g. "NASDAQ:NVDA, NASDAQ:TSLA, KRX:005930". The exchange prefix is required — the scanner's direct-ticker lookup is exchange-scoped.

Returns: Envelope dict: rows of {ticker, symbol, description, exchange, price, currency, change_percent} plus a not_found list naming any requested ticker the scanner didn't recognize.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickersYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully explains the return structure (envelope dict with fields and not_found list) and input constraints. It implicitly indicates a read-only operation but does not mention rate limits or caching behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a one-sentence summary followed by structured Args and Returns sections. Every sentence adds value without redundancy, and the key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple single-parameter input and absence of an output schema, the description covers all essential aspects: input format, constraints, return fields, and error handling via 'not_found' list. No critical gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'tickers' has 0% schema description coverage, but the tool description provides extensive semantics: comma-separated exchange-prefixed symbols, maximum 2000 items, and an example. This fully compensates for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides 'Current price + daily % change for specific stock symbols', with specific input format and output structure. It distinguishes itself from siblings by focusing on real-time price data rather than analysis or scanning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies the required ticker format (exchange:SYMBOL), maximum batch size (2000), and example usage. However, it does not explicitly state when to use this tool versus alternatives like 'yahoo_price' or 'stock_extended_hours'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stock_screenerAInspect

Screen stocks by share type — the API twin of TradingView's "Common stock" / "Preferred stock" symbol-search filter.

Args: country: TradingView market name — e.g. america, korea, germany, brazil, japan, uk, india, turkey, canada, australia, france, hongkong stock_type: common | preferred limit: rows to return (max 2000, single upstream request), ranked by market cap descending exclude_otc: default True — drop OTC listings (foreign companies traded over-the-counter); "america" otherwise means "US venue", not "US company" compact: default False — True returns only ticker/symbol/price/currency/ change_percent per row (light payload for bulk price feeds)

Returns: Envelope dict: total_matches (market-wide count), returned, and rows of {ticker, symbol, description, exchange, price, currency, change_percent, dividend_yield, market_cap}. Prices are in the market's local currency (e.g. KRW for korea).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
compactNo
countryNoamerica
stock_typeNocommon
exclude_otcNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses important behaviors: single upstream request, max 2000 rows, ranking by market cap, OTC handling, compact mode, return envelope details, and local currency pricing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with Args and Returns sections and front-loaded with purpose, though it could be slightly more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is highly complete, covering return format, country list, parameter defaults, edge cases (OTC, currency), and ranking order, despite no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema coverage, the description adds rich meaning to all 5 parameters, including country market names, stock_type options, limit constraints, exclude_otc logic, and compact output details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it screens stocks by share type and references TradingView's filter, but does not explicitly differentiate from sibling tools like egx_stock_screener.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for stock screening but provides no explicit guidance on when to use this tool versus the many sibling tools, nor any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

top_gainersAInspect

Return top gainers for an exchange and timeframe using Bollinger Band analysis.

Args: exchange: Exchange name — crypto: KUCOIN, BINANCE, BYBIT, MEXC; stocks: EGX, BIST, NASDAQ, NYSE, BURSA, HKEX, SSE, SZSE, TWSE, TPEX timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M limit: Number of rows to return (max 50)

Returns: list[dict] on success. On total upstream failure returns a structured error envelope: {"error": {"code": "ALL_BATCHES_FAILED", ...}}.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
exchangeNoKUCOIN
timeframeNo15m

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must disclose behavior. It states the tool returns data based on Bollinger Band analysis and describes the return format (list of dicts on success, error envelope on failure). However, it does not explicitly state it is a read-only operation or mention any side effects, leaving a small gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (about 100 words) and well-structured with 'Args' and 'Returns' sections. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description adequately covers the tool's purpose, parameters, and return format. It lists all parameter options, making it easy for an agent to invoke. Minor omission: no details about sorting or whether results are top N by gain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage, but the description compensates fully by listing all valid exchange names and timeframes, and stating the maximum limit (50). This adds critical 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns top gainers using Bollinger Band analysis for a given exchange and timeframe. It distinguishes from siblings like top_losers and bollinger_scan by specifying the exact use case.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 (e.g., top_losers, bollinger_scan). The description lists allowed exchanges and timeframes, which aids selection, but lacks 'when not to use' or comparison to similar tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

top_losersAInspect

Return top losers for an exchange and timeframe. Supports crypto (KUCOIN, BINANCE, MEXC) and stocks (EGX, BIST, NASDAQ).

Returns list[dict] on success, or an error envelope on total upstream failure ({"error": {"code": "ALL_BATCHES_FAILED", ...}}).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
exchangeNoKUCOIN
timeframeNo15m

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses return format (list[dict] on success, error envelope on failure) and mentions 'total upstream failure'. It lacks details on side effects, rate limits, or authentication, but the read-only nature is implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff, front-loaded with the core purpose. Every sentence adds value, and the error handling note is relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists (context indicates), the description need not detail return fields. It covers supported exchanges, return type, and error behavior. Minor gap: no mention of default parameter values, but those are in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage, so the description must compensate. It adds meaning by listing possible exchange values (KUCOIN, BINANCE, MEXC, EGX, BIST, NASDAQ) and referencing timeframe, but does not enumerate timeframe options or explain the 'limit' parameter. Partial value added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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 specific supported exchanges (crypto and stock). It distinctly differentiates from sibling tools like 'top_gainers' and market overview tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly mentions supported exchanges and the purpose (top losers), implying when to use it. However, it does not explicitly state when not to use it or mention alternatives, though the sibling list provides context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

volume_breakout_scannerAInspect

Detect coins with volume breakout + price breakout.

Args: exchange: Exchange name like KUCOIN, BINANCE, BYBIT, MEXC, etc. timeframe: One of 5m, 15m, 1h, 4h, 1D, 1W, 1M volume_multiplier: How many times the volume should be above normal level (default 2.0) price_change_min: Minimum price change percentage (default 3.0) limit: Number of rows to return (max 50)

Returns list[dict] on success, or an error envelope on total upstream failure ({"error": {"code": "ALL_BATCHES_FAILED", ...}}). The empty list now strictly means "no matches today"; rate-limit cliffs surface explicitly.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
exchangeNoKUCOIN
timeframeNo15m
price_change_minNo
volume_multiplierNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description fully discloses return formats, error handling, and the meaning of an empty list. It addresses potential edge cases (rate-limit cliffs surface explicitly), providing good transparency beyond basic parameter definitions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with separate sections for arguments and return behavior. It is concise but includes all necessary details without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 (not shown), the description adequately covers return types and error cases. However, it could benefit from a usage example or explicit notes on prerequisites like API keys, though not critical for functionality.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, but the description compensates fully by explaining each parameter's purpose, acceptable values (e.g., exchange list, timeframe options), and defaults. This adds substantial meaning beyond the schema's type and default fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool detects coins with volume breakout and price breakout. It specifies key parameters like exchange, timeframe, and thresholds, but does not directly contrast with sibling scanners such as smart_volume_scanner or bollinger_scan, which may have overlapping capabilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains return behavior (empty list means no matches, error envelope for upstream failures) but lacks explicit guidance on when to use this tool versus alternatives. No when-not-to-use advice is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

volume_confirmation_analysisCInspect

Detailed volume confirmation analysis for a specific coin.

Args: symbol: Coin symbol (e.g., BTCUSDT) exchange: Exchange name timeframe: Time frame for analysis

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
exchangeNoKUCOIN
timeframeNo15m

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_strategyAInspect

Walk-forward backtest to detect overfitting — validates strategy on unseen data.

Args: symbol: Yahoo Finance symbol (AAPL, BTC-USD, SPY…) strategy: rsi | bollinger | macd | ema_cross | supertrend | donchian | keltner_breakout (rsi_pullback and triple_ema not supported here — SMA200 warmup exceeds typical fold size; use run_backtest with period='2y') period: '1mo', '3mo', '6mo', '1y', '2y' (recommend '2y') initial_capital: Starting capital per fold in USD (default $10,000) commission_pct: Per-trade commission % (default 0.1%) slippage_pct: Per-trade slippage % (default 0.05%) n_splits: Number of walk-forward folds (default 3, max 10) train_ratio: Fraction of each fold used for training (default 0.7) interval: '1d' (daily) or '1h' (hourly)

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo2y
symbolYes
intervalNo1d
n_splitsNo
strategyYes
train_ratioNo
slippage_pctNo
commission_pctNo
initial_capitalNo

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It explains the walk-forward validation concept and parameters, but does not mention whether the tool modifies any data, has state, or what the output format is. The agent knows it's a computation but lacks details on side effects or return structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a one-sentence summary followed by a clear bulleted list of arguments. Every sentence serves a purpose, and there is no superfluous text. The format aids quick scanning by an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (9 parameters, no annotations, no output schema), the description covers inputs well but omits any description of the output. An agent selecting this tool needs to know what it returns (e.g., metrics, fold results) to decide if it suits the task. This gap reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides thorough explanations for all 9 parameters, including allowed values (e.g., strategy enum, period formats), defaults, and recommendations. Since the input schema has 0% description coverage, the description fully compensates by adding essential meaning beyond property titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's core function: 'Walk-forward backtest to detect overfitting — validates strategy on unseen data.' This is a specific verb-resource pair. However, it does not explicitly differentiate from sibling backtest tools like backtest_strategy, leaving the agent to infer when to choose this over alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists two strategies (rsi_pullback, triple_ema) that are NOT supported in this tool and directs users to 'use run_backtest with period='2y'' instead. This provides clear when-not-to-use guidance. However, it lacks a general statement about when to prefer walk-forward over a standard backtest.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yahoo_priceBInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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. Dates show when Glama detected each change.

  1. 37 tool updatesv0.7.1
    • First observedadvanced_candle_pattern
    • First observedbacktest_strategy
    • First observedbitcoin_market_pulse
    • First observedbollinger_scan
    • First observedcoin_analysis
    • First observedcombined_analysis
    • First observedcompare_strategies
    • First observedconsecutive_candles_scan
    • First observedegx_fibonacci_retracement
    • First observedegx_index_analysis
    • First observedegx_market_overview
    • First observedegx_sector_scan
    • First observedegx_sector_scanner
    • First observedegx_stock_screener
    • First observedegx_trade_plan
    • First observedfinancial_news
    • First observedfutures_category_snapshot
    • First observedfutures_market_overview
    • First observedfutures_top_movers
    • First observedfutures_watchlist
    • First observedmarket_sentiment
    • First observedmarket_snapshot
    • First observedmulti_agent_analysis
    • First observedmulti_timeframe_analysis
    • First observedrating_filter
    • First observedsmart_volume_scanner
    • First observedstock_extended_hours
    • First observedstock_options_chain
    • First observedstock_options_unusual_activity
    • First observedstock_prices
    • First observedstock_screener
    • First observedtop_gainers
    • First observedtop_losers
    • First observedvolume_breakout_scanner
    • First observedvolume_confirmation_analysis
    • First observedwalk_forward_backtest_strategy
    • First observedyahoo_price

TDQS

B3.1/5.0
Disambiguation3/5

Many tools have overlapping purposes (multiple scanners, multiple analysis tools), but detailed descriptions help differentiate them. Some tools like 'bollinger_scan' and 'rating_filter' serve distinct niches, but the high count makes it easy for an agent to pick the wrong one.

Naming Consistency2/5

Naming conventions are inconsistent: some use verb_noun (e.g., 'bollinger_scan'), others use noun_verb (e.g., 'volume_breakout_scanner'), and some are descriptive phrases (e.g., 'stock_options_unusual_activity'). No uniform pattern is followed.

Tool Count2/5

With 37 tools, the server feels overloaded. Many tools serve similar purposes (e.g., multiple scanners, multiple backtest variants), and the scope could be consolidated into a more focused set.

Completeness4/5

The tool set covers a wide range: scanning, detailed analysis, backtesting, market overview, news sentiment, and options. Missing areas like trade execution or portfolio management are likely out of scope, so the coverage is strong for its domain.

Maintenance

ActivityActive
ResponsivenessSlow

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    The most complete AI-powered trading toolkit for Claude and MCP clients, offering backtesting, live sentiment, Yahoo Finance, and 30+ technical analysis tools in one MCP server.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that provides AI agents with financial tools including real-time quotes, backtesting, technical analysis, and multi-exchange data via a simple CLI interface.
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    A comprehensive MCP server that integrates TradingView Desktop automation, screener API, Yahoo Finance, IDX/BEI tools, backtesting, news sentiment, trade math, and market sessions. It enables traders to perform technical analysis, backtest strategies, manage positions, and automate TradingView tasks through natural language.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/atilaahmettaner/tradingview-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server