Skip to main content
Glama

Alphanume Datasets

Server Details

Point-in-time US equity & options data: vol premium, earnings moves, dilution, FDA events, splits

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

27 tools
check_api_statusAPI Status CheckA
Read-onlyIdempotent
Inspect

Connectivity and API-key check against the Alphanume API. Returns the API's status and version. Call this first if any other tool errors, to distinguish a bad/missing API key from a dataset-specific problem.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds useful context beyond those hints: it checks API-key validity and returns status/version, making the tool's diagnostic role clear. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. The main purpose is stated first, followed immediately by a practical directive on when to use the tool.

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 zero-parameter diagnostic tool, the description covers what it checks, what it returns, and when to call it. The absence of an output schema is mitigated by explicitly stating that status and version are returned.

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 tool has zero parameters, so the description cannot add parameter-specific meaning. A baseline of 4 is appropriate because no parameter documentation is needed.

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 identifies the resource (Alphanume API), the action (connectivity and API-key check), and the outputs (status and version). It also implicitly distinguishes itself from the sibling data tools by positioning this as the diagnostic health check rather than a data endpoint.

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?

The description gives an explicit usage trigger: 'Call this first if any other tool errors', and explains the diagnostic purpose—distinguishing a bad/missing API key from a dataset-specific problem. This is strong routing guidance for an agent deciding between tools.

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

get_advisory_committee_votesFDA Advisory Committee VotesA
Read-onlyIdempotent
Inspect

FDA advisory-committee (AdCom) votes: every drug/biologic advisory committee meeting from 2024 forward, with the committee's exact vote tallies extracted from the official minutes PDFs (verified against the PDFs) -- one row per (meeting, vote question). The tally (vote_yes/vote_no/vote_abstain), the verbatim question, which answer was the product-favorable one, and whether the favorable side won; plus sponsor, drug, indication, committee, center, meeting status, and links to the minutes/transcript/briefing materials so any number can be checked at the source.

A meeting with no tally is still a row -- vote_evidence says why (minutes not posted yet vs discussion-only vs not held), which is the difference between 'no data' and 'no vote'. Minutes land MONTHS after meetings, so recent meetings sit at minutes_not_posted until FDA publishes; rows re-label automatically when materials change. The forward calendar (scheduled meetings) is included. AdCom votes precede FDA decisions by weeks-to-months and FDA usually -- not always -- follows them.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing. Note: meetings are sparse (a few per month), so short date windows are often legitimately empty.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
drugNoCase-insensitive substring on the drug/asset name (2-100 chars).
centerNoOwning FDA center: CDER, CBER, or OC (Office of the Commissioner).
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
sponsorNoCase-insensitive substring on the sponsor company (2-100 chars).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
asset_keyNoExact normalized asset key -- the group-by for 'every AdCom appearance of this asset' and the linkage audit key.
committeeNoCommittee abbreviation (e.g. ODAC, VRBPAC, PDAC) or name substring. Matches joint meetings via the full committee list, so PDAC finds meetings where it co-sat.
has_tallyNotrue = only rows with a numeric vote tally; false = only placeholder/no-tally rows.
applicationNoSubstring on the application identifiers (NDA/BLA/sNDA numbers as stated in the materials).
meeting_keyNoExact meeting page slug -- all vote rows of one meeting.
updated_sinceNoYYYY-MM-DD, on last_updated -- rows re-projected after FDA posted new materials (minutes land months late).
vote_evidenceNoWhy a row does/doesn't carry numbers: minutes_tally (real tally), minutes_no_tally, no_vote_held (discussion-only), minutes_not_posted (FDA hasn't published minutes yet), meeting_not_held.
meeting_statusNoheld, scheduled, postponed, or cancelled. 'scheduled' rows are the forward calendar.
meeting_topic_typeNoproduct_specific, compounding_nominations, strain_selection, safety_review, or policy_or_class_review.
vote_outcome_favorableNotrue = the product-favorable side won; false = it lost. Ties and strain-selection votes are NULL and excluded by either value.

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnly/openWorld/idempotent annotations, the description discloses important behaviors: rows re-label when FDA materials change, no-tally rows carry vote_evidence explaining why, the forward calendar is included, and tallies are verified against official PDFs. It also explains the real-world latency around minutes publication. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but dense and front-loaded: the first sentence establishes scope and data source, followed by row semantics, update behavior, and operational caveats. Each paragraph earns its place by explaining a distinct aspect of the data an agent needs to call and interpret the tool correctly.

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?

Given 19 optional parameters, no output schema, and read-only annotations, the description is unusually complete: it states the row model, the meaning of placeholders, update timing, auth requirements, error interpretation, and the sparse-data caveat. An agent can both invoke the tool and interpret results without major blind spots.

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 already documents all 19 parameters with 100% description coverage, so the baseline is 3. The description adds useful semantic context around the data model, such as vote_evidence distinguishing 'no data' from 'no vote,' but it does not meaningfully elaborate on individual parameter formats or constraints beyond what the schema already 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?

The description names a specific resource (FDA advisory-committee votes) and a precise scope (every drug/biologic AdCom meeting from 2024 forward), with the row unit defined as one row per meeting/vote question. It also specifies the exact data provenance: tallies extracted and verified against official minutes PDFs. This clearly differentiates it from generic FDA or market-data siblings.

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 provides practical usage context: minutes arrive months later, recent rows may be minutes_not_posted, short date windows can be legitimately empty, and 403 errors indicate plan limitations rather than missing data. It stops short of naming sibling alternatives or explicitly saying when to prefer another tool, so it does not reach 5.

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

get_corporate_default_eventsCorporate Default EventsA
Read-onlyIdempotent
Inspect

Corporate default events labeled from SEC filings: answers "which public companies just defaulted on an obligation, and on what terms?" One row per default event: ticker, event date, source filing URL, plus enriched fields extracted from the filing text -- event type, the obligation's name and type, creditor name, principal outstanding, amount accelerated, missed payment amount, stated default date, grace period end, whether acceleration was declared, and a confidence score with the supporting evidence quote. Fields are null where the filing text did not explicitly support them.

Use it for distressed screening, credit event studies, or monitoring a date range for fresh defaults.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, non-destructive), the description discloses that fields are null when the filing text does not explicitly support them, that an API key is required, and that specific errors indicate plan limitations rather than missing data. This materially helps the agent interpret results and troubleshoot failures.

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 front-loaded with the core purpose and row structure, followed by use cases and error semantics. Every sentence contributes useful information and there is no filler or redundancy.

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 no output schema, the description compensates by listing the returned fields in detail, explaining null behavior, and covering error semantics. Combined with full schema coverage for parameters and clear annotations, an agent has everything needed to select and invoke the tool correctly.

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 input schema already explains each date parameter and max_rows. The description reinforces the date-range monitoring use case but does not add parameter-specific meaning beyond what the schema provides, matching the baseline expectation.

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 names a specific resource (corporate default events from SEC filings) and answers the exact question the tool addresses: which public companies just defaulted and on what terms. It enumerates the row structure and enriched fields, clearly distinguishing it from the finance-focused sibling tools.

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 states explicit use cases: distressed screening, credit event studies, and monitoring date ranges for fresh defaults. It does not name alternatives or explicitly say when not to use the tool, but there is no obvious sibling with overlapping functionality, so the context is sufficient.

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

get_crypto_enforcementCrypto Enforcement ActionsA
Read-onlyIdempotent
Inspect

US digital-asset enforcement, one normalized tape across the three agencies that bring it: SEC litigation releases and administrative proceedings, CFTC enforcement press releases, and DOJ criminal announcements, 2024+. One row per (action, respondent): what was alleged (multi-category), statutes cited, tokens/assets involved (real JSON arrays), monetary relief with its stated basis, settled flag (three-state), listed-issuer linkage where the document itself states one, and a follow-up chain linking successive actions by the same agency against the same respondent (complaint -> consent order, indictment -> plea).

