massive-mcp
The massive-mcp server provides comprehensive US stock market data and analytical capabilities via the Massive.com REST API, spanning 31 tools across the following areas:
Price & Historical Data
Fetch aggregated OHLC bars for any timespan (second, minute, hour, day, week, month, quarter, year) with configurable multipliers (
get_aggregates)Get previous day's OHLC (
get_previous_close), daily ticker summary (get_daily_ticker_summary), and full market daily summary (get_daily_market_summary)
Real-Time Quotes & Trades
Retrieve the latest NBBO quote (
get_last_quote), last trade (get_last_trade), and historical streams of quotes/trades with pagination (get_quotes,get_trades)
Market Snapshots & Movers
Get real-time snapshots (last trade, last quote, day/prev OHLC) for single or multiple stocks (
get_snapshot,get_all_snapshots)View top daily gainers/losers (
get_top_movers)
Ticker & Market Reference
Search and list tickers with filters (
list_tickers), get detailed overviews (get_ticker_overview), find related/peer tickers (get_related_tickers), and list ticker types, exchanges, and condition codesCheck current US market status and upcoming holidays (
get_market_status,get_market_holidays)
Technical Indicators
Compute SMA, EMA, RSI (default 14-period), and MACD (default 12/26/9) with configurable windows and timespans
News
Fetch recent news articles filtered by ticker and date range (
get_news)
Corporate Actions & Events
Access historical/upcoming dividends, stock splits, IPO listings, and ticker lifecycle events (renames, listings, etc.)
Financials & Short Data
Retrieve financial statements (income, balance sheet, cash flow, ratios) on annual, quarterly, or TTM basis
Get bi-monthly short interest reports and daily short-volume data
Generates TradingView chart snapshots for visual technical analysis of stocks.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@massive-mcpShow me the top 10 gainers right now."
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.
SwinGrade-MCPs
A collection of MCP servers and Claude skills for professional stock analysis. Built around a structured swing/long-term trading workflow that pulls live market data, technical indicators, financials, news, and chart visualizations — and turns them into actionable trade plans with explicit entry/SL/TP/R:R/sizing.
The repo contains:
MCP servers that expose external data + chart APIs as tools
Claude skills that orchestrate those tools into trade-grade analysis workflows
Designed for Claude Desktop and Claude Code.
Repository layout
SwinGrade-MCPs/
├── src/massive_mcp/ ← MCP #1: massive-mcp (Massive.com Stocks REST API)
├── tests/ ← tests for massive-mcp
├── pyproject.toml ← massive-mcp package
│
├── chart-img-mcp/ ← MCP #2: chart-img-mcp (TradingView chart snapshots)
│ ├── src/chart_img_mcp/
│ ├── tests/
│ └── pyproject.toml
│
└── skills/ ← Claude skills that drive the workflow
├── massive-trade-analysis/
├── market-macro-context-analysis/
├── earnings-calendar-check/
├── position-management/
└── setup-edge-validation/Layout note:
massive-mcpis at the repo root (legacy from when the repo started as just that MCP), whilechart-img-mcplives in its own subdirectory. Future MCPs will follow the subdirectory pattern.
MCP servers
massive-mcp — Massive.com Stocks REST API
Wraps Massive.com (Polygon-style). 31 tools across:
Group | Tools |
Aggregates / bars |
|
Quotes & trades |
|
Snapshots |
|
Tickers / reference |
|
Market reference |
|
News |
|
Indicators |
|
Corporate actions |
|
Financials |
|
Install:
python -m venv .venv
.venv/Scripts/python -m pip install -e . # Windows
# or .venv/bin/python -m pip install -e . # mac/linuxThen in Claude Desktop's claude_desktop_config.json:
{
"mcpServers": {
"massive": {
"command": "C:\\path\\to\\SwinGrade-MCPs\\.venv\\Scripts\\massive-mcp.exe",
"env": {
"MASSIVE_API_KEY": "your_key",
"MASSIVE_AUTH_MODE": "bearer"
}
}
}
}chart-img-mcp — TradingView chart snapshots
Wraps chart-img.com. 5 tools: generate_chart, generate_mini_chart, generate_chart_to_storage, list_exchanges, find_symbol. Returns images inline in Claude Desktop, plus optional CDN URLs.
See chart-img-mcp/README.md for install + config.
Claude skills
The skills live in skills/ and compose into a complete trading workflow:
┌─ market-macro-context-analysis (regime score 0–10)
│
massive-trade-analysis ─┼─ earnings-calendar-check (pre-trade safety)
(ENTRY plan) │
├─ setup-edge-validation (empirical hit rates)
│
└─ chart-img: generate_chart (visual chart inline)
↓
[trade is open]
↓
position-management (TRIM / HOLD / EXIT)Skill | Role |
Entry plan: HQ-tag setup, ATR-based zone, cascaded TPs, R:R-sized position | |
SPY/QQQ regime score (used by trade-analysis as macro overlay) | |
Estimates next earnings date, flags trade-window overlap | |
Mid-trade decisions: trim/hold/trail/time-stop using MAE/MFE + R-multiple | |
Backtests HQ tag rules empirically — replaces gut-feel probabilities |
Install: copy skills/* to ~/.claude/skills/. Full instructions in skills/README.md.
End-to-end example
After installing both MCPs and all skills, ask Claude Desktop:
"Swing trade plan for NVDA, $50k account"
The massive-trade-analysis skill will:
Call
mcp__massive__get_market_statusand pull SPY/QQQ viamarket-macro-context-analysis→ macro overlayPull NVDA bars + EMAs + RSI + MACD + news + ticker overview
Compute HQ tag, ATR, support/resistance, R:R via
compute_rr.py(Optional) call
earnings-calendar-checkto flag earnings overlap(Optional) call
setup-edge-validationfor empirical scenario probabilitiesRender the trade-plan markdown
Call
mcp__chart-img__generate_chartto attach a daily candle chart with EMA10/20/50/200 + RSI + MACD inline
You get a structured plan and the actual chart, side by side.
Prerequisites
Python 3.10+ on
PATHAPI keys:
Massive.com: https://massive.com/docs
chart-img.com: https://chart-img.com/dashboard
Why a single repo?
These pieces are designed to compose. Splitting them across repos forces users to clone N projects to get one workflow. Keeping them together means one git clone gets you the full toolchain — and the skills can reference the MCPs directly because they're co-located.
License
MIT — see individual MCP pyproject.toml files.
Available Tools
31 toolsget_aggregatesC
Aggregated OHLC bars for a stock over a date range.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock symbol (e.g. "AAPL"). Case-sensitive. | |
| multiplier | Yes | Size of the timespan multiplier (e.g. 5 with timespan="minute" => 5-min bars). | |
| timespan | Yes | Bar size: second, minute, hour, day, week, month, quarter, year. | |
| from_ | Yes | Start date "YYYY-MM-DD" or millisecond unix timestamp. | |
| to | Yes | End date "YYYY-MM-DD" or millisecond unix timestamp. | |
| adjusted | No | Whether to adjust for splits. Default true. | |
| sort | No | "asc" or "desc" by timestamp. | asc |
| limit | No | Max bars (Massive cap 50000). Default 50 to keep responses small. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose safety and side effects; it only says 'aggregated OHLC bars,' omitting details like data adjustment or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but too sparse for an 8-parameter tool; it lacks structure and context.
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?
Despite having an output schema, the description is incomplete—it does not explain the returned data format, edge cases, or limitations, leaving gaps for a moderately complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description adds no extra parameter meaning beyond the 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?
The description clearly states it provides aggregated OHLC bars for a stock over a date range, differentiating from single-bar tools like get_previous_close.
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 vs siblings like get_quotes or get_previous_close; context-dependent selection is left to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_all_snapshotsA
Real-time snapshot for multiple/all US stocks. Use tickers to filter — calling with no
filter returns the entire market and may be very large.
| Name | Required | Description | Default |
|---|---|---|---|
| tickers | No | Optional list of symbols. If None, returns all. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'Real-time' and gives a size warning, but lacks disclosure on rate limits, data freshness, what a 'snapshot' includes, or any potential side effects. For a tool with no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences provide clear purpose and usage note. No extra words, front-loaded, and every sentence adds value. Ideal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, return values need not be described. The description covers purpose and key usage warning. It could briefly mention that it's real-time, but that is implied. A small gap is lack of explicit differentiation from siblings beyond the scope phrasing.
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 the description adds context about filtering and the large result when no filter is applied. This reinforces the schema's description but does not add new semantic depth beyond usage guidance. 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 'get' and resource 'snapshot' with clear scope 'multiple/all US stocks'. It distinguishes from the sibling 'get_snapshot' which is singular, and from other data retrieval tools like 'get_quotes' and 'get_trades'.
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 explains that the 'tickers' parameter is for filtering and warns that calling with no filter returns the entire market which can be large. This provides explicit usage context, though it does not name alternative tools or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_daily_market_summaryB
OHLC for the entire US stock market on a given trading date.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | "YYYY-MM-DD". | |
| adjusted | No | Adjust for splits. Default true. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description only mentions OHLC, missing details like volume, adjusted handling, or output structure. No annotation support.
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 is concise but omits important context; efficient but could be more informative.
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?
Minimal description for a financial tool; lacks details on output, date handling, or limitations despite having an 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?
Schema covers 100% of parameters with descriptions; description adds no extra 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 provides OHLC for the entire US stock market, distinguishing it from sibling tools like get_daily_ticker_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like get_daily_ticker_summary for individual tickers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_daily_ticker_summaryB
Daily open/high/low/close for a single ticker on a given date.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock symbol. | |
| date | Yes | "YYYY-MM-DD". | |
| adjusted | No | Adjust for splits. Default true. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states what data is returned but does not mention that it is a read-only operation, potential rate limits, error handling for missing tickers, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that immediately states the core function. It wastes no words and is perfectly 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?
The tool has a simple purpose and an output schema (known from context), so the description need not detail return values. However, it lacks usage context relative to many similar sibling tools and gives no hints about typical use cases or limitations.
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 covers all three parameters with descriptions (100% coverage). The tool description adds minimal additional context beyond 'single ticker on a given date', which is already implicit in the 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?
The description clearly and specifically states that the tool returns daily open/high/low/close data for a single ticker on a given date. This distinguishes it from siblings like get_aggregates (which may provide multi-day bars) and get_previous_close (single value).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus its siblings (e.g., get_aggregates for multi-day or intraday data, get_snapshot for current day). No when-to-use or when-not-to-use information is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dividendsC
Historical and upcoming dividends.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | No | Filter by symbol. If None, returns across all tickers. | |
| ex_dividend_date_gte | No | Inclusive lower bound on ex-date ("YYYY-MM-DD"). | |
| limit | No | Max rows. Default 20. | |
| cursor | No | Pagination cursor. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must bear the full burden. It fails to disclose any behavioral traits like data freshness, authorization needs, pagination behavior (cursor parameter), or whether results are sorted. This is minimal behavioral 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 a single short sentence, front-loaded with key terms. No extraneous words, but it could benefit from a verb for 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?
Given the presence of a detailed input schema and output schema, the description provides a basic understanding. However, it lacks information on pagination, date range semantics, and the combination of parameters, leaving some 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 description coverage is 100%, so baseline is 3. The description does not add any meaning beyond the schema's parameter descriptions (e.g., it doesn't clarify how ticker interacts with ex_dividend_date_gte). No added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Historical and upcoming dividends' clearly indicates the tool returns dividend data, distinguishing it from siblings like get_splits or get_financials. However, it lacks an explicit verb like 'retrieve' or 'list', making it slightly less direct.
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, such as get_financials or get_ticker_events. No context about typical use cases or exclusions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_emaC
Exponential Moving Average indicator values for a stock.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | ||
| timespan | No | day | |
| window | No | ||
| series_type | No | close | |
| timestamp | No | ||
| limit | No | ||
| cursor | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as pagination (via cursor and limit) or default values. The description is minimal and leaves the agent uninformed about important behaviors.
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 sentence, which is concise but insufficient given the tool's complexity with 7 parameters. It is under-specified rather than appropriately 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?
Despite having an output schema (which can explain return values), the description lacks parameter details and usage context. With seven parameters and no explanations, the definition is incomplete for effective 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 0%, and the description adds no information about parameters. While some parameters are self-explanatory (ticker, window), others like series_type and timespan require clarification that is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides Exponential Moving Average indicator values for a stock, using a specific verb and resource. It effectively distinguishes from siblings like get_sma and get_macd.
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 get_sma or get_rsi. The description does not mention context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_financialsB
Financial statements (income, balance sheet, cash flow, ratios) for a ticker.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock symbol. | |
| timeframe | No | "annual", "quarterly", or "ttm". Default "quarterly". | quarterly |
| limit | No | Max periods returned. Default 4 (last year). | |
| cursor | No | Pagination cursor. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behaviors such as pagination, rate limits, and that it is read-only. The description only lists output types, omitting how the tool operates or handles cursors/timeframes.
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 sentence with no wasted words. It is front-loaded with the main output. However, it could include a bit more context without becoming verbose.
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 output schema and parameter richness, the description lacks context on pagination, when to use, and behavioral traits. It is minimally complete but leaves significant 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 coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema; it doesn't explain parameter usage or constraints like enum values or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies that the tool returns financial statements (income, balance sheet, cash flow, ratios) for a given ticker. This is specific and distinguishes it from sibling tools that return quotes, snapshots, or summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_ticker_overview or get_snapshot. There is no mention of prerequisites, limitations, or best practices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_iposD
IPO listings.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | No | Filter by symbol. | |
| listing_date_gte | No | Inclusive lower bound on listing date. | |
| limit | No | Max rows. Default 20. | |
| cursor | No | Pagination cursor. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only says 'IPO listings' with no mention of whether it is read-only, requires authentication, or has rate limits. Does not disclose behavior beyond the noun phrase.
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?
Extremely concise (2 words), but at the cost of clarity. Under-specification is not conciseness; the description should provide enough information without being verbose.
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 4 parameters and an output schema (not detailed), the description is grossly insufficient. It does not explain what an IPO listing object contains, pagination behavior, or what the output looks like. Without annotations, this is incomplete.
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 parameter descriptions (e.g., 'Filter by symbol.'). The description adds no additional meaning beyond what the schema already provides, so 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?
Description is 'IPO listings' which names the resource but lacks a verb. It's clear it relates to IPOs but does not specify the action (e.g., retrieve, list). This is borderline tautological with the tool name 'get_ipos'.
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. Sibling tools include many data retrieval functions, but the description provides no context for differentiation or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_last_quoteB
Most recent NBBO (bid/ask) quote for a stock.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock symbol (e.g. "AAPL"). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It only states 'most recent' but does not clarify data freshness (real-time vs. delayed), scope (US equities only?), or potential edge cases (e.g., no quotes for ticker). This is insufficient for a production tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. However, it could be slightly expanded to include usage hints without becoming verbose.
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 output schema exists, the description does not need to detail return values. However, for a tool with many siblings, the description is too minimal; it could mention common use cases or limitations to aid agent selection.
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 100% coverage, clearly describing the parameter 'ticker' as a stock symbol. The description adds no extra meaning beyond what the schema already provides, 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 explicitly states the tool returns the most recent NBBO (bid/ask) quote for a stock, which is a specific verb-resource pairing. This clearly distinguishes it from siblings like 'get_last_trade' (trade data) and 'get_quotes' (multiple 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?
No guidance is provided on when to use this tool versus alternatives such as 'get_snapshot' or 'get_quotes'. The description lacks context for choosing the right tool among many similar ones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_last_tradeB
Most recent trade for a stock.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock symbol. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as data freshness, scope, or that it returns the single latest trade. The minimal text lacks context beyond the basic action.
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 at 6 words, with no wasted text. While efficient, it could benefit from slightly more detail without losing brevity.
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 an output schema (not shown) and a single required parameter, the description is minimally adequate. However, it does not mention what the output contains (e.g., price, time, volume) or any limitations, leaving room for improvement.
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% with ticker described as 'Stock symbol.' The description adds no new meaning beyond the schema, which already clearly defines the parameter. 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 'Most recent trade for a stock.' clearly states the verb (get) and resource (most recent trade), and distinguishes from siblings like get_trades (multiple trades) and get_last_quote (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?
The description provides no explicit guidance on when to use this tool over alternatives. Usage is implied by the purpose but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_macdC
MACD indicator values for a stock (default 12/26/9).
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | ||
| timespan | No | day | |
| short_window | No | ||
| long_window | No | ||
| signal_window | No | ||
| series_type | No | close | |
| timestamp | No | ||
| limit | No | ||
| cursor | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description bears full responsibility for behavioral transparency. It only states the computation defaults, omitting critical details like return format, whether multiple lines are returned, or any side effects. This is insufficient for an agent to predict tool behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, achieving conciseness. However, it is under-specified, lacking necessary details. It earns a middle score because while not verbose, it sacrifices completeness for brevity.
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 (9 parameters, no annotations), the description is incomplete. It does not cover time range handling, pagination, or the fact that there are many configurable parameters. Although an output schema exists, the description still fails to provide sufficient context for correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should explain parameters. It only hints at three parameters via default values (12/26/9), leaving seven parameters (ticker, timespan, series_type, timestamp, limit, cursor) unexplained. This minimal addition provides little beyond the schema structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides MACD indicator values for a stock, with default windows. It uniquely identifies the resource (stock's MACD) and verb (get), distinguishing it from sibling indicator tools like get_sma, get_ema, and get_rsi.
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 usage guidance is provided. The description lacks any information on when to use this tool versus alternatives, such as other technical indicators. It does not mention context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_holidaysB
Upcoming US market holidays and early-close dates.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the output type. It fails to disclose whether the tool is read-only, requires authentication, has rate limits, or any other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-formed sentence with no filler words. It is optimally concise for the information conveyed.
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 an output schema exists, the description is minimally adequate but lacks specificity about the time range (e.g., 'next 30 days') or whether it returns a list. It doesn't fully exploit the simplicity to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, and schema coverage is 100%. The description adds no parameter semantics, but none are needed. Baseline for 0 parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning 'Upcoming US market holidays and early-close dates,' which is specific to market holidays. It distinguishes itself from sibling tools like get_market_status (current market state) and get_daily_market_summary (daily data).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or relationships to sibling tools, leaving the agent to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_statusA
Current US market status: open / closed / extended-hours.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description only lists possible return values without detailing behavior such as timezone, latency, or whether it's a simple read operation. With no annotations, the description should offer more 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?
Single sentence of 9 words, perfectly concise and front-loaded with the key information. No filler.
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?
Minimal but adequate for a simple tool with no parameters and an output schema. Lacks details on response format or interpretation of the three states.
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?
Zero parameters and 100% schema coverage. The description adds value by specifying the three possible output states, which goes beyond the empty 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 it returns current US market status with three specific values: open, closed, extended-hours. This is a distinct resource compared to sibling tools like get_aggregates or get_snapshot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. However, it is the only sibling tool that mentions market status, so it's implied as the go-to for that purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_newsC
Recent news articles, optionally filtered by ticker.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | No | Optional symbol filter (e.g. "AAPL"). | |
| published_utc_gte | No | Inclusive lower bound on publish time ("YYYY-MM-DD" or RFC3339). | |
| published_utc_lte | No | Inclusive upper bound. | |
| limit | No | Max articles. Default 10. | |
| cursor | No | Pagination cursor. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It mentions 'recent' without defining the time range, omits return structure (despite an output schema existing), and lacks details on pagination, 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?
The description is a single concise sentence, front-loading the core action. While very short, it avoids unnecessary words, but could include more context without becoming bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five parameters and an output schema, the description is too sparse. It does not explain what 'recent' means, how results are ordered, or what fields are returned, leaving agents with insufficient 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 description coverage is 100%, so baseline is 3. The description adds minimal value beyond the schema, only reinforcing the ticker filter. It does not mention other parameters like date bounds or pagination.
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 recent news articles with optional ticker filtering, which is a specific verb+resource. However, it does not differentiate from siblings like 'get_ticker_events' or 'get_snapshot', though the tool's function is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description provides no context about when to choose this over other news or data tools, nor any prerequisites or excluded scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_previous_closeA
Previous trading day's OHLC for a single stock ticker.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock symbol (e.g. "NVDA"). | |
| adjusted | No | Adjust for splits. Default true. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the basic purpose, omitting behavioral traits like limitations (e.g., market holidays, timezone), the meaning of the 'adjusted' parameter, or that only OHLC is returned. Minimal 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 concise sentence with no waste, front-loading the key action. However, it may be slightly under-specified for a tool with two parameters and no additional context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description need not explain return values. It adequately covers the basic purpose and ticker constraint. Lacks details on data bounds but is sufficient for a simple 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%, and the description adds no new meaning beyond 'single stock ticker' and 'previous trading day's OHLC.' The schema already describes parameters adequately, so the description adds minimal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves the previous trading day's OHLC for a single stock ticker, which is a specific verb and resource. It distinguishes from siblings like get_aggregates (multi-day) and get_last_quote (real-time).
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 a single ticker and previous day's data, but provides no explicit guidance on when to use it versus alternatives. Sibling tool names are given but no comparisons or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quotesC
Historical NBBO quotes for a stock.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock symbol. | |
| timestamp_gte | No | Inclusive lower bound ("YYYY-MM-DD" or ns/ms unix). | |
| timestamp_lt | No | Exclusive upper bound. | |
| limit | No | Max rows (Massive cap typically 50000). Default 50. | |
| cursor | No | Pagination cursor from a previous `next_cursor`. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It fails to mention pagination, rate limits, auth needs, or behavior for missing stocks. Only states it returns historical quotes.
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?
A single sentence is concise but under-specifies the tool. It front-loads the resource, but omits necessary behavioral and usage 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 5 parameters and output schema, the description is too minimal. Missing details on NBBO meaning, time range behavior, pagination, and differentiation from sibling tools.
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 parameters are fully described in the schema. The description adds no extra parameter context beyond indicating historical time range, which is already implied by timestamp fields.
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 'Historical NBBO quotes for a stock' clearly identifies the resource (historical NBBO quotes) and the implied action (get). It distinguishes from siblings like get_last_quote (single quote) and get_trades (trades), though not explicitly.
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 get_last_quote or get_trades. No mention of prerequisites, best practices, or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rsiC
Relative Strength Index values for a stock. Default window 14.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | ||
| timespan | No | day | |
| window | No | ||
| series_type | No | close | |
| timestamp | No | ||
| limit | No | ||
| cursor | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist; the description only notes the default window but fails to disclose behavioral traits such as rate limits, pagination (cursor), or data freshness.
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 very short (two sentences) and front-loaded with the core purpose. However, the second sentence about default window is somewhat redundant with the schema.
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?
Although an output schema exists, the description is too sparse for a 7-parameter technical indicator tool. It lacks context about parameter combinations, usage patterns, and return value summary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only mentions the default window. It does not explain ticker, timespan, series_type, timestamp, limit, or cursor parameters, leaving the AI agent underinformed.
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 'Relative Strength Index values for a stock' and mentions the default window. This distinguishes it from siblings like get_ema or get_sma.
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, no context provided, and no mentions of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_short_interestA
Bi-monthly short interest reports for a ticker.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock symbol. | |
| settlement_date_gte | No | Inclusive lower bound on settlement date. | |
| limit | No | Max rows. Default 12. | |
| cursor | No | Pagination cursor. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'bi-monthly reports,' hinting at the data's periodicity, but with no annotations, it lacks details on read-only behavior, authentication, or rate limits. The output schema covers return structure, but behavioral traits (e.g., pagination via cursor) are only in the schema, not described.
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 sentence that is concise and front-loaded, conveying the core functionality without any unnecessary words. It earns its place by being clear and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (so return values are documented) and the tool's moderate complexity (4 parameters), the description is sufficient. It could add context about the pagination or date filtering, but these are covered in the schema. Overall, it's complete enough for an informed choice.
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 has 100% description coverage, so each parameter is already explained (e.g., ticker as 'Stock symbol'). The tool description adds no additional meaning beyond what the schema provides, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns bi-monthly short interest reports for a ticker, specifying both the frequency and the type of data. This distinguishes it from sibling tools like get_short_volume (trading volume) and get_financials (financial statements).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when short interest data for a ticker is needed, but it does not explicitly state when to avoid it or compare it to alternatives like get_short_volume. Usage context is inferred, not explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_short_volumeC
Daily short-volume data for a ticker.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock symbol. | |
| date_gte | No | Inclusive lower bound on date. | |
| limit | No | Max rows. Default 30. | |
| cursor | No | Pagination cursor. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as data freshness, pagination behavior, or any rate limits. The schema implies pagination via cursor parameter, but the description omits this entirely.
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?
Very concise single sentence that front-loads the purpose. No wasted words, but no structured formatting (e.g., bullet points) that could help readability if more details were added.
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 4 parameters (including pagination) and no annotations, the description is too brief. It does not explain the output, typical use, or pagination mechanics, leaving gaps for an 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 description coverage is 100%, so the schema already documents all parameters. The description adds no additional meaning beyond what the schema provides; e.g., 'for a ticker' mirrors the schema description for ticker.
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 provides 'Daily short-volume data for a ticker,' specifying the resource (short-volume data) and the target (ticker). This differentiates it from siblings like get_short_interest which focuses on short interest rather than 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?
No guidance on when to use this tool vs alternatives such as get_short_interest or get_snapshot. It does not mention prerequisites, typical use cases, or any conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_smaA
Simple Moving Average indicator values for a stock.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock symbol. | |
| timespan | No | Bar interval. Default "day". | day |
| window | No | Lookback window. Default 50. | |
| series_type | No | Price series for calculation. Default "close". | close |
| timestamp | No | Reference timestamp (date or unix); default = now. | |
| limit | No | Max rows. Default 50. | |
| cursor | No | Pagination cursor. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It only states 'indicator values' without explaining potential data sources, calculation specifics, or limitations (e.g., rounding, adjustment). For a technical indicator, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is direct and devoid of fluff. Every word contributes to conveying the tool's purpose, achieving maximum conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, reducing the need to describe returns, but the description still omits context like time-series behavior, pagination hints, or how to interpret results. Given the numerous sibling tools with similar parameters, more context would aid selection.
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 no extra meaning beyond the schema; parameters are well-documented in the schema itself. The description does not clarify parameter interactions or provide examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Simple Moving Average indicator values for a stock,' using a specific verb ('get') and resource ('SMA values'). It distinguishes from siblings like 'get_ema' and 'get_macd' by specifying SMA, 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?
No explicit guidance on when to use this tool versus alternatives such as 'get_ema' or 'get_macd.' The name implies it's for SMA, but the description lacks direct comparison or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_snapshotA
Real-time snapshot for a single stock: last trade, last quote, day OHLC, prev day OHLC.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock symbol (e.g. "TSLA"). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist; description carries full burden. It mentions 'real-time' but doesn't disclose caching, data latency, rate limits, or side effects. Minimal behavioral insight beyond data 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?
Single sentence, no wasted words. Front-loads key information: purpose and data fields. 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?
Simple tool with one parameter and output schema present. Description covers core data points. Could mention that data is real-time (not delayed) but overall adequate given low complexity and presence 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?
Parameter 'ticker' has schema description 'Stock symbol (e.g. "TSLA").' Description adds no additional meaning beyond what schema provides. Schema coverage is 100%, so baseline 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?
Description clearly states verb and resource: 'Real-time snapshot for a single stock' with specific data points (last trade, last quote, OHLC). Distinct from siblings like get_all_snapshots (multiple stocks) and get_last_trade/get_last_quote (single fields).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs alternatives. Implied usage is for a comprehensive real-time view of one stock, but no exclusions (e.g., 'for historical data use get_aggregates') are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_splitsC
Historical and upcoming stock splits.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | No | Filter by symbol. | |
| execution_date_gte | No | Inclusive lower bound on execution date. | |
| limit | No | Max rows. Default 20. | |
| cursor | No | Pagination cursor. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It states 'historical and upcoming' but omits details like ordering (chronological), how upcoming splits are defined, or that the tool is read-only. The output schema exists but the description adds no behavioral context such as rate limits or authentication.
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, concise sentence with no wasted words. It is front-loaded with the core purpose. However, given the minimal content, it sacrifices completeness for brevity, which is acceptable but not excellent.
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?
Although an output schema exists, the description lacks context about what constitutes a split (e.g., ratio, date). It does not explain typical use cases (e.g., adjusting prices). For a tool with 4 optional parameters and 22 siblings, more context would help the agent decide when to use it.
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% (each parameter has a description), so the baseline is 3. The description 'Historical and upcoming stock splits' adds no additional parameter info beyond the schema. It does not explain how parameters interact (e.g., date filter with ticker).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as 'stock splits' and specifies both historical and upcoming events. It distinguishes this tool from siblings like 'get_dividends' (dividends) and 'get_aggregates' (bars) by mentioning the specific subject. However, it could be more precise about the data returned (e.g., execution date, ratio).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool over siblings. For example, it doesn't mention that this complements 'get_dividends' for corporate actions or that limit and cursor handle pagination. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ticker_eventsC
Lifecycle events for a ticker (renames, listings, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock symbol. | |
| types | No | Comma-separated event types to filter (optional). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description lacks behavioral details such as return format, pagination, or rate limits. Only mentions event types without specifying scope or limitations.
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-loading the purpose. No unnecessary words, efficiently conveys the core functionality.
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 output schema exists and parameter descriptions are adequate, the description provides minimal but acceptable completeness for a simple query tool. However, missing behavioral context reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and description does not add extra meaning beyond the schema. Baseline 3 is appropriate as schema already documents parameters adequately.
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 returns lifecycle events (renames, listings), but does not differentiate from siblings like get_dividends or get_splits. Verb 'get' is implied, but scope is generic.
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 vs alternatives. With many sibling tools covering different data types, agent needs context on which tool to select for lifecycle events.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ticker_overviewA
Reference details for a ticker: name, exchange, sector, market cap, description, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock symbol. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The term 'reference details' implies a read-only operation, but the description does not explicitly confirm no side effects or mention any access considerations.
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, completely front-loaded with essential information, 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?
With one required parameter and an output schema (implied), the description provides sufficient context for a simple reference tool. Lists example fields for clarity.
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 single parameter with 'Stock symbol.' The description lists output fields but adds no new meaning to the parameter itself. Baseline 3 as coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it provides reference details (name, exchange, sector, market cap, description) for a ticker, distinguishing it from sibling tools like get_financials or get_snapshot that focus on other data types.
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 when needing static reference info about a ticker, but lacks explicit guidance on when to use this instead of alternatives like get_snapshot or get_financials.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_moversB
Top US stock gainers or losers for the current trading day.
| Name | Required | Description | Default |
|---|---|---|---|
| direction | Yes | "gainers" or "losers". |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only restates the purpose. It does not disclose behavioral traits such as data freshness, number of results, or whether after-hours data is 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?
The description is a single, well-structured sentence that is front-loaded and contains no redundant information. It efficiently conveys the core functionality.
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 one enum parameter and an output schema, the description is adequate but lacks expected details like the number of movers returned or time range. The output schema may compensate, but the description itself is minimal.
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 100% coverage with an enum description. The tool description adds no new meaning beyond the schema, so 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 specifies the tool retrieves top US stock gainers or losers for the current trading day. The verb 'get' is implied, and the resource ('top movers') is distinct from siblings like get_snapshot or get_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?
No guidance on when to use this tool versus alternatives (e.g., get_aggregates or get_snapshot). The description lacks explicit use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tradesC
Historical trades for a stock.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock symbol. | |
| timestamp_gte | No | Inclusive lower bound ("YYYY-MM-DD" or ns/ms unix). | |
| timestamp_lt | No | Exclusive upper bound. | |
| limit | No | Max rows. Default 50. | |
| cursor | No | Pagination cursor. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description should disclose behavioral traits like read-only nature, data source, or rate limits. It only states 'historical trades,' leaving out important context about what the data includes.
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 sentence, which is efficient, but it is underspecified and does not earn its place by providing necessary information. It lacks key details that should be present.
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?
Despite 5 parameters and an existing output schema, the description fails to explain pagination (cursor, limit), date format preferences, or what fields the output contains. It is incomplete for a tool with this 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?
The input schema has 100% description coverage, so the schema already explains all parameters. The description does not add any additional semantic meaning beyond what is in the schema, maintaining a baseline score.
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 'historical trades for a stock,' which is a specific verb+resource combination. It distinguishes from sibling tools like get_last_trade and get_quotes by emphasizing the historical nature of the data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as get_quotes for current data or get_aggregates for aggregated data. There is no mention of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_condition_codesB
List trade/quote condition codes used by Massive feeds.
| Name | Required | Description | Default |
|---|---|---|---|
| asset_class | No | "stocks", "options", "crypto", "fx". Default "stocks". | stocks |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It only states the action without any behavioral details such as side effects, authentication needs, or data freshness.
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 sentence with 6 words, extremely concise and to the point. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (1 optional parameter, output schema present), the description is reasonably complete. It could potentially mention that the output contains codes for the specified asset class, 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 description coverage is 100%, so the baseline is 3. The description does not add any information about the parameter beyond what the schema provides, which is adequate.
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 what the tool does: list trade/quote condition codes, and the resource is specific. There are no sibling tools with a similar purpose, so no differentiation needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. While the purpose is clear, the description does not specify any context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_exchangesA
List exchanges Massive tracks for an asset class.
| Name | Required | Description | Default |
|---|---|---|---|
| asset_class | No | "stocks", "options", "crypto", "fx". Default "stocks". | stocks |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It correctly implies a read operation but does not disclose any behavioral traits such as response format, authentication needs, or rate limits. The presence of an output schema partially compensates, but more context would be beneficial.
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 filler, action verb first, and all essential information is front-loaded. Every word 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 list tool with one parameter and an output schema, the description is largely adequate. It could mention that the output is a list of exchange identifiers, but the output schema likely covers that. Minimal but 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%: the only parameter 'asset_class' is fully described with default and allowed values. The tool description adds no additional meaning beyond the schema, so 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 clearly states the action (list) and resource (exchanges) with scope (for an asset class). The name 'list_exchanges' is reinforced, and it distinguishes from siblings like 'list_tickers' or 'list_ticker_types' by focusing on exchanges.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use or not use this tool versus alternatives. However, the context of sibling tools (mostly getters for specific data) implies usage when needing available exchanges for a given asset class, but no further clarification is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tickersB
Search/list tickers in the Massive reference universe.
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Free-text search (e.g. "apple"). | |
| market | No | "stocks", "otc", "crypto", "fx", "indices". Default "stocks". | stocks |
| active | No | Only currently-active tickers. Default true. | |
| limit | No | Max rows. Default 50. | |
| cursor | No | Pagination cursor. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must convey behavior. It implies a read operation but omits details like pagination, rate limits, or authentication needs. The schema hints at pagination, but the description does not explicitly state it.
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, to the point, with no wasted words. Ideal length for a list tool.
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?
Output schema exists, so return values are covered. However, the description lacks contextual details like filtering behavior or what 'Massive' means, which could help agents decide when to use this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description adds no additional parameter context. Baseline score of 3 is appropriate as the schema already provides 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?
Description clearly states 'Search/list tickers' with a verb+resource structure. It distinguishes from sibling tools like get_* functions and other list_* tools, though the phrase 'Massive reference universe' is vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as get_aggregates or list_exchanges. The description does not specify prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_ticker_typesA
List of ticker type codes (CS=common stock, ETF, ADR, etc.) used by Massive.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the purpose without disclosing behavioral traits such as whether the list is exhaustive, ordered, or if it requires authentication. For a simple list tool, this is adequate but not informative.
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 sentence that conveys the tool's purpose efficiently with 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 simplicity (no parameters, output schema exists), the description is largely complete. However, it could briefly note that it returns a list of codes for reference purposes.
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 no parameters, so the description does not need to add parameter meaning. The baseline for zero parameters is 4, 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 it lists ticker type codes and provides examples (CS, ETF, ADR), making it easy to distinguish from sibling tools like list_exchanges or list_condition_codes.
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 it is a reference tool for ticker type codes, but does not explicitly state when to use it or mention alternatives like list_exchanges for exchange codes.
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.
31 tool updates
v0.1.0- First observed
get_aggregates - First observed
get_all_snapshots - First observed
get_daily_market_summary - First observed
get_daily_ticker_summary - First observed
get_dividends - First observed
get_ema - First observed
get_financials - First observed
get_ipos - First observed
get_last_quote - First observed
get_last_trade - First observed
get_macd - First observed
get_market_holidays - First observed
get_market_status - First observed
get_news - First observed
get_previous_close - First observed
get_quotes - First observed
get_related_tickers - First observed
get_rsi - First observed
get_short_interest - First observed
get_short_volume - First observed
get_sma - First observed
get_snapshot - First observed
get_splits - First observed
get_ticker_events - First observed
get_ticker_overview - First observed
get_top_movers - First observed
get_trades - First observed
list_condition_codes - First observed
list_exchanges - First observed
list_ticker_types - First observed
list_tickers
TDQS
Scored across 31 tools
Most tools target distinct data products, but real-time snapshot endpoints overlap conceptually with last trade/quote and daily OHLC endpoints. The descriptions are clear enough to prevent serious confusion, though a few boundaries are fuzzy.
All tools follow a predictable get_<resource> or list_<enum> convention, with intuitive singular/plural variations like get_snapshot and get_all_snapshots. There are no mixed naming styles or vague generic verbs.
At 31 tools, this exceeds the 25-tool threshold for comfortable agent selection. Many OHLC, quote, and indicator endpoints could be consolidated into parameterized tools, though the breadth reflects a full market-data API.
For a read-only US equity market-data server, coverage is thorough: real-time and historical quotes, trades, OHLC, reference data, corporate actions, indicators, news, short selling, and market status. No critical workflow appears to be missing.
Related MCP Connectors
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
MCP server for stocksense-ai documentation, generated by doc2mcp.
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.