Skip to main content
Glama
danielbres

massive-mcp

by danielbres

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-mcp is at the repo root (legacy from when the repo started as just that MCP), while chart-img-mcp lives 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

get_aggregates, get_previous_close, get_daily_market_summary, get_daily_ticker_summary

Quotes & trades

get_last_quote, get_last_trade, get_quotes, get_trades

Snapshots

get_snapshot, get_all_snapshots, get_top_movers

Tickers / reference

list_tickers, get_ticker_overview, get_related_tickers, list_ticker_types

Market reference

get_market_status, get_market_holidays, list_exchanges, list_condition_codes

News

get_news

Indicators

get_sma, get_ema, get_rsi, get_macd

Corporate actions

get_dividends, get_splits, get_ipos, get_ticker_events

Financials

get_financials, get_short_interest, get_short_volume

Install:

python -m venv .venv
.venv/Scripts/python -m pip install -e .   # Windows
# or .venv/bin/python -m pip install -e .   # mac/linux

Then 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

massive-trade-analysis

Entry plan: HQ-tag setup, ATR-based zone, cascaded TPs, R:R-sized position

market-macro-context-analysis

SPY/QQQ regime score (used by trade-analysis as macro overlay)

earnings-calendar-check

Estimates next earnings date, flags trade-window overlap

position-management

Mid-trade decisions: trim/hold/trail/time-stop using MAE/MFE + R-multiple

setup-edge-validation

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:

  1. Call mcp__massive__get_market_status and pull SPY/QQQ via market-macro-context-analysis → macro overlay

  2. Pull NVDA bars + EMAs + RSI + MACD + news + ticker overview

  3. Compute HQ tag, ATR, support/resistance, R:R via compute_rr.py

  4. (Optional) call earnings-calendar-check to flag earnings overlap

  5. (Optional) call setup-edge-validation for empirical scenario probabilities

  6. Render the trade-plan markdown

  7. Call mcp__chart-img__generate_chart to 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


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 tools
get_aggregatesC

Aggregated OHLC bars for a stock over a date range.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock symbol (e.g. "AAPL"). Case-sensitive.
multiplierYesSize of the timespan multiplier (e.g. 5 with timespan="minute" => 5-min bars).
timespanYesBar size: second, minute, hour, day, week, month, quarter, year.
from_YesStart date "YYYY-MM-DD" or millisecond unix timestamp.
toYesEnd date "YYYY-MM-DD" or millisecond unix timestamp.
adjustedNoWhether to adjust for splits. Default true.
sortNo"asc" or "desc" by timestamp.asc
limitNoMax bars (Massive cap 50000). Default 50 to keep responses small.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickersNoOptional list of symbols. If None, returns all.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It 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.

Conciseness5/5

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.

Completeness4/5

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

Given the presence of an output schema, 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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes"YYYY-MM-DD".
adjustedNoAdjust for splits. Default true.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock symbol.
dateYes"YYYY-MM-DD".
adjustedNoAdjust for splits. Default true.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of 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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNoFilter by symbol. If None, returns across all tickers.
ex_dividend_date_gteNoInclusive lower bound on ex-date ("YYYY-MM-DD").
limitNoMax rows. Default 20.
cursorNoPagination cursor.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description must 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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes
timespanNoday
windowNo
series_typeNoclose
timestampNo
limitNo
cursorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits 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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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

The description clearly states the tool provides 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.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock symbol.
timeframeNo"annual", "quarterly", or "ttm". Default "quarterly".quarterly
limitNoMax periods returned. Default 4 (last year).
cursorNoPagination cursor.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNoFilter by symbol.
listing_date_gteNoInclusive lower bound on listing date.
limitNoMax rows. Default 20.
cursorNoPagination cursor.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1.9/5.0
Behavior2/5

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.

Conciseness2/5

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.

Completeness1/5

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.

Parameters3/5

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.

Purpose2/5

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.

Usage Guidelines1/5

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

No guidance on when to use this tool versus alternatives. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock symbol (e.g. "AAPL").

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description 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.

Conciseness4/5

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.

Completeness3/5

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