The date window filters published_date (structural, the agency's announcement date); action_date is extracted from the document with its own precision enum. One matter can appear once per agency -- nothing links across agencies, by design. monetary_relief_usd repeats on each respondent row of one action; de-duplicate on action_key before summing.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
assetNoCase-insensitive substring over the assets list, e.g. 'bitcoin'. Asset strings are unnormalized document literals (Bitcoin/BTC both occur).
agencyNoWhich agency brought the action: sec, cftc, or doj.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
settledNoThree-state: true (document says settled), false (document says not settled), unknown (document does not say). Never collapse unknown into false.
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
record_idNoExact served row id: '<action_key>#<respondent_index>'.
action_keyNoExact action id, e.g. 'sec-lr:LR-26456', 'cftc:9285-26', 'doj:<uuid>'. One action returns one row per respondent.
allegationNoMatches anywhere in the allegation list: fraud, unregistered_offering, unregistered_exchange_or_broker, market_manipulation, aml_bsa, sanctions, misappropriation, other.
respondentNoCase-insensitive substring over the respondent name and its normalized key, e.g. 'bankman'.
action_typeNoWhat the document announces NOW: civil_complaint, administrative_proceeding, settled_order, criminal_indictment, criminal_plea, trial_verdict, other.
is_followupNo1 = this action follows an earlier action by the same agency against the same respondent.
has_followupNo1 = a later action by the same agency against the same respondent exists.
source_indexNoDocument kind: litigation-release, administrative-proceeding (SEC only; the PDF orders), or press-release (CFTC/DOJ).
updated_sinceNoYYYY-MM-DD, on last_updated -- rows touched by the follow-up sweep since this date.
respondent_keyNoExact normalized respondent key (lower-cased, suffixes stripped) -- the group-by for 'every action against this party' within one agency.
respondent_kindNoperson or company.
cursor_action_keyNoPagination: 'action_key' from next_cursor.
primary_allegationNoMatches only the lead allegation (same enum as allegation).
has_monetary_reliefNo1 = a dollar amount was stated, 0 = none stated.
max_monetary_reliefNoMaximum monetary_relief_usd.
min_monetary_reliefNoMinimum monetary_relief_usd. CAUTION: relief repeats on every respondent row of one action -- summing across rows double-counts.
action_date_precisionNoPrecision of the extracted action_date: day, month, quarter, year, unstated.
cursor_published_dateNoPagination: 'published_date' from next_cursor (send all three cursor params together).
cursor_respondent_indexNoPagination: 'respondent_index' from next_cursor.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already establish read-only, idempotent, non-destructive behavior. The description adds meaningful extra context: an API key requirement, the meaning of specific 403 error codes, that one matter can appear once per agency, that monetary relief repeats across respondent rows, and that date filters apply to published_date rather than action_date. This goes well beyond the annotation baseline.

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 dense but tightly organized: it starts with the product definition, then explains row semantics, date behavior, deduplication, and auth/error handling. Every sentence carries operational or semantic weight; there is no filler or repetition of schema content.

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 28-parameter read-only tool with no output schema, the description covers the essential context: data source scope, row granularity, output field semantics, date-window behavior, deduplication pitfalls, authentication requirements, and error interpretation. Pagination details live in the schema, which is appropriate. An agent has everything needed to select and invoke this tool correctly.

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 coverage is 100%, so the schema already documents every parameter clearly. The description adds cross-cutting semantics that the schema cannot express: monetary_relief_usd repeats per respondent row and requires de-duplication on action_key before summing, and nothing links across agencies. This is exactly the kind of parameter-level clarification that helps an agent avoid misaggregation.

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 opens with a precise resource definition: 'US digital-asset enforcement, one normalized tape across the three agencies' and names the three agencies individually. It clearly differentiates this tool from all sibling financial-data tools by its unique domain and row structure.

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 gives strong usage context: data coverage from 2024+, the 'one row per (action, respondent)' unit, de-duplication guidance before summing monetary relief, and how to interpret 403 errors. It does not explicitly name a sibling alternative, but no sibling appears to overlap with this specialized enforcement dataset, so exclusions are not critical here.

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

get_cyber_incidentsCyber Incident 8-KsA
Read-onlyIdempotent
Inspect

Material cybersecurity incidents: every Form 8-K filed under Item 1.05 (the SEC cyber-disclosure rule, live since 2023-12-18) plus its 8-K/A amendments -- the entire population, ~80 filings and growing. One row per filing, with FOUR distinct date roles kept rigorously separate: incident discovered, materiality determined (both extracted from prose, with day/month/quarter precision enums), disclosed and amended (both structural EDGAR dates, never model-guessed) -- plus the intervals between them (investigation time, compliance-clock time, total latency).

Flags are three-state: 1 = filing says yes, 0 = filing says no, NULL = filing does not say -- never collapsed. Amendments are separate rows linked to their original (original_accession_number, days_original_to_amendment); an incident with three 8-K/As is four rows. materiality_determined_date is sparse (~15% fill) because most filings simply do not state one. days_determination_to_disclosure is CALENDAR days; the SEC's deadline is four BUSINESS days -- adjust before compliance claims.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
cikNoSEC CIK number (digits only) -- the durable issuer key (3 rows have no ticker).
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
refusedNo1/0: rows where the labeler declined the filing text (served with NULL extraction fields; the disclosure event is still real).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
attack_typeNoOne of data-breach, unauthorized-access, ransomware, business-email-compromise, other, unstated.
cursor_dateNoPagination: 'date' from next_cursor (send with cursor_accession).
amended_flagNo1 = originals that were later amended, 0 = originals never amended (NULL on amendment rows themselves).
is_amendmentNo1 = 8-K/A amendments only, 0 = original 8-Ks only.
updated_sinceNoYYYY-MM-DD, on last_updated -- rows touched by the amendment-linkage sweep since this date.
cursor_accessionNoPagination: 'accession_number' from next_cursor (send with cursor_date).
data_compromised_flagNo1/0 three-state flag: filing states data was/was not stolen (unfiltered rows include NULL = filing does not say).
operations_disrupted_flagNo1/0 three-state flag: filing states operations were/were not disrupted.
third_party_incident_flagNo1/0 three-state flag: incident originated at a vendor/third party.

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations, the description discloses critical behavioral traits: flags are three-state and 'never collapsed,' amendments are separate rows linked to originals, materiality_determined_date is sparse (~15% fill), and days_determination_to_disclosure uses calendar days while the SEC deadline uses business days. It also clarifies that a 403 error means plan restrictions, not missing data.

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 long but densely informative, with the core population and scope stated first, followed by row semantics, flag behavior, date caveats, and API error interpretation. Every sentence adds necessary operational detail; there is no redundancy or filler.

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?

Given 18 parameters, no output schema, and a complex domain, the description is remarkably complete: it explains population size, row-level granularity, date semantics, amendment modeling, sparse fields, calendar-day caveats, required API key, and error interpretation. An agent has enough context to select and invoke the tool correctly.

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

Parameters5/5

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

Even with 100% schema coverage, the description adds substantial meaning beyond the parameter list: the four distinct date roles, calendar-versus-business-day adjustment, NULL semantics for three-state flags, amendment linkage fields, and pagination behavior. This directly prevents misinterpretation when using date, flag, and amendment-related parameters.

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 states a specific verb and resource: retrieving material cybersecurity incidents from every Form 8-K filed under Item 1.05 plus 8-K/A amendments, described as the 'entire population, ~80 filings and growing.' It clearly differentiates the tool from generic SEC-filing siblings by specifying row granularity, date roles, and amendment linkage.

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 provides clear context: this is the cyber-incident 8-K dataset, with explicit explanatory notes about amendment rows, flag semantics, date calculations, and authentication errors. It does not explicitly name sibling tools or state when to use this tool versus alternatives, so it stops short of a full 5.

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

get_de_spac_eventsDe-SPAC LifecycleA
Read-onlyIdempotent
Inspect

De-SPAC lifecycle: one row per SPAC business combination tracked from the definitive-agreement announcement through registration, definitive proxy, shareholder vote, exchange listing and completion (or termination / trust liquidation). Every row carries the SPAC's own symbol (prior_ticker), the combined company's symbol as soon as a filing names it (new_ticker -- the definitive proxy does so in most deals, weeks before the close), warrant ticker, exchange, SPAC / target / new company names, and the dated milestones: announced_date, meeting_date, record_date, vote_approved_date, listing_filed_date, expected_close_date and expected_trading_date (each with a *_basis column saying whether the date was stated in a filing or derived), closing_date, trading_commencement_date, terminated_date, plus next_event_date / next_event_type for what comes next. Completed rows also carry the closing financials (redemption shares and dollars, trust remaining, PIPE, gross proceeds, pro forma shares, enterprise and equity value), a confidence score and the supporting evidence quote. date is the SEC filing date of the filing that set the row's current status (for completed deals: the closing 8-K). ticker is the symbol trading for the deal today (new_ticker once listing is pending, otherwise prior_ticker). Fields are null where no filing supported them; quality_flags lists any rule that altered or withheld a value.

Use status=pending&upcoming=true to see de-SPACs before the new symbol trades, ticker= to follow one deal, view=history to replay what was known on a given date, or status=completed with a date range for the classic redemption-rate event study.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
viewNo'latest' (default): one row per deal with its current status. 'history': the append-only status log, one row per transition (deal_id, status, date = filing date, created_at = when the pipeline first recorded it) for point-in-time replays.
statusNoComma-separated deal statuses to return: announced, registration_filed, registration_effective, vote_scheduled, approved, listing_pending, completed, terminated, liquidated; or the shorthands 'all' (default) and 'pending' (every non-terminal status). Unknown values return a 400 listing the valid ones.
tickerNoSymbol filter matched against BOTH the SPAC's own symbol (prior_ticker) and the post-combination symbol (new_ticker), so either side of the rename works.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
upcomingNo'true' = only pending deals with a future milestone (next_event_date >= today); 'false' = everything else. Omit for both.
updated_sinceNoOnly rows updated at or after this timestamp (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS); for incremental syncs.
next_event_lteNoYYYY-MM-DD: only deals whose next milestone (meeting, expected close or expected first trade) is on or before this date.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior; the description adds substantial context beyond those: the meaning of date as the SEC filing date, ticker as the current trading symbol, null-field semantics, quality_flags behavior, and 403 error interpretation. This gives the agent a clear model of how data behaves without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but densely packed with necessary details that the absent output schema would otherwise leave uncovered. It is well-structured: a lifecycle/field paragraph, a data-semantics paragraph, and an actionable usage paragraph. It could be slightly tightened, but every major sentence adds information an agent needs.

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?

Given the tool's complexity, 12 optional parameters, rich annotations, and no output schema, the description is complete: it explains row granularity, all milestone and financial fields, null/quality handling, point-in-time history, common query patterns, and API-key/error behavior. An agent can select and invoke this tool correctly with no further context.

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 descriptions cover 100% of the 12 parameters, so the baseline is 3. The description adds meaning by tying key parameters to use cases (status+pending+upcoming, view=history) and clarifying derived dates and the ticker rename behavior. It does not simply repeat the schema, earning an above-baseline score.

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 states a specific verb-resource pair: it returns one row per SPAC business combination tracked across a defined lifecycle. It distinguishes itself from the many sibling get_* tools by naming the exact domain (De-SPAC) and the full list of milestones and financial fields returned.

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 gives four concrete usage recipes: status=pending&upcoming=true, ticker=<symbol>, view=history, and status=completed with a date range for redemption-rate studies. It clearly explains when each is appropriate, though it does not explicitly state when not to use this tool versus a sibling; the sibling topics are sufficiently different that this is a minor gap.

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

get_dilution_filingsS-1 Dilution FilingsA
Read-onlyIdempotent
Inspect

S-1 dilution filings tracker: answers "which companies are registering new share supply, and where is each registration in its lifecycle?" One row per S-1 registration event: ticker, company name, filing timestamp, market cap at filing, whether the filing is dilutive and/or a resale, shares offered, whether/when it became effective (with days-to-effective), whether/when it was withdrawn, and the SEC accession number + filing URL for the source document.

Use it to flag dilution overhang on small caps, track time-to-effectiveness, or build event studies around registration filings. Filters by ticker and filing-date range (no exact-date parameter on this dataset).

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds valuable behavioral context beyond annotations: API key requirements, and the meaning of 403 errors (subscription/date-range restriction rather than missing data). This meaningfully helps agents interpret failures correctly.

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 front-loaded with the tool's purpose and output shape, then gives use cases, filter limitations, and error semantics. It is somewhat long due to the field enumeration, but every part contributes useful information and nothing feels redundant or padded.

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 no output schema, the description compensates by fully enumerating the returned row fields. It also covers authentication, error interpretation, filter boundaries, and practical use cases. An agent has enough information to invoke the tool correctly and interpret the response meaningfully.

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 already covers all parameters with descriptions, so the baseline is 3. The description adds useful parameter semantics by stating that filtering is limited to ticker and filing-date range and explicitly calling out that there is no exact-date parameter. This helps an agent choose date filters correctly without over-specifying.

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 S-1 dilution filings and specifies the exact row-level content (ticker, filing timestamp, dilutive/resale flags, effectiveness/withdrawal status, SEC links). It is distinct from generic filing tools, but it does not explicitly differentiate from the closely related sibling get_shelf_registrations, so it falls just 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?

It provides explicit use cases: flagging dilution overhang, tracking time-to-effectiveness, and building event studies. It also clarifies the available filter scope (ticker and filing-date range, no exact-date parameter). It does not state when to prefer a sibling tool, but the context is clear enough for basic routing.

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

get_dividend_captureDividend-Capture CalendarA
Read-onlyIdempotent
Inspect

Dividend-capture calendar and scorecard: answers "which ex-dividend events are coming up, and how has capturing this name's dividend actually worked?" One row per ex-dividend event: the full schedule (declaration/record/pay dates, cash amount, frequency, type, annualized dividend, capture yield), the ex-day price action (cum-day close, ex open/close, price drop and drop ratio at open and close, net capture %), and the recovery record (breakeven price, recovery status/date, days to recover, recovered-within 1/3/5/10/20-day flags). A drop ratio well below 1 means the stock historically falls less than the dividend -- the raw material of a capture strategy.

Set upcoming=true for the forward ex-div calendar (default 7 days out, up to 120 via future_days); use ticker for one name's full capture history.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
upcomingNoIf true, return only the FORWARD calendar: ex-dividend dates after today, out to future_days ahead. Overrides date range filters.
future_daysNoForward horizon in calendar days for the upcoming calendar (default 7, max 120).
recovery_statusNoFilter by the recovery_status label of the ex-div event (values as returned in the data, e.g. whether the price has recovered to breakeven yet).

TDQS

A4.7/5.0
Behavior5/5

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

The annotations already mark this as read-only, idempotent, and non-destructive. The description adds substantial behavioral context: the exact output row structure, interpretation guidance for drop ratio, requirement for a Pro API key, and the meaning of specific error codes. This goes well beyond what the annotations alone provide.

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 dense but every sentence carries distinct value: purpose, output structure, mode selection, interpretation guidance, and error handling. It is front-loaded with the core purpose and avoids redundancy with the schema.

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 no output schema present, the description carries the full burden of explaining return values, and it does so thoroughly: row granularity, schedule fields, price-action fields, recovery flags, and interpretation. It also covers authentication requirements and error semantics, making the tool callable without external documentation.

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 schema already documents all 10 parameters with descriptions, so the baseline is 3. The description adds useful semantics beyond the schema, such as how upcoming=true and future_days define the forward calendar, how ticker maps to full capture history, and how to interpret recovery-related output. This lifts the score slightly above baseline.

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 identifies the resource as a dividend-capture calendar and scorecard, including the exact questions it answers and the output granularity (one row per ex-dividend event). This clearly distinguishes it from sibling tools, which cover unrelated market or event data.

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 gives explicit mode instructions: set upcoming=true for the forward calendar and use ticker for a single name's capture history. It also explains that 403 errors indicate plan restrictions rather than missing data. It does not name alternative sibling tools, but the tool is distinct enough that the mode guidance is sufficient.

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

get_earnings_move_historyEarnings Move HistoryA
Read-onlyIdempotent
Inspect

Earnings move track record: answers "does the options market systematically over- or under-price this name's earnings moves?" One row per earnings event per ticker: the pre-earnings ATM straddle price and implied move (% and $), ATM IV, the realized post-earnings return and absolute move, the over/under-pricing gap and move ratio, an overpriced flag, EPS estimate vs actual, plus running per-ticker history stats (events to date, hit rate of straddle overpricing, average implied vs realized move to date).

Use it before an earnings trade: query ticker to see whether selling or buying the earnings straddle has historically paid on that name, or screen a date to review how yesterday's reporters resolved. date is the earnings date.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark this read-only, idempotent, open-world, and non-destructive, and the description does not contradict them. It adds substantial behavioral context: one row per earnings event per ticker, the meaning of the 403 errors (plan limitation, not missing data), and the Pro API key requirement. This goes well beyond what annotations alone communicate.

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 detailed but every sentence earns its place. It front-loads the core purpose, lists the output fields compactly, gives direct usage instructions, and closes with error interpretation. There is no filler or redundancy.

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?

Given seven optional params, no output schema, and a large sibling set, the description covers the essentials: what the data represents, what fields are returned, how to use ticker and date, the auth requirement, and how to interpret errors. The input schema handles filter mechanics, so nothing critical is missing.

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 coverage is 100%, so the baseline is 3, but the description adds meaningful domain context: it tells agents that ticker is how you evaluate historical straddle profitability for a name and clarifies that date means the earnings date. This enriches the parameter semantics beyond the raw schema descriptions.

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 names a specific resource ('earnings move track record') and a precise diagnostic question: whether the options market systematically over- or under-prices earnings moves. It also enumerates the output in concrete terms (straddle price, implied move, realized move, overpricing gap, flag, EPS data), which makes it unambiguously distinct from siblings like get_iv_hv_premium or get_momentum_index.

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 gives explicit, actionable usage guidance: use it before an earnings trade by querying ticker to assess whether selling or buying the straddle has paid, or screen by date to review recent reporters. It does not explicitly name alternative tools or when-not-to-use conditions, but the intended context is clear enough.

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

get_fda_response_eventsFDA Response EventsA
Read-onlyIdempotent
Inspect

Adverse FDA regulatory actions disclosed in 8-Ks: Complete Response Letters, full and partial clinical holds, and refuse-to-file letters, 2024+, each graded by an explicit severity precedence rule with the evidence flags the grade depends on served alongside it (new-trial-required, manufacturing-related, resubmission-path, hold-lifted). Follow-ups and resolutions are linked per (issuer, drug program), so an original hold row answers 'was it ever lifted, and how long did it take'.

By default only classified FDA events are returned (~196 rows); the ~1,520 audited not-an-event rows the full-text sweep also retrieved are available with include_rejects=true. The date window filters disclosed_date (the EDGAR filing date); event_letter_date is extracted with its own precision enum and days_letter_to_disclosure is the selective-disclosure measure -- on initial_disclosure rows only (on follow-ups it measures distance to the original letter). Selective disclosure is the headline caveat: a CRL disclosed only in a 10-Q, or never, is not here.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
cikNoSEC CIK number (digits only).
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
resolvedNotrue = events with a linked later resolution (hold lifted, approval, resubmission accepted); false = still open. NULL rows are themselves resolutions.
severityNoComma-separated severity grades: program_terminated, major_delay_new_trial_required, manufacturing_only, addressable_deficiencies, safety_signal_no_path_stated, unstated, not_restated. Rank encodes grading precedence, NOT market impact.
asset_keyNoExact normalized program key -- groups all filings about one program and audits the served linkage columns.
event_typeNoComma-separated: crl, clinical_hold_full, clinical_hold_partial, refuse_to_file, other_fda_action. (not_a_setback_event requires include_rejects=true.)
cursor_dateNoPagination: 'date' from next_cursor (send with cursor_accession).
drug_searchNoCase-insensitive substring on the drug/asset name (3+ chars).
filing_roleNoWhat the document does about the event: initial_disclosure, follow_up_update, or resolution. Counting rows without this filter overstates events ~2.4x -- one program's hold can be 3+ filings.
updated_sinceNoYYYY-MM-DD, on last_updated -- rows touched by the linkage sweep since this date.
include_rejectsNotrue = include the ~1,520 audited 'not_a_setback_event' rows (boilerplate the recall-first sweep retrieved and the labeler rejected, each with its reason). Default = real FDA events only.
cursor_accessionNoPagination: 'accession_number' from next_cursor (send with cursor_date).

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/openWorld annotations, the description discloses default row counts, that date filters apply to disclosed_date, linkage of follow-ups/resolutions per program, the selective-disclosure limitation, and auth-related 403 meanings. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long because the tool is complex, and it is front-loaded with the core purpose before caveats and auth. Every sentence carries information, but some clauses are dense and could be tightened slightly.

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 complex 18-parameter read-only tool with no output schema, the description covers default scope, optional reject rows, date semantics, linkage model, selective-disclosure limits, and error interpretation. This is sufficient for an agent to select and invoke it correctly.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds cross-parameter meaning: date window semantics, days_letter_to_disclosure only on initial_disclosure rows, filing_role overstating event counts ~2.4x, and severity rank encoding precedence rather than market impact. This materially helps correct parameter selection.

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 opens with a specific verb-resource pairing: adverse FDA regulatory actions disclosed in 8-Ks, enumerating CRLs, full/partial clinical holds, and refuse-to-file letters. This clearly distinguishes it from sibling tools covering other event types like cyber incidents or SEC trading suspensions.

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 establishes the domain and scope explicitly, including a when-not caveat: CRLs disclosed only in a 10-Q or never are not present. It also explains default vs include_rejects behavior, though it does not name alternative sibling tools for out-of-scope queries.

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

get_filing_intensitySEC Filing IntensityA
Read-onlyIdempotent
Inspect

SEC filing intensity: the number of EDGAR filings each company submitted per day. Corporate action leaves fingerprints in the filing stream -- financings, restructurings, activist involvement, and deal activity all show up as bursts of filings before the news is digested. One row per ticker per day: ticker, company name, date, filing_count.

Screen filing_count_gte over recent dates to surface names with unusual filing bursts, or pull one ticker's history to spot regime changes in its filing cadence. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's date and ticker back as cursor_date and cursor_ticker to fetch the next page.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
cursor_dateNoPagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker.
cursor_tickerNoPagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date.
filing_count_eqNoExact filing count match. Cannot be combined with the filing_count range parameters.
filing_count_gtNoOnly rows with filing_count > this value.
filing_count_ltNoOnly rows with filing_count < this value.
filing_count_gteNoOnly rows with filing_count >= this value (non-negative).
filing_count_lteNoOnly rows with filing_count <= this value.

TDQS

A4.6/5.0
Behavior5/5

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

Even with readOnly, openWorld, idempotent, and non-destructive annotations, the description adds meaningful behavioral detail: a 50,000-row per-request cap, cursor-based pagination semantics, the need for an Alphanume Pro API key, and the specific meaning of 403 errors. This goes well beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured, front-loaded with the core definition, then usage, pagination, and error context. The 'corporate action fingerprints' sentence adds useful intuition and is not excessive; each remaining sentence carries operational weight.

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 14-parameter tool with no output schema, the description covers what an agent needs: row schema, pagination mechanics, request-size limits, authentication requirements, and error interpretation. This is a high-complexity tool, and the description is sufficiently 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 coverage is 100%, so the baseline is 3. The description adds value by showing how parameters are meant to be used, e.g., screening with filing_count_gte, pulling ticker history, and using cursor_date/cursor_ticker for pagination. It also clarifies that max_rows should not be raised as a substitute for narrowing filters.

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 defines the resource: the number of EDGAR filings per company per day, with an explicit row shape (ticker, company name, date, filing_count). This distinguishes it from sibling tools by domain (SEC filing cadence) and by data granularity, so an agent knows exactly what it returns.

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?

It gives concrete use cases: screening filing_count_gte over recent dates for unusual filing bursts, or pulling one ticker's history for regime changes. It provides actionable guidance for parameter selection and pagination, but it does not explicitly contrast with sibling tools or state when not to use it.

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

get_historical_market_capHistorical Market CapA
Read-onlyIdempotent
Inspect

Point-in-time historical market capitalization: daily market_cap and shares_outstanding per US ticker, as they were known on each date (no restatement, no survivorship bias). The backbone reference for size filters, cap-weighted baskets, and normalizing anything by company size in a backtest.

Requirements: provide ticker OR at least one date filter. A single date with no ticker returns the whole market for that day; a date RANGE without a ticker is capped at 7 calendar days. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's date and ticker back as cursor_date and cursor_ticker to fetch the next page.

Companion tool: list_market_cap_tickers shows which tickers exist and their first available date.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
cursor_dateNoPagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker.
cursor_tickerNoPagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date.

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses significant behavior: no restatement, no survivorship bias, 50,000-row pagination cap, has_more/next_cursor mechanics, and the 7-day range limit. It also explains that PRO_SUBSCRIPTION_REQUIRED and DATE_RANGE_RESTRICTED errors mean the plan does not cover the request rather than missing data.

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?

Three structured paragraphs front-load the core semantics, then move through requirements, pagination, companion tools, and auth/error handling. Every sentence contributes operational or selection value with no filler.

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 9-parameter read tool with no output schema, the description supplies return fields (market_cap, shares_outstanding), pagination details, limits, companion tool guidance, and error interpretation. No critical operational gap remains for an agent to invoke it correctly.

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 already covers all 9 parameters with descriptions, so the baseline is 3. The description adds meaning beyond the schema: the ticker-or-date-filter requirement, the cursor_date/cursor_ticker coupling rule, pagination behavior, and the range cap, which is valuable operational context the schema alone does not convey.

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 names a specific verb and resource: point-in-time historical market capitalization with daily market_cap and shares_outstanding per US ticker. It also states the key data semantics (no restatement, no survivorship bias), and names the companion tool list_market_cap_tickers, distinguishing it from related sibling tools.

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?

Explicit invocation rules are provided: provide ticker OR at least one date filter, a bare date returns the whole market, and a date range without ticker is capped at 7 days. It also routes agents to list_market_cap_tickers for checking ticker availability and clarifies 403 error meaning, giving strong when-to-use and troubleshooting guidance.

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

get_iv_hv_premiumIV vs HV Premium ScreenerA
Read-onlyIdempotent
Inspect

Volatility risk premium screener: answers "are this name's options rich or cheap right now?" For every liquid US optionable equity, per trading day: ~30-day at-the-money implied volatility (iv) vs ~30-day realized volatility (hv), their spread (iv-hv) and ratio (iv/hv), plus daily cross-sectional percentile ranks and z-scores for each measure, option notional volume, and the ATM strike/expiry/spot used. Rows update intraday (is_final=0) and settle after the close (is_final=1).

Use it to find overpriced premium to sell (high iv_hv_ratio / min_ratio_rank near 1), underpriced options to buy, or to track one ticker's premium history via ticker.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
only_finalNoIf true, return only settled end-of-day rows (is_final=1). By default the latest value is returned, which intraday may be provisional.
min_ratio_rankNoOnly rows whose iv/hv ratio sits at or above this cross-sectional percentile for the day, in [0, 1]. 0.95 = the day's richest 5%.
max_iv_hv_ratioNoOnly rows with iv_hv_ratio <= this value (e.g. 0.9 to screen for cheap options).
min_iv_hv_ratioNoOnly rows with iv_hv_ratio >= this value (e.g. 1.5 for names whose options price 50%+ over realized vol).

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses meaningful runtime behavior: rows update intraday with is_final=0 and settle after close with is_final=1. It also explains the API-key requirement and clarifies that 403 errors mean plan restrictions, not missing data. This is exactly the kind of context that helps an agent interpret unexpected responses.

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 dense but every sentence earns its place: the screener's question, the universe and metrics, intraday/settlement behavior, use cases, filter hints, and auth/error semantics. It is front-loaded with the core purpose and avoids filler or repetition of schema details.

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 an 11-parameter tool with no output schema, the description gives the agent enough context to call it correctly and interpret what comes back. It enumerates return row contents, explains is_final semantics, provides screening examples, and covers the one likely error condition. Nothing essential is missing.

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 already covers 100% of parameters, so the baseline is 3. The description adds interpretive value by linking filters to real screening goals, such as using min_iv_hv_ratio >= 1.5 for options priced 50% over realized vol and max_iv_hv_ratio for cheap options. This contextual framing goes beyond the schema's literal parameter definitions.

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 opens with a specific question ('are this name's options rich or cheap right now?') and enumerates the exact metrics computed: 30-day ATM IV vs HV, spread, ratio, percentile ranks, z-scores, notional volume, and ATM details. This clearly differentiates it from sibling tools like get_iv_rank or get_vol_of_vol by focusing on the IV/HV premium cross-sectional screener rather than single-name rank or volatility-of-volatility.

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 explicitly states when to use the tool: to find overpriced premium to sell, underpriced options to buy, or to track a ticker's premium history via `ticker`. It also gives concrete filter-based guidance like high iv_hv_ratio / min_ratio_rank near 1. However, it does not explicitly say when not to use it or name an alternative sibling for adjacent use cases.

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

get_iv_rankIV Rank & Percentile (52-week)A
Read-onlyIdempotent
Inspect

IV Rank & IV Percentile (52-week): answers "is this name's volatility high or low for itself?" For each US optionable equity, per trading day: where current ~30-day implied vol and 20-day realized vol sit inside that name's own trailing-year range -- iv_rank/hv_rank (0-100 position between the 52w low and high), iv_percentile / hv_percentile (share of the past year's days below today), the 52w high/low/median levels themselves, and daily cross-sectional ranks/z-scores for context. Rows update intraday and settle after the close (is_final=1).

The classic premium-selling timing filter: min_iv_rank=50 finds names in the upper half of their own vol range regardless of absolute vol level.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
only_finalNoIf true, return only settled end-of-day rows (is_final=1). By default the latest value is returned, which intraday may be provisional.
max_hv_rankNoOnly rows with hv_rank <= this value, range [0, 100].
max_iv_rankNoOnly rows with iv_rank <= this value, range [0, 100].
min_hv_rankNoOnly rows with hv_rank >= this value, range [0, 100].
min_iv_rankNoOnly rows with iv_rank >= this value, range [0, 100].
min_iv_percentileNoOnly rows with iv_percentile >= this value, range [0, 100].

TDQS

A4.2/5.0
Behavior5/5

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

The description discloses that rows update intraday and settle after the close (is_final=1), that the default latest value may be provisional, and that 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED errors are about plan coverage rather than missing data. These details go well beyond the annotations and materially help an agent interpret behavior and failures.

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 dense but well organized: core concept first, then update behavior, then a use case, then authentication/error context. Every sentence contributes something necessary, and no filler or vague phrasing is present.

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 13 optional parameters, no output schema, and many siblings, the description covers the essential context: the data universe, the computed metrics, update timing, filtering semantics, and the meaning of common auth errors. An agent has enough information to call the tool correctly and interpret the response.

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 adds value by defining what iv_rank, hv_rank, iv_percentile, and hv_percentile actually measure. It also gives min_iv_rank a practical interpretation, complementing the schema without redundantly restating each parameter.

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 (IV/HV rank and percentile within each name's trailing 52-week range for US optionable equities) and the tool's core purpose: answering whether volatility is high or low relative to that name's own history. It lacks an explicit retrieval verb like 'get' or 'return', but the subject matter is specific and distinct from the listed siblings.

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 a concrete usage pattern ('min_iv_rank=50 finds names in the upper half of their own vol range') and clarifies that ranks are relative to each name's own range, not absolute levels. However, it never contrasts this tool with closely related siblings such as get_iv_hv_premium or get_vol_of_vol, so an agent gets no explicit 'when to use this vs. that' guidance.

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

get_momentum_indexQuant Galore Momentum IndexA
Read-onlyIdempotent
Inspect

Quant Galore Momentum Index constituents: the daily holdings of a rules-based 12-1 momentum strategy (long the highest-momentum US names, refreshed on a fixed schedule). One row per constituent per day: date, ticker, and rank (1 = strongest). History is point-in-time -- each day shows exactly what the index held then, so backtests are free of look-ahead.

Use it to mirror the index, source high-momentum candidates, or study momentum portfolio turnover. Query a single date for that day's basket, or a range to see how the basket evolved.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already indicate readOnly/idempotent/non-destructive behavior, and the description adds valuable context beyond that: point-in-time history, no look-ahead bias, rank semantics, and the 403 error interpretation. This meaningfully clarifies behavior an agent could not infer from annotations or schema alone.

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 well organized into three focused paragraphs: what the data is, how to use it, and important auth/error context. Every sentence carries information, with the resource definition front-loaded and no filler.

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 no output schema, the description carries the burden of explaining return values, and it does: columns, row semantics, point-in-time integrity, and rank meaning. It also covers query modes, key requirements, and error interpretation, making it complete enough for an agent to select and invoke the tool correctly.

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 coverage is 100%, so the baseline is 3. The description adds semantic framing by explaining that a single `date` returns that day's basket and a range shows evolution, which helps the agent choose between the date family parameters. It does not add per-parameter detail beyond schema, but the usage framing is genuinely useful.

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 identifies the resource (Quant Galore Momentum Index constituents) and the data shape (one row per constituent per day: date, ticker, rank). It is specific enough to distinguish this tool from the many data-retrieval siblings, which cover different domains.

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 gives explicit use cases: mirror the index, source momentum candidates, or study turnover. It also explains how to query a single date versus a range. It does not name alternative tools or exclusion conditions, so it stops short of full when-to-use-versus-alternatives guidance.

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

get_next_day_moversNext-Day MoversA
Read-onlyIdempotent
Inspect

Next-Day Movers: each trading day, the US equities a volatility model ranks most likely to make an outsized price move in the next session. Rows carry the ticker, the list date, and -- once the next session has traded -- the realized outcome (return = signed next-day return, absolute_move = unsigned magnitude), so the dataset doubles as its own scorecard.

Use it to focus long-gamma / straddle / breakout attention on a short daily list, or to backtest the signal against realized moves over a date range.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare read-only, non-destructive, idempotent behavior. The description adds substantial context beyond that: the meaning of return and absolute_move fields, that the dataset acts as its own scorecard, the requirement of an Alphanume Pro API key, and that 403 errors indicate plan restrictions rather than missing data. This is genuinely useful operational transparency.

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 well-structured: first the core data and meaning, then use cases, then authentication and error interpretation. Each sentence adds distinct value, and the most important facts are front-loaded. No filler or redundancy.

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?

There is no output schema, so the description appropriately explains the key return fields (ticker, list date, return, absolute_move) and the scorecard nature of the data. It also covers authentication requirements and a critical error-class interpretation. This is sufficient for an agent to call the tool and interpret results correctly.

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% parameter description coverage, so the schema already documents dates, range semantics, and max_rows behavior. The tool description adds high-level context about date-range backtesting but no additional parameter syntax or constraints beyond what the schema provides, so the baseline 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 states a specific function: it returns US equities a volatility model ranks as likely to make an outsized move in the next session, with realized outcomes for backtesting. This clearly distinguishes it from sibling data tools like get_earnings_move_history or get_iv_rank, which target different signals or asset classes.

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 explicitly suggests two use cases: focusing trading attention on the daily list and backtesting the signal against realized moves over a date range. It does not explicitly name alternative tools or state when not to use it, but the use-case framing gives enough context for an agent to decide applicability.

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

get_optionable_tickersOptionable TickersA
Read-onlyIdempotent
Inspect

Historical optionable universe: point-in-time snapshots of which US equities had listed options on each snapshot date, with the average number of days between listed expirations (avg_days_between -- lower means a denser expiration calendar) and a has_weeklies flag. Essential for honest options backtests: it tells you what was actually tradable then, not what is optionable today.

Filter by snapshot date range; omit filters for the most recent snapshots first. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's date and ticker back as cursor_date and cursor_ticker to fetch the next page.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
cursor_dateNoPagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker.
cursor_tickerNoPagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark this as read-only, idempotent, and non-destructive. The description adds substantial behavioral context beyond that: 50,000-row pagination cap, has_more/next_cursor mechanics, and crucially explains that 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED errors indicate plan coverage, not missing data.

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?

Every sentence earns its place: core concept, field definitions, filtering guidance, pagination mechanics, and error semantics. The most important point-in-time distinction is front-loaded, and the structure flows logically from what to how to error handling.

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?

Despite lacking an output schema, the description names the key output fields (avg_days_between, has_weeklies), explains pagination response elements (has_more, next_cursor), and covers auth requirements and error interpretation. This is sufficiently complete for an agent to call and process results correctly.

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 already documents all 7 parameters, so the baseline is 3. The description adds extra meaning by explaining that cursor_date and cursor_ticker must be sent together and come from next_cursor, and by clarifying that max_rows is applied after the API responds. This goes beyond the schema's descriptions.

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?

States exactly what the tool returns: historical point-in-time snapshots of US equities with listed options, including specific fields like avg_days_between and has_weeklies. The emphasis on 'what was actually tradable then, not what is optionable today' clearly distinguishes its purpose from any current-universe tool among siblings.

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 clear guidance on when to use it, such as 'essential for honest options backtests,' and how to apply date filters and pagination. It doesn't explicitly name when-not-to-use alternatives, but the context is strong enough to guide selection.

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

get_premarket_drop_riskPre-Market Drop RiskA
Read-onlyIdempotent
Inspect

Pre-market drop risk: model-estimated probability of an intraday decline in US microcaps, published each morning before the open.

Each trading morning, by ~09:25 ET and ahead of the 09:30 open, a RandomForestClassifier scores every microcap that actually traded in the pre-market session and this dataset serves the names ranked by modeled drop risk. Features are cut at a fixed 09:00 ET pre-market cutoff. prob_drop is P(intraday open->close return <= -5%); one row per (date, ticker), ordered by rank_for_date (1 = the highest-probability name that day). It measures the subset the model flags, not everything that moved overnight, and is built for researchers and traders analyzing pre-market activity in US microcaps.

Requires an Alphanume Pro API key. There is no date clamp on this route: a Pro key sees the whole history, whatever dates it asks for.

Sub-$1 names are featured, not filtered. Every row the model flags is published, each carrying a sub_dollar flag: pass min_price=1 for the legacy '$1 and up' screen, sub_dollar=1 (or max_price=1) to isolate the penny cohort, max_rank=5 for the day's top five.

History before go-live (2026-08-31) is walk-forward simulated: generated retrospectively by re-running the walk-forward loop (train on strictly-prior rows only, then score that date). There is no look-ahead in the features or the training window, but rows dated before go-live are not a real-time publication record; rows from go-live onward are published live each morning before the open.

Outcomes fill in late, never early. intraday_return_pct lands the same evening; return_lead_1d / return_lead_5d / return_lead_30d only once 1 / 5 / 20 NYSE sessions have elapsed -- NULL means not yet mature, or no exchange print existed at maturity (halts and delistings, which this microcap universe produces regularly). Three documented quirks kept for continuity with the training set: return_lead_30d is 20 trading sessions rather than 30 calendar days; return_lag_1m uses the 21-session price change over the price 252 sessions back (a legacy denominator quirk, so it is not a clean 1-month return); and the t_0..t_9 pre-market return grid is 0-filled, not NULL, when no print exists at or before that clock mark.

Borrow and locate costs are NOT modeled. Shorting a sub-$1 microcap needs a locate that may be expensive or simply unavailable, and no number served here carries that cost. sub_dollar and min_price are the levers for filtering toward borrowable names.

Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's date and rank_for_date back as cursor_date and cursor_rank to fetch the next page.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rankNoOnly rows with rank_for_date <= this value (>= 1). max_rank=5 gives the top five names per day.
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
min_probNoOnly rows with prob_drop >= this value, range [0, 1]. 0.7 keeps the model's higher-conviction names.
max_priceNoOnly rows with px_at_trading <= this value (USD, >= 0). max_price=1 isolates the sub-$1 cohort. Must be >= min_price.
min_priceNoOnly rows with px_at_trading >= this value (USD, >= 0). min_price=1 reproduces the legacy '$1 and up' screen.
sub_dollarNo'1' = only names priced under $1 at the 09:00 ET cutoff, '0' = only names at $1 or above. Convenience equivalent of min_price/max_price around $1.
cursor_dateNoPagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_rank.
cursor_rankNoPagination: the 'rank_for_date' value from the previous response's next_cursor. Must be sent together with cursor_date.

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the read-only/idempotent annotations, the description discloses publication timing (before the open, ~09:25 ET), walk-forward simulated history with a go-live date, later-filling outcome columns, NULL semantics, and known quirks in return fields. It also documents the 50,000-row pagination cap and cursor mechanics.

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, but it is front-loaded with a one-sentence summary and organized into topic paragraphs (timing, authentication, simulation, outcome maturity, caveats, pagination). A small amount of repetition exists around pre-market publication and sub-$1 filtering, but the density is justified by the tool's complexity and lack of an output schema.

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 14-parameter, no-output-schema tool, this is exceptionally complete: it names the key output fields (prob_drop, rank_for_date, intraday_return_pct, return_lead_*), explains their timing and NULL meaning, covers historical simulation, auth, filtering levers, and pagination. An agent has everything needed to call this tool correctly and interpret results.

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?

While the schema already documents all 14 parameters (100% coverage), the description adds relational meaning: min_price=1 reproduces the legacy screen, sub_dollar=1 or max_price=1 isolates the penny cohort, and max_rank=5 returns the day's top five. It also explains cursor_date/cursor_rank pagination beyond the schema's 'must be sent together' note.

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 opens with a precise statement: 'model-estimated probability of an intraday decline in US microcaps,' then defines prob_drop as P(intraday open->close return <= -5%). It also distinguishes the dataset from generic movers by saying 'It measures the subset the model flags, not everything that moved overnight.'

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?

It clearly says the data is 'built for researchers and traders analyzing pre-market activity in US microcaps' and spells out the Pro API key requirement. It also defines what the tool is not for ('Borrow and locate costs are NOT modeled'), though it never names sibling tools as alternatives.

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

get_reverse_splitsReverse-Split CalendarA
Read-onlyIdempotent
Inspect

Reverse-split calendar: every US reverse stock split, executed and UPCOMING, with pre-split price, market-cap tier, and dilution/shelf cross-links.

One row per (ticker, execution date), sourced daily from Polygon's reference splits feed. Because the feed carries future execution dates, upcoming=true is a genuine forward calendar (~40 scheduled splits at any moment); ~70-100 reverse splits execute per month, almost all sub-$1 microcaps curing a listing deficiency. first_seen_at records when the pull first observed the row (an announcement proxy; for rows backfilled before launch it is set to the execution date itself and is synthetic).

Requires an Alphanume Pro API key. There is no date clamp on this route: a Pro key sees full history and the forward calendar.

Research context, stated plainly: in the Alphanume anomaly sweep (2022-2026, matched-control event study), reverse-split names underperform controls by roughly -6%/-12%/-18%/-40% over the 21/63/126/252 sessions after execution (~60% of events negative; Kim-Klein-Rosenfeld 2008 found the same). That makes this a screening/avoidance signal -- e.g. exclude fresh reverse-splitters from long screens, or use the calendar to anticipate the event. It is NOT a tradeable short card: borrow on these names is scarce and expensive and is not modeled anywhere, the calendar-time short portfolio was statistically inconclusive net of costs, and the long-horizon numbers are survivor-conditioned (only ~47% of events still have a full price history 252 sessions out). No CAR columns are served; the feed is the product.

Enrichment semantics. sub_dollar_flag marks names whose unadjusted close the session before the split was under $1 (the raw price is an internal input and is not served). market_cap_before / market_cap_tier are populated from 2024-01-02 (NULL earlier -- the cap history starts there). ratio = split_to/split_from (<1 = reverse; a 1-for-10 is 0.1); is_deficiency_candidate flags ratio <= 0.5, separating real consolidations from ADR-fee-style near-1.0 adjustments, which are served raw. dilution_link_flag/shelf_link_flag mark an S-1 or S-3/F-3 filing by the same ticker in the trailing 365 days (dilution links meaningful from 2026, shelf links from 2025 -- the linked datasets' own history floors). Upcoming rows carry NULL sub_dollar_flag until execution; OTC names outside the coverage universe may keep it NULL along with cap fields. Open-end mutual fund share adjustments are excluded at ingest; ETFs and closed-end funds are included.

Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's cursor_date and cursor_ticker back to fetch the next page.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
cap_tierNoMarket-cap tier as of the session before the split (from the Alphanume cap history; populated from 2024-01-02).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
upcomingNo'true' = only splits with an execution date today or later (the forward calendar); 'false' = only already-executed splits. Omit for both.
ratio_gteNoOnly rows with ratio >= this value, range (0, 1]. ratio = split_to/split_from, so 0.1 is a 1-for-10.
ratio_lteNoOnly rows with ratio <= this value, range (0, 1]. ratio_lte=0.1 keeps 1-for-10 and larger consolidations.
sub_dollarNo'true' = only names whose unadjusted close before the split was under $1 (the classic deficiency-cure cohort); 'false' = $1 and above.
cursor_dateNoPagination: the 'cursor_date' value from the previous response's next_cursor. Must be sent together with cursor_ticker.
cursor_tickerNoPagination: the 'cursor_ticker' value from the previous response's next_cursor. Must be sent together with cursor_date.
updated_sinceNoOnly rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs.
deficiency_onlyNo'true' = only listing-deficiency-sized splits (ratio <= 0.5, i.e. 1-for-2 or larger). Filters out ADR-fee-style near-1.0 adjustments.

TDQS

A4.6/5.0
Behavior5/5

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

The description goes far beyond the annotations, disclosing data provenance, daily ingestion from Polygon, the forward-calendar nature of upcoming rows, synthetic first_seen_at values for backfilled data, missing cap history before 2024-01-02, NULL semantics, exclusions at ingest, and pagination behavior. This level of behavioral detail is exceptional.

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 but well-structured with labeled sections and a front-loaded summary. The research-context paragraph is substantial, yet it earns its place by framing appropriate use and caveats. It is not terse, but it is dense with relevant information and organized clearly.

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 no output schema, the description carries the full burden of explaining the data model, and it does so thoroughly: row granularity, key output fields, NULL behavior, auth requirements, pagination mechanics, and coverage caveats are all disclosed. An agent can confidently decide whether and how to call this tool.

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 coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: it explains ratio as split_to/split_from with a 1-for-10 example, clarifies that upcoming=true is a genuine forward calendar, defines sub_dollar_flag semantics, and describes cap-tier history limitations. It enriches parameter understanding without exhaustively annotating every parameter.

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 opens with a precise definition: 'Reverse-split calendar: every US reverse stock split, executed and UPCOMING...' and specifies the row granularity and data source. This clearly identifies the resource and scope, and the mention of dilution/shelf cross-links helps distinguish it from related sibling datasets.

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 gives explicit practical guidance: use it as a screening/avoidance signal, exclude fresh reverse-splitters from long screens, or anticipate events via the calendar. It also clearly warns against using it as a short card. However, it does not explicitly name or route to sibling tools like get_dilution_filings or get_shelf_registrations, even though those are related.

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

get_sec_trading_suspensionsSEC Trading SuspensionsA
Read-onlyIdempotent
Inspect

SEC trading suspensions: every Section 12(k) order halting trading in a stock, 1995 to today -- the terminal-risk tape for dying OTC and small-cap names. One row per (order, issuer): who was halted, when trading stopped, when it could legally resume (first NYSE session after the order terminates), the cited reason normalized to a 4-value taxonomy, listing venue, and the order PDF URL.

Bulk delinquency orders (2013-2021) name up to ~55 issuers under one release_number -- use issuer_count/issuer_index to collapse rows back to order level. Ticker is NULL where the order states none (most pre-2022 rows). resumption_at is when trading MAY resume; many suspended names never quote again. The SEC's suspension output collapsed after 2021: expect only a handful of orders per year since.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing. Note the newest event may be months old: short date windows can legitimately be empty on this dataset.

ParametersJSON Schema
NameRequiredDescriptionDefault
cikNoSEC CIK number (digits only) to filter by issuer. The only survivorship-proof id for dead shells; NULL on most bulk-order rows.
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
active_onNoYYYY-MM-DD: rows whose suspension window covers this date -- 'which stocks were untradeable on day X'. Not expressible via the release-date window.
cursor_dateNoPagination: 'date' from next_cursor (send all three cursor params together).
has_resumedNotrue/false: whether the date trading could legally resume is in the past. Resumption is permission, not evidence of quoting (Rule 15c2-11).
issuer_nameNoCase-insensitive substring match on the issuer name -- the only handle on rows with no ticker.
cited_reasonNoWhy the SEC suspended trading: delinquent_filings, market_manipulation, accuracy_adequacy_of_information, or other.
single_issuerNotrue = single-issuer orders only (the modern manipulation cases); false = bulk multi-issuer orders only.
updated_sinceNoYYYY-MM-DD, on last_updated -- rows touched by the resumption sweep since this date.
release_numberNoExchange Act release number, e.g. '34-92362' (a bare '92362' is normalized). One bulk order returns one row per named issuer.
cursor_issuer_indexNoPagination: 'issuer_index' from next_cursor.
cursor_release_numberNoPagination: 'release_number' from next_cursor.

TDQS

A4.7/5.0
Behavior5/5

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

The description goes well beyond the readOnly/idempotent annotations: it discloses authentication requirements, the meaning of 403 errors, the post-2021 collapse in SEC output, that resumption is permission not evidence of quoting, that tickers are NULL in most pre-2022 rows, and that short date windows may legitimately be empty. This gives an agent accurate expectations for edge cases and failure modes.

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 dense yet every sentence adds value: scope, row semantics, bulk-order behavior, data quirks, authentication errors, and empty-result expectation. It is front-loaded with the core definition and then addresses operational caveats. No filler or redundant restatement of the tool name.

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 an 18-parameter, no-output-schema tool, the description is remarkably complete. It tells the agent what each row represents, how to interpret resumption, how to handle bulk orders, when data may be missing, how API errors map to permission problems, and how recent data may lag. The schema covers parameter formats, and the description covers real-world behavior and interpretation.

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?

Input schema coverage is 100%, so the baseline is 3. The description adds meaningful context beyond the schema: bulk orders share one release_number across many issuers, ticker NULL behavior, the normalized cited-reason taxonomy, and how issuer-level rows relate to order-level data. It still does not enumerate every parameter, but the schema already documents those thoroughly.

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 immediately identifies the resource: every SEC Section 12(k) trading suspension order from 1995 to today. It specifies the data scope, row granularity, and key fields (halts, resumption, reason taxonomy, order PDF URL), making it unmistakable what the tool retrieves. No sibling tool covers SEC suspensions, so the domain itself distinguishes it clearly.

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 gives clear context for when the tool is useful ('terminal-risk tape for dying OTC and small-cap names'), explains legitimate empty results, and tells the agent how to collapse bulk-order rows via issuer_count/issuer_index. It does not explicitly name an alternative or a when-not-to-use case, but no sibling tool competes with this dataset, so the omission is minor.

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

get_shelf_registrationsShelf Registrations (S-3/F-3)A
Read-onlyIdempotent
Inspect

Shelf registrations: every S-3/F-3 shelf registration statement, amendment and automatic (WKSI) shelf, normalized into a point-in-time capacity ledger -- the upstream signal behind every dilution screener. One row per filing: ticker, cik, company name, form, shelf_type (new|amendment|automatic), capacity_amount in USD (NULL means an indeterminate/automatic shelf -- never a guessed number), securities covered, WKSI flag, is_resale (selling-stockholder registrations), EFFECT date, days_to_effective, a 3-year expiry estimate, 424B5 takedown count, and market cap / shares outstanding at filing.

Authorization is not issuance: capacity_amount is what the shelf REGISTERS, not what was sold. Screen date_gte over recent weeks for fresh shelf capacity, filter shelf_type=new + is_resale=0 rows for primary dilution risk, or pull one ticker's history. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's date and accession_number back as cursor_date and cursor_accession to fetch the next page.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
cikNoSEC CIK number (digits only) to filter by issuer.
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
formNoExact form type: S-3, F-3, S-3/A, F-3/A, S-3ASR or F-3ASR.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
shelf_typeNoShelf category: new, amendment, or automatic (WKSI ASR shelves).
cursor_dateNoPagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker.
updated_sinceNoOnly rows whose last_updated is on/after this date (YYYY-MM-DD) -- catches EFFECT/takedown refreshes.
cursor_accessionNoAccession number from next_cursor for keyset pagination (pass with cursor_date).

TDQS

A5/5.0
Behavior5/5

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

Annotations already mark this as read-only, idempotent, and non-destructive, and the description adds substantial behavioral context: row semantics, capacity_amount NULL meaning an indeterminate shelf, the 50,000-row pagination cap with next_cursor handling, and 403 error semantics. This goes well beyond what annotations alone convey.

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?

Although long, the description is densely informative with no filler. It front-loads the core purpose and row semantics, then covers usage patterns, pagination, and error handling in a logical order. Every sentence adds operational value.

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 no output schema present, the description fully compensates by enumerating all returned fields, explaining NULL capacity semantics, describing pagination behavior, and covering authentication/error cases. An agent has enough context to call the tool correctly and interpret its response.

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

Parameters5/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful usage-level parameter semantics beyond the schema: using date_gte for recent shelf capacity, combining shelf_type=new with is_resale=0 for dilution risk, and passing next_cursor values back as cursor_date and cursor_accession. This materially helps an agent select and combine parameters correctly.

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 identifies the tool as exposing S-3/F-3 shelf registration filings normalized into a point-in-time capacity ledger, with a specific row-level schema. It distinguishes itself from downstream dilution screeners by stating it is the upstream signal, so an agent can differentiate it from sibling tools like get_dilution_filings without ambiguity.

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?

The description gives concrete usage patterns: screening date_gte for fresh shelf capacity, filtering shelf_type=new and is_resale=0 for primary dilution risk, or pulling a single ticker's history. It also explicitly warns that authorization is not issuance, preventing misuse, and provides pagination and error-handling instructions.

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

get_sp500_risk_regimeS&P 500 Risk RegimeA
Read-onlyIdempotent
Inspect

S&P 500 risk regime: a daily binary classification of whether the US equity tape is in a risk-on or risk-off state. One row per trading day: date and risk_regime label. Deliberately minimal -- it is designed to be the overlay/kill-switch input to other strategies (e.g. only run momentum or premium-selling in the favorable regime), not a dataset you mine on its own.

Query the latest date for the current regime, or a range to backtest a regime-filtered strategy.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the readOnly/openWorld/idempotent annotations, the description discloses that a Pro API key is required and interprets 403 PRO_SUBSCRIPTION_REQUIRED/DATE_RANGE_RESTRICTED errors as plan limitations rather than missing data. This materially helps the agent diagnose failures, and the 'deliberately minimal' note sets expectations about the dataset.

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?

Three compact sentences front-load the core definition and use case, then add auth/error context. No sentence is wasted, and the structural cue 'Deliberately minimal' prevents over-expectation.

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?

Despite lacking an output schema, the description states the exact output shape (one row per trading day with date and risk_regime label) and resolves the main operational ambiguity (403 meaning). Given the simple, read-only nature and fully documented parameters, nothing essential is missing.

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 already documents all six parameters with 100% coverage, so the description need not repeat them. It adds only high-level guidance that the latest date or a range can be queried, which is context but not parameter-specific semantic detail beyond the 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 defines the tool as a daily binary risk-on/risk-off classification for the S&P 500, naming the exact resource and the row-level output (date and risk_regime label). The 'overlay/kill-switch input' framing clearly distinguishes its purpose from the sibling market-data tools, so an agent can select it without ambiguity.

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?

It explicitly tells the agent when to call it: query the latest date for the current regime or a range to backtest a regime-filtered strategy. It also gives a when-not by saying it is not a dataset to mine on its own, though it does not name alternative sibling tools for exclusion.

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

get_spx_0dte_strike_bandSPX 0-DTE Strike BandA
Read-onlyIdempotent
Inspect

SPX 0-DTE strike band: for each trading day, a model-derived intraday range (lower_strike, upper_strike) that same-day S&P 500 index options are expected to stay within, plus the instrument it applies to. One row per day.

Use it to structure 0-DTE trades -- e.g. sell iron condors with short strikes at or beyond the band, or fade band breaches -- and to backtest how often the band held over a date range.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds genuinely non-obvious behavioral context: the 403 error semantics ('PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing'), which prevents an agent from misinterpreting an auth failure as a data gap. It also discloses the row structure (one row per day, band plus instrument). This is more than the annotation layer alone provides.

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?

Three compact sentences, each earning its place: the data definition, the use cases, and the error-handling caveat. The essential definition is front-loaded in the first sentence, and the operational note about API keys/403s is a valuable addition rather than filler. No redundancy with the schema or annotations.

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 correctly carries the burden of conveying return shape, and it does: lower_strike, upper_strike, the instrument, and one row per day. Combined with 100% schema parameter coverage, safety annotations, and the 403 diagnostic note, an agent has nearly everything needed to select and invoke the tool correctly. The only minor gap is that the date column is implied ('one row per day') rather than explicitly listed as part of the response.

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 all six parameters already documented in the schema (date formats, inclusive/exclusive semantics, max_rows cap). The description's mention of date-range backtesting aligns with the parameters but adds no syntax or meaning beyond what the schema provides. Per the rubric, baseline 3 is appropriate when the schema carries the documentation burden.

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 states precisely what the tool returns: 'a model-derived intraday range (lower_strike, upper_strike) that same-day S&P 500 index options are expected to stay within, plus the instrument it applies to. One row per day.' This is a specific data product with a concrete resource, scope, and row semantics that clearly distinguishes it from sibling data tools like get_iv_rank or get_momentum_index without needing to open 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 Guidelines4/5

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

The description gives clear, concrete use cases: 'structure 0-DTE trades -- e.g. sell iron condors with short strikes at or beyond the band, or fade band breaches -- and to backtest how often the band held over a date range.' This tells an agent when the tool is relevant. It does not explicitly name alternative tools or state when-not-to-use conditions, so it falls just short of a 5.

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

get_ticker_classificationSector & Industry ClassificationA
Read-onlyIdempotent
Inspect

Ticker sector/industry classification: maps every covered US ticker into Alphanume's own 11-sector / 25-industry scheme (derived from SIC codes, but normalized into groups actually useful for trading -- e.g. 'semiconductors' and 'software' are separate industries under 'technology'). One row per ticker: ticker, alphanume_sector, alphanume_industry.

Use it to group any other Alphanume dataset by sector, build sector-neutral baskets, or pull all names in one industry. Look up one ticker, or filter by sector/industry to enumerate a group. No date dimension and no tier restriction -- the mapping is current-state.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectorNoFilter to one Alphanume sector.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
industryNoFilter to one Alphanume industry.
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds valuable context beyond that: it is a current-state snapshot with no date dimension, one row per ticker, and no tier restriction. It also explains the taxonomy origin (SIC-derived but normalized for trading), which helps the agent reason about grouping semantics.

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 well-structured: a definition sentence, a sentence clarifying the taxonomy, a use-case sentence, and a constraints sentence. Everything included earns its place, and the key output shape is front-loaded rather than buried.

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?

Given the tool has no output schema, the description compensates by naming the exact output columns and row granularity. It covers filtering options, taxonomy design, use cases, and scope limitations. An agent has enough context to invoke it correctly and interpret the result.

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% and each parameter already has a clear description. The tool description adds general usage framing ('Look up one ticker, or filter by sector/industry') but does not add new semantic detail beyond the schema. Baseline 3 is appropriate because the schema carries the parameter documentation burden.

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 opens with a specific verb-resource pair: 'maps every covered US ticker into Alphanume's own 11-sector / 25-industry scheme.' It clearly distinguishes itself from the sibling event/risk tools by being a classification/universe tool, and names the output schema (ticker, sector, industry) so an agent immediately knows what it returns.

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 gives explicit use cases: group datasets by sector, build sector-neutral baskets, enumerate a group by industry. It also states scoping constraints: no date dimension, no tier restriction, current-state mapping. It does not explicitly name an alternative tool or say when not to use it, but the sibling set contains no directly comparable classification tool, so this is adequate.

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

get_vol_of_volVol-of-Vol RankingA
Read-onlyIdempotent
Inspect

Vol-of-Vol Index: answers "how unstable is this name's volatility itself?" For each US optionable equity, per trading day: the coefficient of variation of its ~30-day implied vol (iv_vov) and 20-day realized vol (hv_vov) over the trailing month (std/mean of the last 21 observations), the underlying trailing mean and std, and a daily cross-sectional ranking of the most vol-unstable names. Rows update intraday and settle after the close (is_final=1).

High vol-of-vol names are where vega risk is most treacherous (and where vol dislocations appear); low vol-of-vol names have sticky, well-behaved vol surfaces.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
max_hv_vovNoOnly rows with hv_vov <= this value.
max_iv_vovNoOnly rows with iv_vov <= this value.
min_hv_vovNoOnly rows with hv_vov >= this value (>= 0).
min_iv_vovNoOnly rows with iv_vov >= this value (>= 0).
only_finalNoIf true, return only settled end-of-day rows (is_final=1). By default the latest value is returned, which intraday may be provisional.
min_hv_vov_rankNoOnly rows whose realized vol-of-vol sits at or above this cross-sectional percentile for the day, in [0, 1].
min_iv_vov_rankNoOnly rows whose implied vol-of-vol sits at or above this cross-sectional percentile for the day, in [0, 1].

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/destructive annotations, the description discloses intraday update behavior, settlement after close via is_final=1, authentication requirements (Pro API key), and interprets 403 errors as plan limitations rather than missing data. This is exactly the kind of behavioral context that structured annotations cannot convey.

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 dense but well-structured: definition and data shape first, then interpretive guidance, then auth/error caveats. Every sentence adds value, and the most important information is front-loaded.

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 14-parameter, fully optional tool with no output schema, the description is remarkably complete. It explains the underlying computed fields, the ranking dimension, the intraday vs final distinction, and the error semantics. An agent can safely invoke and interpret this tool.

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 documents every parameter, so the baseline is 3. The description adds meaningful context by defining what iv_vov and hv_vov actually measure, tying those definitions to the filter parameters and to the cross-sectional rank fields. This helps the agent understand threshold meaning beyond the raw 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 names a precise resource (vol-of-vol for US optionable equities), defines the core metric (coefficient of variation of implied and realized vol over a trailing month), and clearly separates it from related concepts like iv_rank or iv_hv_premium. It is not tautological and gives the agent a concrete sense of the data shape and ranking.

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 provides clear analytical guidance: high vol-of-vol names indicate treacherous vega risk and potential vol dislocations, while low vol-of-vol names have sticky surfaces. It does not explicitly name alternative tools or state when NOT to use this tool, but the use case is strongly implied.

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

get_wikipedia_viewsWikipedia Page ViewsA
Read-onlyIdempotent
Inspect

Wikipedia attention tracker: daily page views of each covered company's Wikipedia article, with a 30-day rolling average and a relative 30-day z-score. Retail and media attention shows up in Wikipedia lookups before (and during) big price moves -- a z-score spike means the name is suddenly being researched far more than its own baseline. One row per ticker per day: ticker, company name, date, raw views, avg_30d, zscore_30d.

Screen zscore_30d_gte=3 over recent dates for fresh attention spikes, or pull one ticker's history to line attention up against price. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's date and ticker back as cursor_date and cursor_ticker to fetch the next page.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
cursor_dateNoPagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker.
cursor_tickerNoPagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date.
zscore_30d_eqNoExact 30-day z-score match. Cannot be combined with the z-score range parameters.
zscore_30d_gtNoOnly rows with 30-day z-score > this value.
zscore_30d_ltNoOnly rows with 30-day z-score < this value.
zscore_30d_gteNoOnly rows with 30-day z-score >= this value. zscore_30d_gte=3 finds extreme attention spikes.
zscore_30d_lteNoOnly rows with 30-day z-score <= this value.

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses pagination details (50,000-row cap, has_more, next_cursor and cursor parameters), requires an Alphanume Pro API key, and explains that 403 errors indicate plan coverage rather than missing data. It also describes the one-row-per-ticker-per-day shape since no output schema exists.

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 front-loaded with purpose and output shape, and every later section earns its place: use-case guidance, pagination mechanics, and error interpretation. Despite covering 14 parameters, it stays compact and scannable.

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 14-parameter tool with no output schema, the description plus 100% schema coverage covers output fields, date/ticker filters, pagination, auth requirements, and error semantics. Nothing essential is missing for an agent to select and invoke the tool correctly.

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 coverage is 100%, so the baseline is 3. The description adds operational meaning by framing zscore_30d_gte=3 as an attention-spike screen and by explaining how cursor_date and cursor_ticker should be passed from next_cursor, which goes beyond the schema's standalone parameter descriptions.

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 opens with a specific resource ('daily page views of each covered company's Wikipedia article') and a clear analytical output (30-day average and z-score). The phrase 'one row per ticker per day' and the listed fields make the return shape concrete, and this Wikipedia-specific tool is clearly distinguishable from all financial-data siblings.

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?

It gives explicit usage patterns: screen zscore_30d_gte=3 for fresh attention spikes or pull one ticker's history to compare with price. It doesn't name alternative tools or state when-not-to-use, but no sibling appears to compete in this domain, so the context is sufficient.

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

list_market_cap_tickersMarket Cap Coverage MapA
Read-onlyIdempotent
Inspect

Coverage map for the historical market cap dataset: every available ticker with its first available date. Use it to check whether (and since when) a name is covered before querying get_historical_market_cap, or to enumerate the full point-in-time universe. No parameters besides the row cap.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.

TDQS

A4.5/5.0
Behavior4/5

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

The annotations already establish read-only, idempotent, and non-destructive behavior. The description adds useful context beyond those annotations by revealing that the output is a coverage map with first-available dates and that the only parameter is the row cap. No contradiction with annotations is present.

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 two sentences with zero filler. The core concept is front-loaded, followed by actionable usage guidance and a brief parameter note. Every sentence earns its place.

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 simple zero-required-parameter listing tool, the description covers purpose, return content, use cases, and the single optional parameter. The explicit statement of what the tool returns compensates for the absence of an output schema, and the annotations cover safety semantics.

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 already documents max_rows thoroughly, including the default, cap semantics, and guidance to prefer filters over raising the cap, so the schema carries the parameter meaning. The description only confirms that there are no other parameters, which is helpful but does not add substantial meaning beyond the 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 defines the tool as a coverage map listing every available ticker with its first available date, which is a specific resource and deliverable. It distinguishes itself from sibling data tools by framing its role relative to get_historical_market_cap, so an agent can tell it apart 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?

It explicitly says when to use the tool: check whether a name is covered before querying get_historical_market_cap, or enumerate the full point-in-time universe. It names the alternative tool directly and provides a clear decision rule, 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 27 tool updates
    • First observedcheck_api_status
    • First observedget_advisory_committee_votes
    • First observedget_corporate_default_events
    • First observedget_crypto_enforcement
    • First observedget_cyber_incidents
    • First observedget_de_spac_events
    • First observedget_dilution_filings
    • First observedget_dividend_capture
    • First observedget_earnings_move_history
    • First observedget_fda_response_events
    • First observedget_filing_intensity
    • First observedget_historical_market_cap
    • First observedget_iv_hv_premium
    • First observedget_iv_rank
    • First observedget_momentum_index
    • First observedget_next_day_movers
    • First observedget_optionable_tickers
    • First observedget_premarket_drop_risk
    • First observedget_reverse_splits
    • First observedget_sec_trading_suspensions
    • First observedget_shelf_registrations
    • First observedget_sp500_risk_regime
    • First observedget_spx_0dte_strike_band
    • First observedget_ticker_classification
    • First observedget_vol_of_vol
    • First observedget_wikipedia_views
    • First observedlist_market_cap_tickers

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Normalizes and serves corporate events (earnings, dividends, splits, M\&A) from US, UK, Canada, and Australia via a programmatic MCP API.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Provides as-reported US equity fundamentals, live quotes, financial statements, valuation comps, and a screener from SEC filings, with per-cell filing provenance for citations.
    7
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Provides point-in-time financial data access and an honest backtesting engine via MCP, enabling users to research restated fundamentals, run backtests with deflated Sharpe metrics, and benchmark returns against published factors.
    8
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides access to a comprehensive financial intelligence platform featuring real-time market data, quantitative models, and alternative data sources. It enables users to perform advanced financial analysis including options analytics, portfolio modeling, and SEC filing research.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation4/5

Each tool maps to a distinct dataset, and the descriptions are detailed enough to resolve most ambiguity. A few adjacent pairs (S-1 dilution vs. shelf registrations, IV-HV premium vs. IV rank, FDA votes vs. FDA adverse events) share thematic surface area and could be confused by name alone.

Naming Consistency4/5

The overwhelming majority of tools follow a clean get_<noun_phrase> snake_case pattern. The two exceptions, check_api_status and list_market_cap_tickers, are semantically appropriate utility/companion tools but break the otherwise uniform verb prefix.

Tool Count3/5

At 27 tools, the surface is heavy and spans many unrelated financial domains, making selection and prompt context more expensive. Each tool does earn its place as a distinct dataset, but the server would benefit from some consolidation or a higher-level catalog tool.

Completeness4/5

As a read-only datasets API, the surface is broadly complete: status checking, pagination, and one coverage-map companion exist where needed. Minor gaps include the absence of a global dataset catalog/coverage listing and the lack of companion list tools for most other datasets.

Resources