Skip to main content
Glama
signal8ai

Signal8 MCP Server

Official

Get Float Data

get_float
Read-only

Retrieve float data for a company: float shares, definition, and as-of date. When the headline float is withheld, get labeled bounds or estimates so missing data is never mistaken for zero.

Instructions

Get float data for a company: floatShares, floatDefinition, as-of date, and — when the headline float is WITHHELD — the bounds and labelled stand-ins that replace it. Use when analyzing share supply. CARDINAL RULE: null / absent / withheld means NOT MEASURED — never "no float", never "no restricted shares", never zero. A numeric 0 is a MEASURED zero and passes a null check, so decide from the reason/marker field ("floatWithheldReason", "restrictedBlockCount", "provenance", "direction"), never from the value alone. IMPORTANT: check "floatDefinition" to know which float you are reading — "tradeable" (shares outstanding minus affiliates minus restricted/unregistered blocks: what can actually reach the tape; used on filing-derived dilution-snapshot tickers), "non_affiliate" (the SEC I.B.6 figure, which INCLUDES restricted shares held by non-affiliates — not what a trader means by float), "non_affiliate_estimate" (approximated from ownership filings), or "free_float" (vendor methodology). TODAY "floatDefinition" and "source" are only present on dilution-snapshot results: a vendor-sourced float arrives with neither (just floatShares, asOfDate, floatEstimated) because vendors are not named — read an ABSENT floatDefinition as "not a filing-derived tradeable float" and do not assume it is tradeable. On snapshot tickers "nonAffiliateFloatShares" carries the SEC I.B.6 figure separately — it is the ONLY correct input to baby-shelf / I.B.6 shelf-capacity math; never use the tradeable float there, and never present the non-affiliate figure as tradeable supply. floatShares:null with "floatWithheldReason" set ("restricted_blocks_unnetted" | "stated_figure_impossible" | "affiliate_basis_stale" | "affiliate_figure_declined" | "affiliate_unreconciled" | "share_count_unavailable" | "split_post_dates_basis") means the figure was deliberately WITHHELD, not unavailable — do not substitute a vendor float of your own. A withheld result may carry up to four stand-ins, each labelled IN the object; NONE is a float and NONE may be fed to a market cap, a percent-of-float, a short-interest ratio, a screen, a sort or a comparison: (1) "tradeableFloatCeiling" is an UPPER BOUND — the tradeable float is AT MOST this; render it with "<=" and nothing else (null = no bound stateable, never 0). (2) "affiliateBasis.floatLowerBound" / "floatUpperBound" are a RANGE the float lies in — "between X and Y"; each end is null independently when not measurable, so state the ends that exist as inequalities. This object also appears on PUBLISHED floats with both ends equal to floatShares — it is a bound only when floatShares is null. (3) "floatEstimate" is a BADGED ESTIMATE {shares, basis, direction, confidence}: "basis" is the itemised working (quote it), "direction" says which way it errs ("overstates" = the true float is at most shares; "understates" = at least; "unknown"), "confidence" describes the estimate, not a float. Today it is populated only on affiliate_basis_stale and null is the ordinary outcome. An estimate never becomes floatShares — present shares WITH basis and direction, never alone. Unrelated to the boolean "floatEstimated", which flags a published floatShares back-derived from a USD public-float disclosure. (4) "vendorFallback" is a third-party free-float figure {floatShares, provenance:"vendor", floatDefinition:"free_float", asOfDate, splitAdjusted} offered beside the withhold — NOT our number, NOT on the tradeable definition, already refused when our filings refute it. Present it as the vendor free float as of its own date, never in the "Float" slot. "restrictedShares":null means NOT MEASURED (a block exists whose size the filings do not state), NEVER zero; "restrictedBlockCount":0 is an answer, not an absence. "affiliateBasisStale" (with basisSpanDays/affiliateAnchorDate) labels a float whose affiliate table is materially older than its share count — the number itself is unchanged. "tradeableBasis":"convention_conservative" means the filings did not answer and a published convention resolved it — see "tradeableConvention" and do not present the figure as exact.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker symbol (e.g., "AAPL", "TSLA")

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true, so the description carries the burden and exceeds it dramatically. It discloses the cardinal null semantics, the meaning of 'floatWithheldReason', the distinction between measured zero and absence, the four stand-in objects and how each may or may not be used, and the caveat about floatDefinition/source presence. This is rich behavioral and interpretive context beyond what annotations provide.

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 long and dense, but the length is largely earned given the number of nuanced null/withhold/stand-in cases that materially change how the result must be interpreted. It is front-loaded with the main purpose and cardinal rule, and uses numbered lists and clear labels. It loses one point because a few warnings repeat the 'never treat null as zero' idea across multiple forms, making it less concise than it could be.

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?

For a data-retrieval tool with one parameter, an output schema, and read-only annotation, the description covers essentially every decision an agent needs to make before and after invoking the tool: which float definition is being read, when the float is withheld, what the stand-ins mean, and how to present them. No important call-time or interpretation behavior is left unstated.

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 only parameter, 'ticker', is fully described in the schema with example symbols, so schema coverage is 100%. The description adds no additional ticker-specific format, validation, or behavior details, which is acceptable given the schema already handles it. Baseline 3 applies.

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?

States a specific verb and resource ('Get float data for a company') and enumerates the core fields returned (floatShares, floatDefinition, as-of date, stand-ins). It is unmistakably about float data, but it does not explicitly contrast itself with sibling get_float_history or other float-related tools, so it falls short of full sibling differentiation.

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?

Gives a clear usage context: 'Use when analyzing share supply.' It does not provide when-not-to-use guidance or name alternative tools, but the context is specific enough for an agent to select this tool over obviously unrelated ones. No misleading guidance is present.

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

Deploy Server

Other Tools