Skip to main content
Glama

Form D Recent Raises

form_d_recent_raises
Read-onlyIdempotent

Recent SEC Form D exempt-offering notices, newest first, hydrated from official filing XML with offering amount, amount sold, investors, security types, industry, issuer and related persons. SAMPLE, NOT A CENSUS: this inspects only the newest few dozen notices counting back from until, no matter how wide a window you ask for — ask for a month and you get roughly its final day or two. total_search_matches is the SIZE OF THE WINDOW, not the number examined; scanned is the number examined and scanned_window is the date range those actually cover. To cover a period densely, step through it in short windows rather than widening since. A Form D is a self-reported offering notice—not proof that a financing round closed. Amendments are labeled and must not be double-counted.

Input Schema

NameRequiredDescriptionDefault
daysNoLook back this many days from `until` instead of supplying `since` (1-3650). An explicit `since` wins.
limitNoResults to hydrate and return (1-10, default 8).
sinceNoStart filing date YYYY-MM-DD. Default: 7 days before `until` (NOT 7 days before today — so an `until` in the past gives a sensible window instead of erroring).
untilNoEnd filing date YYYY-MM-DD. Default today.
industryNoOptional case-insensitive industry substring, e.g. "Biotechnology".
min_amountNoAlias for `minimum_sold`: minimum reported amount sold in USD.
minimum_soldNoOnly return offerings reporting at least this much sold, in USD. Also accepted as `min_amount`.
include_amendmentsNoInclude amended notices (default true).

Output Schema

NameRequiredDescriptionDefault
windowNoThe date range asked for.
scannedNoHow many notices were actually hydrated and examined.
coverageYes"complete" = every Form D in `window` was inspected. "sample" = only the newest `scanned` were and the rest of `window` was never looked at.
returnedYes
offeringsYes
coverage_noteNo
scanned_windowNoThe date range the inspected filings actually cover. Narrower than `window` whenever `coverage` is "sample".
total_search_matchesNoForm D notices filed in `window`. NOT the number examined — that is `scanned`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • changedInput schema / properties / since / description
      Previous value: -"Start filing date YYYY-MM-DD. Default 7 days ago."New value: +"Start filing date YYYY-MM-DD. Default: 7 days before `until` (NOT 7 days before today — so an `until` in the past gives a sensible window instead of erroring)."
    • addedOutput schema / properties / coverage
      Added value: +{
      +  "description": "\"complete\" = every Form D in `window` was inspected. \"sample\" = only the newest `scanned` were and the rest of `window` was never looked at.",
      +  "enum": [
      +    "complete",
      +    "sample"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / coverage_note
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / scanned
      Added value: +{
      +  "description": "How many notices were actually hydrated and examined.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / scanned_window
      Added value: +{
      +  "description": "The date range the inspected filings actually cover. Narrower than `window` whenever `coverage` is \"sample\".",
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / total_search_matches
      Added value: +{
      +  "description": "Form D notices filed in `window`. NOT the number examined — that is `scanned`.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / window
      Added value: +{
      +  "description": "The date range asked for.",
      +  "type": "object"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "returned",
      -  "offerings"
      -]New value: +[
      +  "returned",
      +  "offerings",
      +  "coverage"
      +]
  2. Changed4 schema fields changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "limit": 8,
      -    "minimum_sold": 1000000,
      -    "since": "2026-07-01"
      -  }
      -]New value: +[
      +  {
      +    "limit": 8,
      +    "minimum_sold": 1000000,
      +    "since": "2026-07-01"
      +  },
      +  {
      +    "days": 30,
      +    "limit": 10,
      +    "min_amount": 10000000
      +  }
      +]
    • addedInput schema / properties / days
      Added value: +{
      +  "description": "Look back this many days from `until` instead of supplying `since` (1-3650). An explicit `since` wins.",
      +  "type": "number"
      +}
    • addedInput schema / properties / min_amount
      Added value: +{
      +  "description": "Alias for `minimum_sold`: minimum reported amount sold in USD.",
      +  "type": "number"
      +}
    • changedInput schema / properties / minimum_sold / description
      Previous value: -"Optional minimum reported amount sold in USD."New value: +"Only return offerings reporting at least this much sold, in USD. Also accepted as `min_amount`."
  3. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already indicate a safe read-only, idempotent operation. The description goes far beyond that by disclosing the sampling behavior, the precise meaning of `total_search_matches` vs `scanned` vs `scanned_window`, the self-reported nature of Form D, and the amendment double-counting pitfall. This is rich, non-obvious behavioral context with no contradiction.

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 core purpose and then delivers high-value caveats in a logical order. It is somewhat long, and the 'SAMPLE, NOT A CENSUS' idea is restated in a couple of ways, but every sentence carries important operational or data-integrity information, so near the top of the scale.

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 output schema exists and annotations cover the safety profile, the description covers all critical operational caveats: sampling limitations, output field semantics, amendment handling, and self-reporting reliability. An agent has enough information to invoke this tool correctly and interpret results appropriately without hidden surprises.

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 meaningful parameter semantics beyond the schema by explaining that the window is sampled counting back from `until`, that widening `since` does not increase coverage, and that short windows are the way to get dense coverage. This helps an agent choose `since`/`days`/`until` more intelligently.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

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

States a specific verb and resource: returns recent SEC Form D exempt-offering notices, newest first, with a clear list of included fields (offering amount, amount sold, investors, etc.). It is unmistakably about recent Form D raises, but it does not explicitly contrast itself with sibling tools like form_d_latest_offering_states or form_d_offering_detail, so it falls short of a 5.

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?

Provides explicit usage context: it is a sample, not a census, and instructs the agent to step through short windows to cover a period densely. This is clear practical guidance, but it never mentions when to prefer this tool over sibling Form D tools or when not to use it, so exclusions/alternatives are missing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.