Skip to main content
Glama

Market-Wide Short Interest Snapshot

GetShortInterestSnapshot
Read-only

Retrieve a market-wide FINRA short interest snapshot, one row per listed security, sorted by days to cover, with filters for minimum days to cover and average daily volume to exclude illiquid names.

Instructions

Market-wide snapshot of the latest FINRA bi-monthly short interest settlement — one row per exact listed security, sorted by days to cover (descending) by default. FINRA caps days to cover at 999.99: capped rows are a sentinel (almost always illiquid names with a tiny average-daily-volume denominator) and are ranked after real readings; pass minAvgDailyVolume (e.g. 100000) to drop illiquid names entirely. This is the raw FINRA snapshot — for genuine short-squeeze candidate ranking use GetShortSqueezeScores; for one stock or ETF's history use GetShortInterest; for daily short-sale flow use GetShortVolume/GetLargestShortVolume.

Input Schema

NameRequiredDescriptionDefault
offsetNoNumber of ranked results to skip before returning rows (default: 0, clamped to 0-100000). For the next page, add the returned row count to the clamped current offset; if the next offset exceeds 100000, narrow the filters instead. Stop when fewer than the effective page size (maxResults clamped to 1-500) are returned, or the response's total has been reached.
sortByNoSort key: daysToCover (default; FINRA-capped 999.99 sentinel rows ranked last), shortPosition, or change (largest increase in short position first)daysToCover
maxResultsNoMaximum number of results to return (default: 50, max: 500)
minDaysToCoverNoMinimum days to cover filter (default: 0)
minAvgDailyVolumeNoMinimum average daily share volume — set a floor (e.g. 100000) to drop illiquid names whose days-to-cover is inflated by a tiny volume denominator (default: 0 = no floor)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true, so safety is covered. The description adds non-obvious data semantics: FINRA caps days to cover at 999.99, capped rows are a sentinel from illiquid names with tiny volume denominators, and those rows are ranked after real readings. That is genuine behavioral context beyond the structured fields, though it does not cover auth, rate limits, or refresh cadence.

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?

Three sentences, front-loaded with the snapshot scope before the sibling routing rules. Dense but every sentence carries information; there is minor overlap with the schema's sortBy description of the 999.99 sentinel, which slightly dilutes efficiency.

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?

With no output schema, the description supplies the key return shape ('one row per exact listed security') and default ordering, and covers the tricky filtering case. It stops short of naming any returned fields, but for a read-only market snapshot with full parameter coverage this is close to complete.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description goes beyond the schema by explaining the rationale for minAvgDailyVolume (sentinel rows inflated by a tiny volume denominator) with a concrete example value, and by restating the default days-to-cover ordering. It does not add syntax for offset/maxResults, which the schema already handles well.

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?

Names a specific resource and scope ('market-wide snapshot of the latest FINRA bi-monthly short interest settlement — one row per exact listed security') and explicitly distinguishes itself from three named siblings (GetShortSqueezeScores, GetShortInterest, GetShortVolume/GetLargestShortVolume). An agent can identify the tool and its output granularity without opening the schema.

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

Usage Guidelines5/5

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

States explicit routing rules: use GetShortSqueezeScores for genuine squeeze candidate ranking, GetShortInterest for a single stock/ETF's history, GetShortVolume/GetLargestShortVolume for daily flow. It also gives an actionable 'when' for a parameter (pass minAvgDailyVolume to drop illiquid names), leaving nothing to inference.

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