stock-scanner-mcp
This server provides a comprehensive suite of tools for stock and crypto market analysis, spanning scanning, technicals, options, insider trades, forex, sentiment, and more.
Stock Market
Scan US stocks (NYSE, NASDAQ, AMEX) with custom filters (price, RSI, volume, market cap, etc.)
Get delayed quotes, pre/post-market data, and compare 2–5 stocks side-by-side
Technical indicators: RSI, MACD, Bollinger Bands, moving averages, pivot points across multiple timeframes
Top gainers, losers, highest-volume stocks, and volume breakouts (2x+ above 10-day average)
Real-time VIX, S&P 500, NASDAQ, Dow Jones indices and sector ETF performance (XLK, XLF, etc.)
Market breadth: advance/decline ratio, % above SMA 50/200, 52-week highs/lows
Cryptocurrency
Real-time crypto quotes, scanning with custom filters, and technical analysis
Top gaining pairs, trending coins (by 24h search popularity), and global market stats (market cap, BTC/ETH dominance)
Crypto Fear & Greed Index with historical values
Options
Full options chains with Greeks (Delta, Gamma, Theta, Vega)
Unusual options activity detection, max pain strike price, implied move from ATM straddle pricing
CBOE put/call ratio (equity, index, or total)
SEC Filings & Ownership
Search SEC EDGAR filings; retrieve 10-K, 10-Q, 8-K reports
Financial metrics from XBRL data (Revenue, Net Income, EPS, Assets, Liabilities)
Insider trades (Form 4), institutional holdings (13F), and activist investor activity (13D/13G)
Sentiment & Reddit
CNN Fear & Greed Index with 7 sub-indicators and historical trend
Reddit trending tickers, mention counts, and bullish/bearish/neutral sentiment analysis across r/wallstreetbets, r/stocks, r/investing, r/options
Forex
Latest and historical ECB exchange rates for 31 currencies (back to 1999)
Date-range rate history (up to 90 days) and currency conversion
Additional Data (API keys required)
FINNHUB_API_KEY: Real-time quotes, company news, earnings, analyst ratings, short interestALPHA_VANTAGE_API_KEY: Daily price history, fundamentals, earnings, dividend historyFRED_API_KEY: Economic calendar and macro indicators (CPI, GDP, fed funds rate)
Personalized Workspace (optional)
Save a trading profile, named watchlists, and per-symbol investment thesis notes
Get personalized market briefs and alerts based on saved theses and live market data
Pre-built Workflows
19 ready-made skills covering daily market routines, in-depth analysis, trading strategies, macro insights, and risk assessment
Provides access to the CNN Fear & Greed Index for market sentiment analysis.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@stock-scanner-mcpwhat are the top gaining stocks today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
stock-scanner-mcp
A modular MCP server for Claude Code and Claude Desktop that provides real-time access to stock and crypto market data. Scan markets, check technicals, monitor insider trades, track earnings, analyze options flow, and optionally save your own watchlists and thesis notes from one server.
69 tools across 15 modules — 11 modules work with zero API keys, including an optional stateful Market Workspace.
Quick Start
Three steps to get the full experience: server config, trading skills, and workspace setup.
Step 1 — Add the server to your MCP config
Copy this complete config block into your config file:
Claude Code:
~/.claude.json(global) or.mcp.json(project-local)Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows)
{
"mcpServers": {
"stock-scanner": {
"command": "npx",
"args": ["-y", "stock-scanner-mcp", "--enable-workspace"],
"env": {
"FINNHUB_API_KEY": "your-key-here",
"ALPHA_VANTAGE_API_KEY": "your-key-here",
"FRED_API_KEY": "your-key-here"
}
}
}
}This gives you 49 tools immediately with no API keys. API keys are optional and free — they unlock 20 additional tools for real-time quotes, news, earnings, and economic data. See API Keys below for where to get them.
Minimal config — if you don't want workspace or API keys, use this instead:
{ "mcpServers": { "stock-scanner": { "command": "npx", "args": ["-y", "stock-scanner-mcp"] } } }This gives you 42 stateless tools with no local data storage.
Restart Claude Desktop after saving. Claude Code picks up the config automatically.
Claude Code shortcut — install as a plugin instead of Steps 1 and 2. If you use Claude Code, skip the manual config above and install everything with two commands:
/plugin marketplace add yyordanov-tradu/stock-scanner-mcp /plugin install stock-scanner@tradu-marketplaceRun
/reload-plugins, then/mcp— you should see thestock-scannerserver listed as connected. The first launch runsnpx -y stock-scanner-mcp, which downloads the package once (then it is cached). The plugin enables the workspace by default (data is stored in~/.stock-scanner-mcp) and passes the optional API keys (FINNHUB_API_KEY,ALPHA_VANTAGE_API_KEY,FRED_API_KEY) through from your environment; modules without a key are skipped automatically.The plugin already bundles the skills — do NOT run Step 2. All 19 skills ship with the plugin and load under the
stock-scanner:namespace, e.g./stock-scanner:analyze-stock AAPL,/stock-scanner:morning-briefing,/stock-scanner:setup-market-workspace. Running the Step 2 installer as well copies a second, unprefixed set into~/.claude/skills/, and the two collide — Step 2 is only for the manual (non-plugin) install. After installing, go straight to Step 3, using the namespaced command:/stock-scanner:setup-market-workspace.
Step 2 — Install the trading skills
Skip this step if you installed via the plugin above — the plugin already bundles these skills (as
stock-scanner:<name>). This step is only for the manual config in Step 1.
Run this command in your terminal:
npx -p stock-scanner-mcp stock-scanner-install-skillsThis installs 19 slash commands (like /morning-briefing, /analyze-stock AAPL, /setup-market-workspace) into ~/.claude/skills/ so they're available in every Claude Code session. See Trading Skills for the full list.
Step 3 — Set up your workspace
Run /setup-market-workspace in Claude Code. It asks three quick questions:
> /setup-market-workspace
Setting up your market workspace — I'll ask a few quick questions to get started...
1. What kind of trader or investor are you?
(e.g., options trader, swing trader, long-term investor, crypto-focused)
→ "I'm mostly a swing trader, also watch crypto"
2. Which names or assets should I save to your core watchlist?
(e.g., AAPL, MARA, BTC, Gold)
→ "MARA, HOOD, SOFI, BTC, ETH"
3. Do you want a daily or weekly market review?
→ "Daily"Once answered, it saves your profile and creates a core watchlist:
✓ Workspace saved
Profile swing trader | daily review
Watchlist core — MARA, HOOD, SOFI, BTC, ETHYou can also skip the skill and ask Claude directly: "Set up my workspace — I'm a swing trader, create a core watchlist with MARA, HOOD, BTC, daily reviews."
That's it. You now have 69 tools, 19 skills, and a personalized workspace. Try /workspace-morning-brief for your first tailored market scan.
Related MCP server: Trading MCP Server
What You Can Do
"What are the top gaining stocks today?"
"Show me technicals for AAPL on the hourly timeframe"
"Any insider trades for TSLA in the last 30 days?"
"What's the options chain for AAPL expiring next Friday?"
"What's the current fed funds rate and CPI trend?"
"Convert $10,000 USD to EUR"
"Set up a core watchlist with MARA, HOOD, and BTC"
"Give me a personalized morning brief for my saved watchlist"Highlights
Stock scanning — screen by price, RSI, volume, market cap with custom filters
Technical analysis — RSI, MACD, Bollinger Bands, moving averages, pivots across multiple timeframes
Options flow — chains with Greeks, unusual activity detection, max pain, implied move
Insider trades — parsed Form 4 transactions with buy/sell/grant details
Earnings & news — calendar, analyst ratings, company news, short interest
Crypto — real-time quotes, technicals, trending coins, market stats
Macro — CPI, GDP, fed funds rate, economic calendar, yield curve data
Forex — 31 currency pairs from ECB, conversion, historical rates
Sentiment — CNN Fear & Greed Index, Crypto Fear & Greed
Market Workspace — save a trading profile, named watchlists, and thesis notes for personalized workflows across sessions
Trading Skills
19 ready-made workflows that chain multiple tools into structured analysis. Each skill orchestrates 5-14 tools in parallel and outputs a verdict with direction, confidence, and key levels.
Category | Skills | What They Do |
Daily Routines |
| Pre-market scan, EOD recap, crypto overview |
Analysis |
| Deep dives and side-by-side comparisons |
Strategies |
| Swing trades, earnings options, smart money, income screen |
Macro |
| Economic indicators, Fed outlook, sector rotation |
Risk |
| Insider trades, institutional flow, pre-trade risk scorecard |
Workspace |
| Guided setup for saved profile/watchlist context and a personalized brief driven by your stored names |
Skills degrade gracefully when optional API keys are missing. Workspace skills require --enable-workspace in the server config.
npx -p stock-scanner-mcp stock-scanner-install-skills # all 19 skills
npx -p stock-scanner-mcp stock-scanner-install-skills --scope project # project only (.claude/skills/)
npx -p stock-scanner-mcp stock-scanner-install-skills --category macro # one category
npx -p stock-scanner-mcp stock-scanner-install-skills --category workspace # workspace skills only
npx -p stock-scanner-mcp stock-scanner-install-skills --list # list without installing
npx -p stock-scanner-mcp stock-scanner-install-skills --force # overwrite existingManual: git clone this repo and cp -r skills/*/ ~/.claude/skills/
See skills/README.md for the full catalog.
Market Workspace
The Market Workspace is an optional stateful layer that remembers your trading context across sessions — your trading style, named watchlists, and investment thesis notes per symbol. Skills like /workspace-morning-brief use this context to deliver personalized market scans instead of generic ones.
What you can do with it
/workspace-morning-brief— personalized pre-market scan that reads your profile and watchlist, checks earnings, news, and price action for your names, and highlights what matters todayAdd more watchlists — ask Claude: "Create a watchlist called 'earnings' with AAPL, MSFT, GOOG"
Track investment theses — save your reasoning per ticker so the system monitors it for you (see below)
Update anytime — "Add NVDA to my core watchlist" or "Change my review cadence to weekly"
Thesis Tracking
Save your investment reasoning per ticker — direction, key levels, catalysts, and timeframe — so the system can monitor it across sessions.
Save a thesis:
"My thesis on NIO: bullish above $6.35, that confirms the uptrend. Below it the setup is invalid."Claude saves the structured thesis:
Field | Value |
Direction | Bullish above $6.35 |
Bear case | Below $6.35 uptrend is invalidated |
Catalyst | Technical breakout at $6.35 |
Timeframe | Swing |
How it works in practice: When you run /workspace-morning-brief, the brief cross-references your saved theses against live price action:
NIO drops to $6.10 → "NIO broke below your $6.35 thesis floor — re-evaluate."
NIO rallies to $7.20 → "NIO holding above your $6.35 level — uptrend thesis intact."
Without a thesis, the brief just reports a price change. With a thesis, it tells you whether the move matters to your plan.
Each thesis supports five fields: summary, bullCase, bearCase, catalyst, and timeframe. You can save up to 200 theses per workspace.
Configuration reference
Option | Default | Description |
| off | Activate the 7 workspace tools |
|
| Directory for |
|
| Default exchange for ticker resolution |
Data is stored locally in workspace.json — no cloud sync, no external calls. If you omit --enable-workspace, the server stays fully stateless and writes no local data.
For the full list of workspace tools, see the tool reference below.
Documentation
Installation & Setup — Getting the MCP server running in Claude Code or Cursor
Trading Skills — Ready-made workflows for professional analysis
Sidecar HTTP API — REST endpoints for non-MCP clients
Docker Deployment — Running in containers with workspace persistence
FAQ & Troubleshooting — Common issues and solutions
Modules
Module | Tools | API Key | Description |
tradingview | 10 | None | US stock scanner with quotes, technicals, sectors, indices, and screening |
tradingview-crypto | 4 | None | Crypto pair scanner with technicals and screening |
sec-edgar | 6 | None | SEC filings, insider trades, institutional holdings, ownership |
coingecko | 3 | None | Crypto market data, trending coins, global stats |
options | 5 | None | Options chains, Greeks, unusual activity, max pain, implied move |
options-cboe | 1 | None | CBOE put/call ratio sentiment indicator |
sentiment | 2 | None | CNN Fear & Greed Index, Crypto Fear & Greed Index |
frankfurter | 5 | None | Forex exchange rates — 31 currencies from ECB (daily reference rates) |
4 | None | Reddit trending tickers, mention tracking, sentiment, and batch watchlist scan from r/wallstreetbets, r/stocks, r/investing, r/options | |
market-breadth | 1 | None | Market breadth metrics (advance/decline ratio, SMA 50/200, 52-week highs/lows) |
unified-market | 3 | None | Smart provider routing for quotes, profiles, and technicals across Finnhub, Alpha Vantage, and TradingView |
workspace | 7 | None | Optional stateful profile, watchlists, and thesis tracking for personalized workflows ( |
finnhub | 9 |
| Quotes, news, earnings, analyst ratings, short interest |
alpha-vantage | 5 |
| Quotes, daily prices, fundamentals, earnings, dividends |
fred | 4 |
| Economic calendar, indicators (CPI, GDP, rates), historical data |
Modules auto-enable when their API key is set. No-key modules are always enabled, except workspace, which requires --enable-workspace.
For a complete list of every tool with descriptions, see the Full Tool Reference below.
Full Tool Reference (69 tools)
TradingView — Stock Scanning (no API key)
Tool | Description |
| Scan US stocks with custom filters (price, RSI, volume, etc.) |
| Side-by-side comparison of 2-5 stocks |
| 15-min delayed quotes for stock tickers (includes pre/post-market) |
| Technical indicators (RSI, MACD, moving averages, pivots) |
| Today's top gaining stocks by % change |
| Today's top losing stocks by % change |
| Highest volume stocks today |
| Real-time VIX, S&P 500, NASDAQ, Dow Jones |
| S&P 500 sector ETF performance (weekly, monthly, YTD) |
| Stocks with unusual volume (2x+ their 10-day average) |
TradingView — Crypto (no API key)
Tool | Description |
| Scan crypto pairs with custom filters across major exchanges |
| Real-time crypto pair quotes (e.g. BTCUSDT, ETHUSDT) |
| Technical analysis for crypto pairs (RSI, MACD, MAs, Bollinger) |
| Top gaining crypto pairs by % change |
SEC EDGAR — Filings & Ownership (no API key)
Tool | Description |
| Full-text search across all SEC filings |
| Recent official filings (10-K, 10-Q, 8-K) for a company |
| Financial metrics from XBRL data (Revenue, EPS, Net Income) |
| Insider buy/sell activity with parsed Form 4 transaction details |
| Institutional holdings (13F) by ticker or manager name |
| Major ownership changes — 13D/13G activist investor filings |
CoinGecko — Crypto Intelligence (no API key)
Tool | Description |
| Detailed crypto info by CoinGecko slug (e.g. 'bitcoin', 'solana') |
| Top 7 trending cryptos by search volume (last 24h) |
| Global crypto market cap, volume, BTC/ETH dominance |
Options — Chains, Greeks & Unusual Activity (no API key)
Tool | Description |
| Available expiration dates for a stock's options |
| Full options chain with Greeks for a given expiration |
| Unusual options activity — high volume/OI contracts |
| Max pain (strike where most options expire worthless) |
| Expected move from ATM straddle pricing |
Options CBOE — Put/Call Sentiment (no API key)
Tool | Description |
| CBOE equity/index/total put/call ratio for market sentiment |
Sentiment — Fear & Greed (no API key)
Tool | Description |
| CNN Fear & Greed Index — composite score (0-100) with 7 sub-indicators |
| Crypto Fear & Greed Index — daily score (0-100) with historical values |
Frankfurter — Forex Rates (no API key)
Tool | Description |
| Latest ECB exchange rates for 31 currencies |
| Exchange rates for a specific past date |
| Daily rate history for a date range (max 90 days) |
| Convert an amount between two currencies |
| List all supported currency codes |
Reddit — Trending Tickers & Sentiment (no API key)
Tool | Description |
| Trending stock tickers from Reddit by mention frequency across r/wallstreetbets, r/stocks, r/investing, r/options |
| Mention count and top posts for a specific ticker across Reddit investing subreddits |
| Keyword-based sentiment analysis (bullish/bearish/neutral) for a ticker from Reddit discussions |
| Batch Reddit scan for a list of tickers in one pass (combined OR query, ceil(N/20)×4 requests) — per-ticker mentions, sentiment, top post, and a hot flag (≥5 mentions) |
Market Breadth — Breadth Indicators (no API key)
Tool | Description |
| Get market breadth statistics for US equities: advance/decline ratio, SMA 50/200 percent above, and 52-week new highs/lows |
Unified Market — Smart Routing (no API key)
Tool | Description |
| Get current price, change, volume, and day high/low for a given symbol. Automatically routes to the best available data provider. |
| Get general company metrics, exchange, description, and capitalization. Automatically routes to the best available data provider. |
| Get common technical indicators (RSI, moving averages, etc.) for a given symbol. |
Workspace — Personalized Context (optional, no API key)
Enabled only when you start the server with --enable-workspace.
Tool | Description |
| Read the saved trading profile and workspace defaults |
| Save or update trading style, asset focus, and review cadence |
| List all saved watchlists and their resolved instruments |
| Create a named empty watchlist such as |
| Replace a watchlist's saved symbols with resolved, deduplicated instruments |
| Read a thesis for a symbol using a stable hit/miss JSON shape |
| Save or update a thesis note for a symbol |
Finnhub — News, Earnings & Macro (requires FINNHUB_API_KEY)
Tool | Description |
| Real-time stock quote |
| Company info (industry, market cap, IPO date, website) |
| Comparable companies in the same industry |
| Exchange open/closed status and current session |
| Latest market news (general, forex, crypto, merger) |
| Company-specific news by ticker and date range |
| Upcoming and historical earnings reports |
| Analyst consensus and rating history |
| Short interest, short ratio, and key financial metrics |
Alpha Vantage — Fundamentals & History (requires ALPHA_VANTAGE_API_KEY)
Tool | Description |
| Real-time stock quote (price, change, volume) |
| Daily OHLCV price history (up to 100 days) |
| Company fundamentals (PE, market cap, sector, analyst target) |
| Historical EPS actual vs estimate by quarter |
| Historical dividend payments and dates |
FRED — US Economic Data (requires FRED_API_KEY)
Tool | Description |
| Upcoming high-impact economic releases (FOMC, CPI, NFP, GDP) |
| Latest value for any indicator (CPI, fed funds, unemployment, etc.) |
| Historical values with unit transforms (YoY %, change, level) |
| Discover FRED series IDs by keyword |
Configuration
CLI Options
npx -y stock-scanner-mcp --modules tradingview,sec-edgar # Enable specific modules only
npx -y stock-scanner-mcp --default-exchange NYSE # Set default exchange
npx -y stock-scanner-mcp --enable-workspace # Turn on local workspace tools
npx -y stock-scanner-mcp --enable-workspace --data-dir /tmp/market-workspace # Custom data directory
npx -y stock-scanner-mcp --help # Show all optionsAPI Keys (optional)
All three keys are free — no credit card required:
Key | Get it from | What it unlocks |
| Real-time quotes, company news, earnings calendar, analyst ratings, short interest (9 tools) | |
| Daily price history, company fundamentals, earnings & dividend history (5 tools) | |
| Economic calendar, CPI/GDP/fed funds indicators, historical data (4 tools) |
Add them to the env block in your MCP config (see Quick Start).
Use with other MCP clients
Any MCP client that supports stdio servers can run this package. Use the same JSON config from Quick Start. If your client does not expose npx, install the package first and point the client at the installed binary instead.
HTTP Sidecar
An optional HTTP server exposing all tools as REST endpoints for non-MCP integrations (GPT Actions, chat UIs, LLM pipelines). It includes an OpenAPI 3.1 specification for automated tool discovery.
npx stock-scanner-sidecar # Start on port 3200
npx stock-scanner-sidecar --port 8080 # Custom port
# Optional: Enable the stateful Market Workspace via HTTP
npx stock-scanner-sidecar --enable-workspace --data-dir ./my-data
# Access the OpenAPI spec
curl http://localhost:3200/openapi.jsonSee Sidecar HTTP API for endpoint details.
69 tools exposed as REST routes, including /market/quote, /options/chain, /workspace/profile, and more.
Rate Limits
API | Free Tier Limit | Cache TTL |
TradingView | No documented limit | — |
SEC EDGAR | 10 req/sec | 5 min |
CoinGecko | ~30 calls/min | 1 min |
Yahoo Finance (Options) | No documented limit | 5 min |
CBOE | No documented limit | 30 min |
Finnhub | 30 calls/sec | 5 min |
Alpha Vantage | 5 calls/min, 25/day | 1 min |
FRED | No hard limit | 30 min |
Frankfurter (ECB) | No limit | 1 hour |
All modules use in-memory TTL caching to minimize API calls.
Development
npm install && npm run build && npm test
npm run lint # TypeScript type checking
npm run validate-tools # Tool description quality check
npm run validate-doc-tools # Skill/command tool reference checkCredibility Artifacts
src/
├── index.ts # MCP server entry + prompt definitions
├── config.ts # CLI arg parsing
├── registry.ts # Module auto-discovery and filtering
├── modules/
│ ├── tradingview/ # 10 tools — stock scanning, quotes, technicals, sectors, indices
│ ├── tradingview-crypto/ # 4 tools — crypto scanning and technicals
│ ├── sec-edgar/ # 6 tools — filings, insider trades, holdings
│ ├── coingecko/ # 3 tools — crypto market data
│ ├── options/ # 5 tools — options chains, Greeks, unusual activity, implied move
│ ├── options-cboe/ # 1 tool — CBOE put/call ratio sentiment
│ ├── workspace/ # 7 tools — stateful profile, watchlists, thesis notes
│ ├── finnhub/ # 9 tools — quotes, news, earnings, analyst ratings, short interest
│ ├── alpha-vantage/ # 5 tools — quotes, fundamentals, dividends
│ ├── fred/ # 4 tools — economic calendar, indicators, historical data
│ ├── sentiment/ # 2 tools — Fear & Greed indexes (market + crypto)
│ ├── frankfurter/ # 5 tools — forex exchange rates (ECB, 31 currencies)
│ ├── reddit/ # 4 tools — trending tickers, mentions, sentiment, watchlist scan from Reddit
│ └── unified-market/ # 3 tools — smart provider routing for quotes/profiles/technicals
├── sidecar/
│ ├── index.ts # HTTP sidecar entry point (port 3200)
│ ├── routes.ts # Declarative URL routing table
│ └── server.ts # Dynamic HTTP request handler
└── shared/
├── http.ts # HTTP client with timeouts and key sanitization
├── cache.ts # In-memory TTL cache
├── types.ts # ToolDefinition, ToolResult, helpers
├── resolver.ts # Ticker/exchange resolution
└── utils.ts # withMetadata error wrapperLicense
MIT
Available Tools
39 toolscoingecko_coinARead-only
Get detailed cryptocurrency info from CoinGecko. Use slug IDs (e.g. 'bitcoin', 'ethereum', 'solana'), NOT ticker symbols.
| Name | Required | Description | Default |
|---|---|---|---|
| coinId | Yes | CoinGecko coin ID / slug (e.g. 'bitcoin', 'ethereum', 'cardano') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the agent knows it's a safe read operation. The description adds that it gets 'detailed cryptocurrency info' but does not disclose additional behavioral traits beyond input format. With annotations covering safety, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. The purpose is front-loaded, and the input tip is concise. Perfect structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter and no output schema, the description adequately covers purpose and input format. It could mention that it returns full coin details, but overall it is complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description of coinId. The description reinforces using slug IDs (not tickers), adding value beyond the schema. This slight clarification justifies a score above baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed cryptocurrency info from CoinGecko and distinguishes input format (slug IDs vs ticker symbols), setting it apart from siblings like coingecko_global and coingecko_trending.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to use slug IDs, not ticker symbols, which is a key usage guideline. However, it does not explicitly state when to use this tool over siblings, but the context of siblings (global, trending) implies it's for individual coin details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coingecko_globalARead-only
Get global cryptocurrency market statistics: total market cap, 24h volume, BTC/ETH dominance.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds value by listing specific data returned (market cap, volume, dominance), but does not disclose additional behavioral traits like response size or latency. It neither contradicts nor significantly extends annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence conveying the core purpose and key data points without any filler. Front-loads the verb and resource. Every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with no output schema, the description adequately communicates what the tool returns. Could mention that the data is a point-in-time snapshot, but the essential information is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The description adds meaning by enumerating the expected output fields (market cap, volume, dominance), which is especially valuable given the absence of an output schema. This fully compensates for the lack of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and identifies the resource ('global cryptocurrency market statistics') with explicit data points (total market cap, 24h volume, BTC/ETH dominance). It clearly distinguishes from sibling tools like coingecko_coin (specific coin data) and coingecko_trending (trending coins).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving global market aggregates but provides no explicit guidance on when to use this tool versus alternatives (e.g., coingecko_coin for individual coins) or exclusion criteria. Usage context is clear but not formally stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coingecko_trendingARead-only
Get trending cryptocurrencies on CoinGecko (top 7 by search popularity in last 24h).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds specific behavior: it returns top 7 coins by search popularity in the last 24h, providing useful context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It is front-loaded with the main action and includes specific details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, a simple purpose, and annotations covering safety, the description is fully complete for an agent to understand when and how to use the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the baseline is 4. The description doesn't need to add parameter info, and it doesn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves trending cryptocurrencies from CoinGecko, specifies it returns the top 7 by search popularity over the last 24 hours, and distinguishes it from sibling tools like coingecko_coin and coingecko_global.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states what the tool does, and the context of sibling tools implies when to use alternatives. However, it doesn't explicitly mention when not to use this tool, but given its simplicity, it's nearly obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_quoteARead-only
Get real-time quotes for specific crypto pairs. Supports 'BTCUSDT' (defaults to BINANCE) or 'BINANCE:BTCUSDT'.
| Name | Required | Description | Default |
|---|---|---|---|
| symbols | Yes | Crypto pair symbols (e.g. ['BTCUSDT', 'ETHUSDT']) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so no destructive behavior. The description adds context about supported symbol formats but does not disclose additional behavioral traits like data freshness, rate limits, or return format. With annotations covering the safety profile, the description provides minor additive value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action ('Get real-time quotes'), no fluff. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and description does not explain return structure or fields. For a simple tool this is acceptable but incomplete; missing details like response format (single object vs array), fields included, and timestamp information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the parameter with 100% description coverage. Description adds meaningful usage detail about acceptable symbol formats and default exchange, exceeding what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets real-time quotes for crypto pairs and provides specific symbol format examples. It is specific but does not explicitly distinguish from sibling tools that also retrieve crypto quotes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indirectly implies usage through symbol format examples but does not explicitly guide when to use this tool versus alternatives like tradingview_quote or coingecko_coin. No exclusions or when-not scenarios provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_scanBRead-only
Scan cryptocurrency pairs using TradingView filters. Returns price, volume, and technical indicators.
| Name | Required | Description | Default |
|---|---|---|---|
| filters | No | Filter conditions combined with AND | |
| major_only | No | Only include major exchanges (default: true) | |
| columns | No | Columns to return (default: all 23) | |
| timeframe | No | Timeframe: '1m','5m','15m','1h','4h','1d','1W','1M'. Default: '1d' | |
| limit | No | Max results (default: 50, max: 200) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false, openWorldHint=true. The description adds that it returns price, volume, and technical indicators, providing some behavioral context, but does not disclose rate limits, pagination, or result structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single-sentence description is efficient and front-loaded with the action and resource. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks output schema, so description should provide more detail on return format. It gives a high-level summary (price, volume, indicators) but insufficient for complex filtering results. Acceptable given annotations and schema richness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters have descriptions in the input schema (100% coverage), so the description's role is reduced. The description does not add meaningful detail beyond the schema; it merely restates the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool scans cryptocurrency pairs using TradingView filters and returns price, volume, and technical indicators. It is specific about the resource and method, but it does not explicitly distinguish from sibling 'tradingview_scan' which likely scans stocks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'tradingview_scan', 'crypto_technicals', or 'crypto_quote'. No prerequisites or exclusions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_technicalsARead-only
Get technical analysis for crypto pairs. Supports 'BTCUSDT' or 'BINANCE:BTCUSDT'.
| Name | Required | Description | Default |
|---|---|---|---|
| symbols | Yes | Crypto symbols (e.g. ['BTCUSDT']) | |
| timeframe | No | Timeframe. Default: '1d' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds limited behavioral context beyond supported symbol formats. Does not disclose output format or specific indicators included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with front-loaded purpose and examples. No wasted words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple read tool with good annotations and full schema coverage, but lacks any description of the return format or types of technical indicators provided, which could be important for an AI agent deciding how to use the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover symbols and timeframe with defaults; description adds value by showing alternative format 'BINANCE:BTCUSDT', which is not in schema. Provides practical guidance beyond schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool retrieves technical analysis for crypto pairs and provides specific supported formats ('BTCUSDT' or 'BINANCE:BTCUSDT'), distinguishing it from sibling tools like tradingview_technicals which likely focus on stocks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like tradingview_technicals or other crypto tools. Does not mention prerequisites or scenarios where it should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_top_gainersARead-only
Get top gaining cryptocurrency pairs by percentage change. Defaults to major exchanges and volume > $10k.
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | No | Specific exchange (e.g. BINANCE) | |
| limit | No | Number of results (default: 20, max: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows it's a safe read operation. The description adds behavioral context (defaults to major exchanges, volume > $10k). No contradictory or missing critical behaviors noted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Information is front-loaded and clear. Every part of the description serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with two optional parameters, the description is largely complete. It explains defaults and filtering. Missing output format details are acceptable given the tool's straightforward nature and lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters with descriptions. The description adds value by stating the volume filter and default exchange, which are not explicit in the schema. This supplements the schema without duplicating it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'top gaining cryptocurrency pairs by percentage change'. It differentiates from sibling tools like tradingview_top_gainers (for stocks) by specifying cryptocurrency and default filters (major exchanges, volume > $10k).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use: for crypto top gainers with default exchange and volume filters. It implies usage via defaults but does not explicitly state when not to use or alternative tools. Sibling differentiation is clear from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgar_company_factsARead-only
Retrieve high-fidelity financial metrics (Revenue, Net Income, EPS, Assets, Liabilities) directly from SEC XBRL data. This is more reliable than extracting numbers from text filings.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol (e.g. 'AAPL') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds value by specifying the data source (XBRL) and reliability. No contradictions; the description supports the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Front-loaded with action and key details (metrics, source, reliability). Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with good annotations, the description is complete. It lists the metrics returned, source, and reliability advantage. No output schema needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the 'ticker' parameter. The description doesn't add extra context for the parameter beyond listing the metrics retrieved, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Retrieve' and resource 'financial metrics', listing examples (Revenue, Net Income, etc.). It clearly states the data source (SEC XBRL) and distinguishes itself from text extraction, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use: when you need specific financial metrics from SEC filings, and states it's more reliable than text extraction. It doesn't explicitly mention alternatives like edgar_company_filings, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgar_company_filingsARead-only
Retrieve the most recent official filings for a specific company. Use this to find a company's latest 10-K (annual), 10-Q (quarterly), or 8-K (current events) reports.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol (e.g. 'AAPL') | |
| forms | No | Form types (e.g. ['10-K', '10-Q']). Default: all. | |
| limit | No | Max results (default: 10, max: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's addition of 'most recent official filings' provides some context but does not significantly enhance transparency beyond what annotations already provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two clear, efficient sentences. First sentence defines purpose, second gives examples. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, high schema coverage, and no output schema, the description adequately explains the tool's function and typical use cases, though it could mention default limit behavior (covered by schema).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is 3. The description adds context about typical form types (10-K, 10-Q, 8-K) but does not add new meaning beyond what the schema already provides for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieve' and specific resource 'official filings' for a specific company, and distinguishes from siblings like edgar_company_facts or edgar_insider_trades by focusing on filings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells when to use the tool ('to find a company's latest 10-K, 10-Q, or 8-K reports'), but does not explicitly mention when not to use or provide alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgar_insider_tradesARead-only
Monitor legal stock trades made by company executives and directors (Forms 3, 4, 5). Returns detailed transaction data including insider names, titles, buy/sell type, share amounts, and prices.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol (e.g. 'AAPL') | |
| limit | No | Max results (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false. Description adds output details (insider names, prices) but not behavioral traits like rate limits or data sources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and output summary, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple retrieval tool with two parameters and annotations; missing mention of SEC filing source but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; description adds no extra parameter meaning beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it monitors legal insider trades (Forms 3,4,5) and lists specific output fields, distinguishing it from sibling EDGAR tools like company_filings or institutional_holdings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies use for tracking insider transactions but does not explicitly state when to use versus alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgar_institutional_holdingsARead-only
Track 'big money' moves by searching Form 13F filings. Use to find what hedge funds and institutional managers (e.g. 'Berkshire Hathaway') are holding or what firms own a specific ticker.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Stock ticker (e.g. 'AAPL') or institutional manager name (e.g. 'Berkshire Hathaway') | |
| limit | No | Max results (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is clear. The description adds that it searches SEC Form 13F data, but does not detail result format, pagination, or data freshness. With no output schema, more context on output structure would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that immediately conveys the tool's purpose. Examples are included without unnecessary elaboration. No filler words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with two parameters and no output schema, the description covers key aspects: what data is searched, how to search (by ticker or manager), and examples. It lacks explicit mention of result structure, but the use cases imply it. Adequate for the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for 'query' and 'limit'. The description reinforces the dual role of 'query' (ticker or manager) but adds minimal new meaning. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: tracking 'big money' moves by searching Form 13F filings. It specifies two use cases (finding holdings by manager or ticker) and distinguishes it from sibling tools like edgar_ownership_filings by focusing on institutional holdings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage context is provided: 'Use to find what hedge funds and institutional managers ... are holding or what firms own a specific ticker.' This implies when to use it, though it does not explicitly exclude alternatives like edgar_ownership_filings or edgar_company_filings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgar_ownership_filingsARead-only
Monitor significant changes in company ownership (5%+ stakes). Use 13D and 13G filings to identify activist investors (e.g. Carl Icahn, Ryan Cohen) entering or exiting a stock.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol (e.g. 'AAPL') | |
| limit | No | Max results (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, and openWorldHint, so the description does not need to restate safety. It adds context about the filing types and activist focus but does not disclose return format or pagination behavior. This is adequate given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The key purpose and use case are presented first, making it easy for the agent to quickly understand the tool without extraneous details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two parameters, no output schema, and simple purpose, the description covers the basics. However, it does not hint at the structure of the response (e.g., filer name, stake size, filing date), which would help the agent set expectations for the data returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (ticker, limit) are described concisely. The description adds no additional semantics beyond the schema, which is expected when schema is already informative.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool monitors significant ownership changes (5%+ stakes) using 13D and 13G filings, with specific examples of activist investors. This distinguishes it from other Edgar sibling tools like insider trades or institutional holdings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the use case (monitoring ownership changes via activist filings) and even names relevant filers. However, it does not explicitly exclude scenarios or mention alternatives like edgar_insider_trades for non-5% stakes, though siblings are available.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgar_searchARead-only
Search SEC EDGAR filings by keyword. Best for finding mentions of specific trends, technologies, or events across all companies. Returns metadata including accession numbers, form types, and direct sec.gov links.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Keyword or phrase to search for (e.g. 'lithium mining', 'share repurchase program') | |
| dateRange | No | Date range as 'YYYY-MM-DD,YYYY-MM-DD' | |
| forms | No | Form types to filter (e.g. ['10-K', '10-Q', '8-K']) | |
| tickers | No | Company tickers to filter (e.g. ['AAPL', 'MSFT']) | |
| limit | No | Max results (default: 20, max: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the annotations by stating that the tool returns metadata (accession numbers, form types, direct sec.gov links). The annotations already confirm read-only and non-destructive behavior, so the description provides useful additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (two sentences), with the first sentence stating the core purpose and the second providing best-use context and output details. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no output schema), the description adequately explains the output format (metadata with accession numbers, form types, links). It does not cover pagination or limits beyond what the schema provides, but the description is sufficient for an agent to understand the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to explain parameters. It mentions the keyword search implicitly but adds no extra meaning beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (search by keyword) and resource (SEC EDGAR filings). It distinguishes from sibling tools like edgar_company_filings by specifying that it searches across all companies for mentions of specific trends or events, rather than retrieving all filings for a specific company.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly notes that the tool is best for finding mentions of specific topics across all companies, providing clear context for when to use it. However, it does not explicitly state when not to use it or mention alternative tools, only implying differentiation through the sibling tool list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
frankfurter_convertARead-only
Convert an amount between two currencies at the latest ECB daily reference rate. Updated once per business day — not suitable for intraday trading rates. Useful for cross-border stock valuation and currency exposure calculations.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount to convert | |
| from | Yes | Source currency (e.g. 'USD') | |
| to | Yes | Target currency (e.g. 'EUR') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive behavior. The description adds valuable context: 'Updated once per business day' and 'latest ECB daily reference rate', which explain behavior beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three succinct sentences, each with purpose. First sentence captures core action, second adds temporal constraint, third gives practical use cases. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, limitations, and use cases. However, with no output schema, it could mention the return format (e.g., converted amount and rate) for completeness. Still mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well-documented. The description does not add new meaning beyond what is in the schema (e.g., 'amount', 'from', 'to').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Convert' and resource 'amount between two currencies' using ECB reference rates. It distinguishes from sibling tools like frankfurter_historical or frankfurter_currencies, which are for different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use (for cross-border stock valuation, currency exposure) and when not to use (not suitable for intraday trading rates). It does not name alternative tools directly but provides clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
frankfurter_currenciesARead-only
List all 31 currencies supported by the Frankfurter API with their full names. Use to look up valid currency codes before calling other frankfurter tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's addition that it lists 31 currencies with full names provides some context but does not reveal significant behavioral traits beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the core action and use case without any wasted words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description adequately covers purpose and usage. It could optionally describe the output format, but it remains fairly complete for a simple listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage, the description does not need to add parameter information. The baseline is 4, and the description adds no extraneous details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all 31 supported currencies with full names, and explicitly distinguishes its purpose from sibling tools by noting it should be used to look up valid currency codes before calling other frankfurter tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use the tool: to look up valid currency codes before calling other frankfurter tools. While it doesn't explicitly state when not to use, the positive guidance is clear and helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
frankfurter_historicalARead-only
Get ECB forex exchange rates for a specific past date. Daily reference rates, not real-time trading rates. If the date is a weekend or holiday, returns the previous business day's rates. Data available from 1999-01-04 (Euro inception).
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date in YYYY-MM-DD format | |
| base | No | Base currency | USD |
| symbols | No | Comma-separated target currencies. Omit for all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, destructiveHint, openWorldHint), the description adds key behavioral insights: data availability from 1999-01-04, weekend/holiday fallback logic, and that rates are not real-time. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with the core purpose, no unnecessary words. Every sentence adds value: what it does, what it is not, data availability, and edge-case handling.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, no output schema, and adequate annotations, the description fully covers the necessary context: purpose, data source (ECB), historical scope, non-real-time nature, and behavior on non-business days. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema documentation coverage is 100%, so parameters are well-documented in the schema itself. The description mentions date and implicitly base currency (default USD in schema), but does not add significant new semantic value beyond what the schema already provides for any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves ECB forex exchange rates for a specific past date, distinguishing it from sibling tools like frankfurter_latest (current rates) or frankfurter_timeseries (date range). Verb 'Get' plus resource 'exchange rates for a specific past date' is precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly notes these are daily reference rates not real-time trading rates, and explains behavior on weekends/holidays (returns previous business day). While it doesn't explicitly name alternative tools for real-time or latest rates, the context with sibling tools provides clear alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
frankfurter_latestARead-only
Get latest forex exchange rates from the European Central Bank. Returns daily reference rates for 31 major currencies. Updated once per business day at ~16:00 CET. These are reference rates, not real-time trading rates.
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | Base currency | USD |
| symbols | No | Comma-separated target currencies (e.g. 'EUR,GBP,JPY'). Omit for all 31. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, so description's job is lighter. The description adds valuable behavioral context: update frequency ('once per business day at ~16:00 CET'), data source (ECB), and the nature of rates ('reference rates, not real-time'). These go beyond the annotations and help set expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each essential: function+source, output scope, update schedule+caveat. No wasted words. Front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description could briefly mention the return format (e.g., JSON with base, date, and rates). It does not cover error states or weekend behavior. However, it is adequate for a simple tool with clear parameters and good annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The tool description adds no additional parameter information beyond what the schema already provides (e.g., 'base' default and length, 'symbols' format). Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states 'Get latest forex exchange rates from the European Central Bank', which is a specific verb+resource. It distinguishes from sibling tools like frankfurter_historical and frankfurter_timeseries by focusing on the latest rates. The caveat about reference rates vs real-time further clarifies scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage context: for the most recent daily reference rates, not real-time trading rates. It does not explicitly list alternatives or when-not-to-use, but the sibling set and the description's clarity provide good guidance for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
frankfurter_timeseriesARead-only
Get daily ECB forex rate history for a date range (max 90 days). Daily reference rates, not real-time. Use for currency trend analysis. Only business days included (weekends/holidays omitted). Requires symbols filter to control response size.
| Name | Required | Description | Default |
|---|---|---|---|
| start_date | Yes | Start date (YYYY-MM-DD) | |
| end_date | No | End date (YYYY-MM-DD, defaults to today, max 90 days from start) | |
| base | No | Base currency | USD |
| symbols | Yes | Required: comma-separated target currencies (e.g. 'EUR,GBP') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, destructiveHint, openWorldHint. The description adds important behavioral context beyond annotations: 'Daily reference rates, not real-time', 'Only business days included (weekends/holidays omitted)', 'Requires symbols filter to control response size'. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. The first sentence states the core purpose and primary constraint (max 90 days). Every sentence adds value with no redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description could explain return format, but 'Get daily ECB forex rate history' and 'Use for currency trend analysis' imply the output is a list of historical rates. The description covers parameter usage and data nature, making it sufficiently complete for agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description only repeats that symbols is required and max 90 days is a constraint, adding minimal new semantic value beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets 'daily ECB forex rate history for a date range (max 90 days)', specifies 'Daily reference rates, not real-time', and is 'Use for currency trend analysis'. This distinguishes it from siblings like frankfurter_latest (single latest) and frankfurter_convert.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for use ('currency trend analysis') and hints at when not to use ('not real-time'), but does not explicitly name alternatives or state when not to use. It mentions the required symbols filter and max 90 days, which helps the agent decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
options_chainARead-only
Get the full option chain (calls and puts) with calculated Greeks (Delta, Gamma, Theta, Vega). Use options_expirations first to find valid dates. If expiration is omitted, uses nearest date. By default, returns strikes within ±20% of current price to save tokens. Use strike_min/strike_max for custom range, or all_strikes=true for everything.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock ticker symbol (e.g. 'AAPL', 'NYSE:GM') | |
| expiration | No | Expiration date as YYYY-MM-DD (e.g. '2026-04-17'). If omitted, uses nearest. | |
| side | No | Filter by option type (default: both) | |
| limit | No | Max contracts per side (default: 50, max: 200) | |
| strike_min | No | Minimum strike price filter (e.g. 25.0) | |
| strike_max | No | Maximum strike price filter (e.g. 35.0) | |
| all_strikes | No | Return all strikes instead of centering around ATM (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral context: returns both calls and puts, calculates Greeks, defaults to nearest expiration, and limits strikes to save tokens. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two efficient sentences. The first states the core purpose, the second provides usage and defaults. No wasted words; key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters and no output schema, the description covers defaults, token-saving behavior, and customization options. It could mention return format or rate limits, but for a read-only data tool, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds meaning by explaining defaults (omitted expiration uses nearest) and the purpose of all_strikes, strike_min/max for custom ranges. This enhances understanding beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Get the full option chain (calls and puts) with calculated Greeks', clearly indicating the verb (Get), resource (option chain), and distinct outputs (Greeks). It differentiates from siblings like options_expirations and options_implied_move.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises using options_expirations first to find valid dates, explains default behavior (nearest expiration, strikes ±20% of price), and provides override options (strike_min/strike_max, all_strikes=true). This gives clear when-to-use and how-to-customize guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
options_expirationsARead-only
Get all available option expiration dates for a stock ticker. Call this first to discover valid dates, then pass one to options_chain or options_max_pain.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock ticker symbol (e.g. 'AAPL', 'NYSE:GM') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to repeat that. However, the description adds context about the tool's role in a multi-step process, but lacks details on data freshness, rate limits, or pagination. With annotations covering safety, this is adequate but not outstanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: first defines the tool's core function, second provides usage guidance. Every sentence adds value with no redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter, the description covers the essential purpose and workflow. It lacks explicit mention of the output format (e.g., array of date strings), but the context of 'expiration dates' and the sequential usage mitigates this gap. Overall, it is sufficiently informative for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the symbol parameter. The description's mention of 'stock ticker' does not add meaning beyond the schema's example. Baseline score of 3 is appropriate as no additional parameter semantics are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves all available option expiration dates for a stock ticker, using specific verb-resource pairing. It distinguishes itself from sibling tools like options_chain and options_max_pain by prescribing a sequential usage: call this first to discover dates, then pass one to those tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool ('call this first') and provides alternatives ('options_chain or options_max_pain'), giving clear guidance on the intended workflow and when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
options_implied_moveARead-only
Calculate the expected move implied by options pricing (ATM straddle). Essential for earnings plays — shows how much the market expects the stock to move. Compare implied vs historical moves to assess if premium is cheap or expensive.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock ticker symbol (e.g. 'AAPL', 'NYSE:GM') | |
| expiration | No | Expiration date as YYYY-MM-DD. If omitted, uses nearest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, safe operation. Description adds behavioral context: it calculates implied move using ATM straddle and can be used to compare implied vs historical moves. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states the function, second explains usage context. No redundant information, well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple (2 params, no output schema). Description explains what it calculates and how to interpret results (implied move, compare to historical). Sufficient for an agent to use correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters (symbol and expiration). Description does not add parameter-specific details beyond schema, but the mention of 'ATM straddle' provides contextual value. Baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool calculates the expected move implied by options pricing using ATM straddle. It distinguishes itself from sibling tools like options_chain or options_max_pain by specifying its unique function and use case (earnings plays).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides a clear use case: 'Essential for earnings plays' and suggests comparing implied vs historical moves to assess premium. It lacks explicit exclusions or alternatives, but the context is sufficient for typical usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
options_max_painARead-only
Calculate the max pain strike price — where cumulative option open interest expires worthless. This level often acts as a support/resistance zone near expiration.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock ticker symbol (e.g. 'AAPL', 'NYSE:GM') | |
| expiration | No | Expiration date as YYYY-MM-DD. If omitted, uses nearest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds context about the calculation nature (max pain) but no additional behavioral traits like rate limits or permission requirements. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences efficiently convey the tool's purpose. No wasted words, but could be slightly more front-loaded with the action verb.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, good annotations, and full schema coverage, the description is sufficiently complete. No output schema, but the expected result (a number) is implied by the definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions (symbol and expiration). The description does not add semantic detail beyond what the schema provides. With 100% schema coverage, baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the max pain strike price, explains the concept as where cumulative option open interest expires worthless, and notes its typical use as support/resistance near expiration. It differentiates from sibling tools like options_chain by focusing on a specific derived metric.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage near expiration for support/resistance analysis but does not explicitly state when to use this tool versus alternatives like options_chain or options_implied_move. No guidance on when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
options_put_call_ratioARead-only
Get historical put/call ratio from CBOE (market-wide sentiment indicator). Ratio > 1.0 = more puts (bearish sentiment), < 0.7 = more calls (bullish/complacent). Types: 'total' (all options), 'equity' (stock options only), 'index' (index options only).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Ratio type (default: total) | |
| days | No | Number of recent trading days to return (default: 30, max: 252) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value by specifying the data source (CBOE), historical nature, and interpretation of ratio values, which informs the agent about behavioral traits beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loaded with purpose, then adds interpretation and type explanation. Every sentence earns its place; no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple historical data retrieval tool with well-documented parameters and no output schema, the description is complete. It explains purpose, interpretation, and types, providing sufficient context for the agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description repeats the enum values for 'type' but does not add new information beyond what schema already provides. No additional detail on 'days' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets historical put/call ratio from CBOE, a market-wide sentiment indicator. It distinguishes from sibling tools by being the only one focused on options ratios and sentiment interpretation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use (market sentiment analysis) and explains interpretation (ratio >1 bearish, <0.7 bullish). It does not explicitly exclude alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
options_unusual_activityARead-only
Find options contracts with unusually high volume relative to open interest (a common 'smart money' signal). Scans the nearest expiration and flags contracts where volume/OI exceeds a threshold.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock ticker symbol (e.g. 'AAPL', 'NYSE:GM') | |
| volume_oi_ratio | No | Min volume/OI ratio to flag as unusual (default: 3.0) | |
| min_volume | No | Min absolute volume (default: 100) | |
| side | No | Filter by option type (default: both) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds value by specifying it scans the nearest expiration and flags contracts based on a volume/OI threshold, enhancing transparency beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each necessary: first states purpose, second adds key behavior (nearest expiration, threshold). No fluff, front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a scan tool with moderate parameters and no output schema, the description adequately explains the core logic and scope, though it does not detail output format (mitigated by openWorldHint annotation). Complete enough for an agent to understand usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema provides descriptions for all 4 parameters (100% coverage), and the description does not add significant meaning beyond mentioning the volume/OI threshold concept. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Find' and specific resource 'options contracts with unusually high volume relative to open interest', distinguishing it from sibling tools like options_chain and options_max_pain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (scanning for 'smart money' signals) but does not explicitly state when not to use or mention alternatives, though sibling tools provide differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_mentionsARead-only
Get mention count and top posts for a specific stock ticker across Reddit. Searches r/wallstreetbets, r/stocks, r/investing, and r/options. Returns total mentions, per-subreddit breakdown, and top 10 posts by score. Use this to check how much retail attention a ticker is getting.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock ticker symbol (e.g. AAPL, TSLA, GME) | |
| period | No | Time period to search (default: day) | day |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive behavior. The description adds value by specifying the subreddit scope and return structure (total, breakdown, top 10), but does not address potential limitations or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. The first sentence states purpose and subreddits; the second details return values and usage. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description adequately covers return fields and usage. Could mention pagination but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description does not add new meaning beyond implying the symbol is a stock ticker, which is covered in the schema's description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool retrieves mention count and top posts for a stock ticker across specific subreddits, distinguishing it from sibling tools like reddit_sentiment and reddit_trending.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states the tool is for checking retail attention, with implied context about when to use it versus alternatives, but lacks 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.
reddit_sentimentARead-only
Get sentiment analysis for a stock ticker from Reddit discussions. Searches r/wallstreetbets, r/stocks, r/investing, and r/options, then scores each post using keyword matching (bullish terms like 'moon', 'calls', 'breakout' vs bearish terms like 'crash', 'puts', 'dump'). Returns bullish/bearish/neutral counts, average sentiment score, and sample posts. Limitation: keyword-based scoring, not NLP — sarcasm and context may be missed.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock ticker symbol (e.g. AAPL, TSLA, GME) | |
| limit | No | Maximum posts to analyze per subreddit (default: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value by detailing the keyword-matching method, specific subreddits searched, output format, and the limitation about missing sarcasm/context. This goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (three sentences) and well-structured: purpose, method/output, limitation. No redundant information; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description adequately explains the output (counts, sentiment score, sample posts). It covers the limitations and subreddits. Slightly more could be added about pagination or rate limits, but it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (symbol, limit) have clear descriptions in the schema. The description does not add additional meaning beyond what the schema provides, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get sentiment analysis), resource (stock ticker from Reddit discussions), and method (keyword scoring). It distinguishes from sibling tools like 'reddit_mentions' and 'reddit_trending' by focusing on sentiment rather than just mentions or trending topics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for sentiment analysis but does not explicitly compare to alternatives or state when not to use. The limitation about keyword-based scoring provides some context for suitability, but no direct guidance on sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_trendingARead-only
Get trending stock tickers from Reddit based on mention frequency. Scans r/wallstreetbets, r/stocks, r/investing, and r/options for posts mentioning tickers. Returns tickers sorted by mention count with per-subreddit breakdown. Limitation: uses keyword extraction (cashtags + uppercase words), not NLP — some false positives possible. Best for gauging retail buzz, not precise sentiment.
| Name | Required | Description | Default |
|---|---|---|---|
| subreddits | No | Subreddits to scan (default: wallstreetbets, stocks, investing, options) | |
| limit | No | Maximum number of trending tickers to return (default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true. The description adds that the tool uses keyword extraction (cashtags + uppercase words) and not NLP, allowing false positives. This disclosure of non-obvious behavior surpasses what annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, all essential: states purpose, lists subreddits, describes return format, and notes limitations. No redundant or filler language. Efficiently front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description explains that results include tickers sorted by mention count with a per-subreddit breakdown, satisfying understanding of return value. Complexity is low (two optional parameters), and the description covers usage, limitations, and output format completely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, meaning both parameters ('subreddits' and 'limit') are already described in the schema. The description adds no new semantic information about parameters beyond what the schema provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves trending stock tickers from Reddit based on mention frequency, specifying subreddits scanned (r/wallstreetbets, r/stocks, r/investing, r/options) and that returns sorted tickers with per-subreddit breakdown. This distinguishes it from siblings like reddit_sentiment which focuses on sentiment analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it's 'best for gauging retail buzz, not precise sentiment,' giving implicit guidance on when to use it. It also notes the limitation of false positives. However, it does not explicitly state when not to use it or name alternative tools for precise sentiment (e.g., reddit_sentiment).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentiment_crypto_fear_greedARead-only
Get the Crypto Fear & Greed Index from Alternative.me. Returns a score (0-100) with rating (extreme fear/fear/neutral/greed/extreme greed). Based on Bitcoin volatility, market volume, social media, surveys, dominance, and trends. Use this alongside coingecko tools for crypto market context.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds value by explaining the computation basis (Bitcoin volatility, market volume, social media, surveys, dominance, trends), which gives the agent insight into the tool's behavior beyond safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that front-load the core functionality and provide necessary context with zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only tool with no output schema, the description fully covers what the tool returns (score, rating, range) and the underlying factors. It also suggests integration with sibling tools, making it contextually complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters (schema coverage 100% vacuously). The description does not need to add parameter details since none exist; baseline score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves the Crypto Fear & Greed Index from a specific source (Alternative.me), returns a score (0-100) with rating categories, and explains the underlying factors. It distinguishes itself from sibling tools like 'sentiment_fear_greed' and crypto tools by focusing on crypto market sentiment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description recommends using this tool alongside coingecko tools for crypto market context, providing a usage hint. However, it does not explicitly state when not to use it or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentiment_fear_greedARead-only
Get the CNN Fear & Greed Index for the US stock market. Returns a composite score (0-100) with rating (extreme fear/fear/neutral/greed/extreme greed) and 7 sub-indicators: S&P 500 momentum, stock price strength (52w highs vs lows), stock price breadth (McClellan), put/call ratio, VIX, junk bond demand, safe haven demand. Also includes previous close, 1-week, 1-month, and 1-year scores for trend context. Use this to gauge overall market sentiment before analyzing individual stocks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint true and destructiveHint false. The description adds value by detailing the output structure (composite score, rating, sub-indicators, trend context) and scope (US stock market). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that efficiently communicates the tool's purpose and output. It front-loads the key action and then enumerates details. Slightly verbose in listing all sub-indicators, but overall concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description comprehensively explains the return values (composite score, rating, sub-indicators, trend scores) and usage context. The tool has no parameters, and the description covers all necessary information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters, so schema coverage is 100%. Baseline for 0 parameters is 4, as the description need not add parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the CNN Fear & Greed Index for the US stock market, specifying the composite score range, rating categories, 7 sub-indicators, and trend scores. It distinguishes effectively from sibling tools like sentiment_crypto_fear_greed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly suggests using this tool to gauge overall market sentiment before analyzing individual stocks, providing clear context. While it doesn't explicitly list alternatives, the sibling tool list includes crypto-specific sentiment, so guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tradingview_compare_stocksARead-only
Returns price, change, market cap, P/E, EPS, revenue, dividend yield, RSI, and analyst recommendation rating (-1 sell to +1 buy) for 2-5 stocks. Revenue growth rate and analyst price targets are not available.
| Name | Required | Description | Default |
|---|---|---|---|
| tickers | Yes | 2-5 stock tickers to compare (e.g. AAPL, MSFT) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool is known to be safe. The description adds value beyond annotations by listing the specific metrics returned and explicitly noting two types of data that are not available (revenue growth rate and analyst price targets), which helps set expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences with no redundant words. The first sentence lists all returned fields efficiently, and the second sentence notes missing data. Every sentence adds value with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does list returned fields but does not explain the structure of the response (e.g., JSON format, data types for each field, or handling of errors for invalid tickers). For a simple tool with one parameter, this is adequate but has gaps in specifying exact output format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with the schema itself providing a description for the only parameter (tickers as an array of strings with min 2, max 5). The description adds no new information beyond what the schema already provides; it merely restates '2-5 stocks'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns price, change, market cap, P/E, EPS, revenue, dividend yield, RSI, and analyst recommendation rating for 2-5 stocks. This is a specific verb ('returns') and resource ('comparison data for stocks'), distinguishing it from sibling tools like tradingview_quote (single stock) and tradingview_scan (screening).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when comparing multiple stocks and notes data that is not available (revenue growth rate, analyst price targets), but does not explicitly state when to use this tool vs alternatives. No direct guidance on when not to use it or mention of alternative tools for missing data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tradingview_market_indicesARead-only
Get real-time values for major market indices: VIX (volatility), S&P 500, NASDAQ Composite, and Dow Jones. Essential for gauging broad market conditions, risk sentiment, and options pricing context.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false, so the description's 'Get real-time values' adds no new behavioral traits beyond confirming it is a read operation. The description adds context about the indices but not additional behavioral caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and contains no wasted words. It efficiently communicates what the tool does and its use case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no input and no output schema, the description specifies the indices returned and the real-time nature. It does not detail the response format, but it is sufficient for an agent to understand the data provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no input parameters; the schema is empty with 100% coverage. The description does not need to explain parameters, and it provides no parameter information, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Get real-time values for major market indices' and lists specific indices (VIX, S&P 500, NASDAQ Composite, Dow Jones). This distinguishes it from sibling tools like tradingview_quote (individual stocks) and tradingview_scan (screening).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes it is 'Essential for gauging broad market conditions, risk sentiment, and options pricing context,' which guides when to use it. However, it does not explicitly state when not to use or name alternatives, though the purpose is clear relative to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tradingview_quoteARead-only
Get a 15-minute delayed quote for one or more stock tickers (e.g. 'AAPL' or 'NASDAQ:AAPL'). Returns price, change, volume, market cap, and pre-market/after-hours data when available. Data is delayed ~15 minutes during market hours — use finnhub_quote for real-time prices if available. If a ticker returns empty results, retry with the correct exchange prefix (e.g. 'NYSE:CDE', 'AMEX:XYZ').
| Name | Required | Description | Default |
|---|---|---|---|
| tickers | Yes | Stock tickers, e.g. ['AAPL', 'MSFT'] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses 15-min delay, returned data fields, and emptry ticker handling beyond the annotations (readOnlyHint, destructiveHint, openWorldHint). Adds context about data freshness and error recovery.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose and key info, no extraneous words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, delay, returned fields, alternative tool, and error recovery. No output schema needed given the description. Complete for a simple quote tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already describes 'tickers' with examples (100% coverage). Description reinforces format but doesn't add new semantic meaning beyond schema. Acceptable baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'get a 15-minute delayed quote for one or more stock tickers', specifying the verb, resource, and key characteristic (delay). Distinguishes itself from siblings like tradingview_scan and finnhub_quote.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use (for delayed quotes), when not to use (if real-time needed, use finnhub_quote), and provides retry advice with exchange prefix. No ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tradingview_scanARead-only
Scan US stocks with custom filters (price > X, RSI < 30, etc.). Returns up to limit rows with the requested columns.
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | No | Exchange filter, e.g. NASDAQ, NYSE, AMEX | |
| filters | No | Scanner filters | |
| columns | No | Columns to return (default: all 66) | |
| timeframe | No | Timeframe: 1m, 5m, 15m, 1h, 4h, 1d (default), 1W, 1M | |
| limit | No | Max rows (default 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and non-destructive. Description adds context about limit and columns, but no details on rate limits, pagination, or data source.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences covering purpose and output characteristics without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a scan tool with five parameters and no output schema, the description covers scanning concept and output limit. Lacks details on column defaults or operation enum behavior, but open-world hint mitigates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%. Description provides example filter syntax and explains limit meaning, but doesn't elaborate on each parameter beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'scan' and resource 'US stocks' with custom filters. Distinguishes from sibling tools like quotes and top gainers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for custom stock screening, but no explicit guidance on when to use vs alternatives like tradingview_technicals or tradingview_top_gainers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tradingview_sector_performanceARead-only
Get performance of S&P 500 sector ETFs (XLK, XLF, XLE, XLV, XLI, XLP, XLU, XLY, XLC, XLRE, XLB). Shows which sectors are leading or lagging today. Essential for sector rotation analysis.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds context about the specific ETFs and daily performance, but doesn't disclose potential limitations (e.g., data delay, frequency of updates) or error conditions. It adds moderate value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The first sentence states the core purpose, the second adds value and application context. Every word is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no parameters, the description fully explains what the tool does (returns performance of specified sector ETFs) and why it is useful (sector rotation analysis). It is complete for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description faces no burden to explain them. Baseline for 0 parameters is 4. The description does not add parameter info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the exact action ('Get performance'), the precise resource ('S&P 500 sector ETFs' with ticker symbols), and the output ('shows which sectors are leading or lagging today'). It clearly distinguishes from sibling tools that cover broad indices or individual stocks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool ('Essential for sector rotation analysis') and implies it's for daily performance comparison. However, it doesn't explicitly contrast with sibling tools like tradingview_market_indices or tradingview_quote, leaving some ambiguity for agents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tradingview_technicalsARead-only
Get technical indicators (RSI, MACD, moving averages, pivot points, etc.) for one or more stock tickers. If a ticker returns empty results, retry with the correct exchange prefix (e.g. 'NYSE:CDE', 'AMEX:XYZ').
| Name | Required | Description | Default |
|---|---|---|---|
| tickers | Yes | Stock tickers, e.g. ['AAPL', 'IBM'] | |
| timeframe | No | Timeframe (default: 1d) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true) align with read-only nature. Description adds important retry behavior beyond annotations: 'retry with correct exchange prefix'. No contradictions. Could mention data freshness or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first defines purpose, second provides critical troubleshooting guidance. No waste; each sentence contributes directly to tool usability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers input and retry behavior well. No output schema, so description could list return structure or example values. However, given sibling richness, the purpose is clear. Minor gap in output details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with descriptions for both parameters. Description restates that tickers are stock tickers and implies multiple tickers are allowed, but adds no new meaning beyond schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'Get' and resource 'technical indicators... for stock tickers'. Lists well-known examples (RSI, MACD, moving averages). Distinguishes from siblings like tradingview_quote (price) and tradingview_scan (screening).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit retry guidance with exchange prefix for empty results. Does not explicitly state when to prefer this tool over siblings, but context from sibling names makes it clear this is for technical indicators. Missing direct comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tradingview_top_gainersARead-only
Get today's top gaining stocks by percentage change on a given exchange. Defaults to major US exchanges (NYSE, NASDAQ, AMEX) with market cap > $100M. OTC penny stocks excluded by default.
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | No | Exchange (default: all US) | |
| include_otc | No | Whether to include OTC penny stocks (default: false) | |
| limit | No | Max results (default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive nature. The description adds value by specifying that it returns today's data, filters by market cap, and excludes OTC by default. No contradictions; no additional critical behavioral gaps noted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two succinct sentences front-load the core purpose and essential details without redundancy. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, read-only tool with optional parameters, the description adequately covers what the tool does, its defaults, and exclusions. No output schema exists, but the return type is implied. Minor gap: pagination or limit behavior could be clarified, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema describes all 3 parameters with defaults. The description enhances understanding by explaining the default exchange ('major US exchanges...') and why OTC is excluded, providing context beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get'), resource ('top gaining stocks'), and metric ('percentage change'). It specifies defaults (US exchanges, market cap > $100M) and exclusions (OTC), effectively differentiating it from siblings like tradingview_top_losers and tradingview_top_volume.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use: for top gainers on an exchange. It provides context on defaults and exclusions but does not explicitly compare with alternatives like tradingview_scan or tradingview_top_losers, though the tool name and purpose are self-explanatory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tradingview_top_losersARead-only
Get today's top losing stocks by percentage change on a given exchange. Defaults to major US exchanges (NYSE, NASDAQ, AMEX) with market cap > $100M. OTC penny stocks excluded by default.
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | No | Exchange (default: all US) | |
| include_otc | No | Whether to include OTC penny stocks (default: false) | |
| limit | No | Max results (default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only behavior. The description adds value by detailing default filtering criteria (market cap, OTC exclusion) and real-time nature. No mention of rate limits or pagination, but not critical for this tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The purpose is front-loaded in the first sentence, and defaults are provided in the second. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, defaults, and exclusions. For a simple list tool with no output schema, this is sufficient. Could mention sorting order, but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all parameters (100% coverage). The description adds context about default exchanges and market cap threshold, which enhances understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves today's top losing stocks by percentage change on a given exchange. It specifies defaults (major US exchanges, market cap > $100M) and distinguishes from sibling tools like tradingview_top_gainers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (finding today's top losers) but does not explicitly mention alternatives or when not to use. The sibling list and tool name provide some differentiation, but explicit guidance would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tradingview_top_volumeARead-only
Get stocks with the highest trading volume today. Defaults to major US exchanges.
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | No | Exchange (default: all US) | |
| include_otc | No | Whether to include OTC penny stocks (default: false) | |
| limit | No | Max results (default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the description's role is reduced. It adds minor behavioral context by noting 'Defaults to major US exchanges', but does not disclose data freshness, rate limits, or how the limit parameter affects results. This is adequate given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, and no unnecessary words. Every sentence serves a clear purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with three optional parameters and no output schema, the description is largely complete. It covers the essential purpose and defaults, though it could optionally mention the effect of the limit parameter or the inclusion of OTC stocks. Overall, it adequately informs the AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by specifying default behavior for the exchange parameter ('Defaults to major US exchanges') and time context ('today'), which are not fully captured in the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and resource 'stocks with highest trading volume today', clearly stating what the tool does. It also distinguishes from sibling tools like tradingview_volume_breakout and tradingview_top_gainers by focusing on volume magnitude rather than breakouts or price changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (stocks with highest volume today, default US exchanges) but does not explicitly state when to use this tool over alternatives like volume_breakout or when not to use it. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tradingview_volume_breakoutARead-only
Find stocks with unusual volume (current volume significantly above average). Defaults to major exchanges.
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | No | Exchange filter | |
| limit | No | Max results (default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the baseline is adequate. The description does not add notable behavioral context beyond the core purpose, but does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the action, no wasted words. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 optional parameters, no output schema, clear annotations), the description is nearly complete. It covers the core functionality and default behavior, though could mention that results are based on recent data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for exchange and limit. The description adds a default behavior note ('Defaults to major exchanges'), providing minimal extra value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds stocks with unusual volume (current volume significantly above average). It distinguishes itself from siblings like tradingview_top_volume by emphasizing 'unusual' rather than just high volume.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions defaulting to major exchanges but provides no explicit guidance on when to use this tool versus alternatives like tradingview_top_volume or tradingview_scan. The usage context is implied but not stated.
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.
39 tool updates
v1.16.4- First observed
coingecko_coin - First observed
coingecko_global - First observed
coingecko_trending - First observed
crypto_quote - First observed
crypto_scan - First observed
crypto_technicals - First observed
crypto_top_gainers - First observed
edgar_company_facts - First observed
edgar_company_filings - First observed
edgar_insider_trades - First observed
edgar_institutional_holdings - First observed
edgar_ownership_filings - First observed
edgar_search - First observed
frankfurter_convert - First observed
frankfurter_currencies - First observed
frankfurter_historical - First observed
frankfurter_latest - First observed
frankfurter_timeseries - First observed
options_chain - First observed
options_expirations - First observed
options_implied_move - First observed
options_max_pain - First observed
options_put_call_ratio - First observed
options_unusual_activity - First observed
reddit_mentions - First observed
reddit_sentiment - First observed
reddit_trending - First observed
sentiment_crypto_fear_greed - First observed
sentiment_fear_greed - First observed
tradingview_compare_stocks - First observed
tradingview_market_indices - First observed
tradingview_quote - First observed
tradingview_scan - First observed
tradingview_sector_performance - First observed
tradingview_technicals - First observed
tradingview_top_gainers - First observed
tradingview_top_losers - First observed
tradingview_top_volume - First observed
tradingview_volume_breakout
TDQS
Scored across 39 tools
Tools are grouped by clear prefixes (coingecko_, crypto_, edgar_, frankfurter_, options_, reddit_, sentiment_, tradingview_) and each group has distinct purposes. However, slight overlap exists between crypto and stock sentiment tools (sentiment_crypto_fear_greed vs sentiment_fear_greed) and between quote tools (crypto_quote vs coingecko_coin) which may cause minor confusion.
All tool names follow a consistent snake_case pattern with a descriptive prefix and noun (e.g., coingecko_coin, edgar_company_facts, options_chain, reddit_mentions). No mixing of conventions, making it easy for an agent to predict tool names.
With 39 tools, the server is on the higher end of the acceptable range. The breadth of domains (crypto, stocks, options, forex, SEC filings, Reddit, sentiment) justifies many tools, but some may be redundant (e.g., multiple crypto price tools), slightly bloating the count.
The tool set covers an extensive range of financial research needs: crypto data, stock quotes/scans/technicals, options analysis, forex rates, SEC filings, Reddit sentiment, and market sentiment indices. It provides a complete toolkit for investment analysis with few obvious gaps.
Maintenance
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
Real-time market events, sentiment, and technical analysis as MCP tools, backed by real data.
Hosted MCP for stocks, options, Greeks, brokers, order previews, alerts, and workflows.
MCP server with quote and live cryptocurrency price tools, local and cloud-deployed transports.
Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceReal-time financial market data MCP server. Stocks, crypto, technicals, sentiment, FDA calendar. No API keys required.-
- AlicenseAqualityFmaintenanceA comprehensive MCP server for stock analysis and trading insights, including stock screening, fundamental analysis, insider trading, options analysis, social media research, and news analysis.1075MIT
- AlicenseAqualityCmaintenanceComprehensive MCP server for real-time stock, cryptocurrency, options, and fundamental analysis, including SEC filings and insider trading data.2633MIT
- FlicenseNot gradedqualityCmaintenanceA remote Model Context Protocol (MCP) server for real-time cryptocurrency and stock market analysis. Provides AI-powered market intelligence tools with 9 theory-based analysis engines, multi-chain DEX discovery, and enterprise features.-