Given the output schema exists, the description 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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as '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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock symbol.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It 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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes
timespanNoday
short_windowNo
long_windowNo
signal_windowNo
series_typeNoclose
timestampNo
limitNo
cursorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior1/5

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.

Conciseness3/5

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.

Completeness2/5

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

Given the tool's complexity (9 parameters, no annotations), 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.

Parameters2/5

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.

Purpose5/5

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

The description clearly states the tool provides 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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention 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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNoOptional symbol filter (e.g. "AAPL").
published_utc_gteNoInclusive lower bound on publish time ("YYYY-MM-DD" or RFC3339).
published_utc_lteNoInclusive upper bound.
limitNoMax articles. Default 10.
cursorNoPagination cursor.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock symbol (e.g. "NVDA").
adjustedNoAdjust for splits. Default true.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It 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.

Conciseness4/5

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.

Completeness4/5

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

Given the presence of an output schema, 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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock symbol.
timestamp_gteNoInclusive lower bound ("YYYY-MM-DD" or ns/ms unix).
timestamp_ltNoExclusive upper bound.
limitNoMax rows (Massive cap typically 50000). Default 50.
cursorNoPagination cursor from a previous `next_cursor`.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes
timespanNoday
windowNo
series_typeNoclose
timestampNo
limitNo
cursorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock symbol.
settlement_date_gteNoInclusive lower bound on settlement date.
limitNoMax rows. Default 12.
cursorNoPagination cursor.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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

Given the presence of an output schema (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.

Parameters3/5

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.

Purpose5/5

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

The description clearly states the tool returns 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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock symbol.
date_gteNoInclusive lower bound on date.
limitNoMax rows. Default 30.
cursorNoPagination cursor.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits 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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock symbol.
timespanNoBar interval. Default "day".day
windowNoLookback window. Default 50.
series_typeNoPrice series for calculation. Default "close".close
timestampNoReference timestamp (date or unix); default = now.
limitNoMax rows. Default 50.
cursorNoPagination cursor.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock symbol (e.g. "TSLA").

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNoFilter by symbol.
execution_date_gteNoInclusive lower bound on execution date.
limitNoMax rows. Default 20.
cursorNoPagination cursor.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It 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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No guidance is provided on when to use this tool over 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.).

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock symbol.
typesNoComma-separated event types to filter (optional).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock symbol.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
directionYes"gainers" or "losers".

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock symbol.
timestamp_gteNoInclusive lower bound ("YYYY-MM-DD" or ns/ms unix).
timestamp_ltNoExclusive upper bound.
limitNoMax rows. Default 50.
cursorNoPagination cursor.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

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.

Conciseness2/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus alternatives, such as 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_classNo"stocks", "options", "crypto", "fx". Default "stocks".stocks

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_classNo"stocks", "options", "crypto", "fx". Default "stocks".stocks

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries 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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNoFree-text search (e.g. "apple").
marketNo"stocks", "otc", "crypto", "fx", "indices". Default "stocks".stocks
activeNoOnly currently-active tickers. Default true.
limitNoMax rows. Default 50.
cursorNoPagination cursor.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives 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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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

Given the tool's simplicity (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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 31 tool updatesv0.1.0
    • First observedget_aggregates
    • First observedget_all_snapshots
    • First observedget_daily_market_summary
    • First observedget_daily_ticker_summary
    • First observedget_dividends
    • First observedget_ema
    • First observedget_financials
    • First observedget_ipos
    • First observedget_last_quote
    • First observedget_last_trade
    • First observedget_macd
    • First observedget_market_holidays
    • First observedget_market_status
    • First observedget_news
    • First observedget_previous_close
    • First observedget_quotes
    • First observedget_related_tickers
    • First observedget_rsi
    • First observedget_short_interest
    • First observedget_short_volume
    • First observedget_sma
    • First observedget_snapshot
    • First observedget_splits
    • First observedget_ticker_events
    • First observedget_ticker_overview
    • First observedget_top_movers
    • First observedget_trades
    • First observedlist_condition_codes
    • First observedlist_exchanges
    • First observedlist_ticker_types
    • First observedlist_tickers

TDQS

B3.1/5.0

Scored across 31 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness5/5

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