Skip to main content
Glama

get_disclosure_history

Read-onlyIdempotent

Every observed version of one disclosure, oldest first. The change stream is append-only, so an amendment supersedes rather than overwrites -- the before and after of a restated filing are both here, each with its own change block and receipt.url. restated=true means content changed after first publication; each version records what changed and when.

Input Schema

NameRequiredDescriptionDefault
disclosure_idYesPermanent disclosure_id from search_disclosures. Identifiers survive restatement and are never reused.

Output Schema

NameRequiredDescriptionDefault
dataYesEvery observed version of this disclosure_id, oldest first. Each entry carries its own change block (upsert or supersede, active or withdrawn) and version_id. The last entry is the current state.
cacheYes
accessYes
noticeYes
historyYes
versionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / data / items / properties / instrument / properties / kind / description
      Previous value: -"Instrument category supported by the printed code or text. Explicit option transactions include exercised options even where the original source code is ST. Other means unclassified, not a guessed equity."New value: +"Instrument category supported by the printed code or text. Option mentions include exercised options even where the original source code is ST. Other means unclassified, not a guessed equity."
  2. Changed1 schema field changed
    • changedOutput schema / properties / data / items / properties / instrument / properties / kind / description
      Previous value: -"Instrument category supported by the printed code or text. Option mentions include exercised options even where the original source code is ST. Other means unclassified, not a guessed equity."New value: +"Instrument category supported by the printed code or text. Explicit option transactions include exercised options even where the original source code is ST. Other means unclassified, not a guessed equity."
  3. Changed1 schema field changed
    • changedOutput schema / properties / version / const
      Previous value: -"1.19.2"New value: +"1.20.0"
  4. Changed11 schema fields changed
    • changedOutput schema / properties / data / items / properties / amount / description
      Previous value: -"The bounded range exactly as disclosed. A missing amount is never estimated."New value: +"The disclosed band. Only two enumerated House PTR labels have an open upper bound; a missing amount is never estimated."
    • removedOutput schema / properties / data / items / properties / amount / properties / basis / const
      Removed value: -"bounded_range_as_disclosed"
    • changedOutput schema / properties / data / items / properties / amount / properties / basis / description
      Previous value: -"States what the amount fields are: the bounded range as the filing disclosed it. The only basis served today; a future exact-amount source would carry its own."New value: +"Names whether the filing disclosed a bounded or one of the two enumerated House PTR open-ended brackets. Neither basis represents an exact amount."
    • addedOutput schema / properties / data / items / properties / amount / properties / basis / enum
      Added value: +[
      +  "bounded_range_as_disclosed",
      +  "open_ended_as_disclosed"
      +]
    • addedOutput schema / properties / data / items / properties / amount / properties / range_high / anyOf
      Added value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": 0,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / data / items / properties / amount / properties / range_high / description
      Previous value: -"Upper bound of the disclosed band, in whole USD. For an open-ended band such as \"over $50,000,000\" this is the stated threshold, and midpoint is absent."New value: +"Upper bound of the disclosed band, in whole USD. Null only for the two enumerated House PTR open-ended brackets; never a fabricated ceiling."
    • removedOutput schema / properties / data / items / properties / amount / properties / range_high / maximum
      Removed value: -9007199254740991
    • removedOutput schema / properties / data / items / properties / amount / properties / range_high / minimum
      Removed value: -0
    • removedOutput schema / properties / data / items / properties / amount / properties / range_high / type
      Removed value: -"integer"
    • changedOutput schema / properties / data / items / properties / amount / properties / verbatim_text / description
      Previous value: -"The amount text exactly as it appears on the filing, before any parsing. When range_low and range_high disagree with this text, this text is the filing."New value: +"The filed amount label; casing is canonicalized for the two enumerated House PTR open-ended brackets. Other text retains the parsed filing's spelling. The source line and receipt remain the source of truth."
    • changedOutput schema / properties / version / const
      Previous value: -"1.18.1"New value: +"1.19.2"
  5. Changed1 schema field changed
    • changedOutput schema / properties / version / const
      Previous value: -"1.18.0"New value: +"1.18.1"
  6. Changed1 schema field changed
    • changedOutput schema / properties / version / const
      Previous value: -"1.17.0"New value: +"1.18.0"
  7. Changed3 schema fields changed
    • addedOutput schema / properties / data / items / properties / instrument
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Additive projection from the filing's printed asset and description. Every absent or conflicting ticker or option term has a named reason. It is not an order instruction or a securities-master lookup; the original asset fields remain unchanged.",
      +  "properties": {
      +    "contracts": {
      +      "anyOf": [
      +        {
      +          "maximum": 9007199254740991,
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Explicit count of options or contracts. Shares and units are never converted, nor is a partial-sale count calculated from holdings."
      +    },
      +    "expiration": {
      +      "anyOf": [
      +        {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Date as printed, not necessarily ISO. Two-digit years retain two digits; no century or missing day is inferred. See field_evidence.expiration.reason."
      +    },
      +    "field_evidence": {
      +      "additionalProperties": false,
      +      "description": "Required per-field evidence for every option field, including missing fields and non-option rows.",
      +      "properties": {
      +        "contracts": {
      +          "additionalProperties": false,
      +          "description": "Explicit option/contract-count spans plus any share/unit spans. Describes quantity ambiguity without conversions or arithmetic.",
      +          "properties": {
      +            "raw": {
      +              "description": "Matched filing-text spans, retaining competing values and printed share/unit counts. Empty when no applicable evidence was found.",
      +              "items": {
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "reason": {
      +              "description": "Named extraction rule or refusal reason; always present, including when the value is null.",
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "status": {
      +              "description": "Whether this value is explicitly printed, absent, ambiguous, invalid or inapplicable to a non-option line.",
      +              "enum": [
      +                "printed",
      +                "missing",
      +                "ambiguous",
      +                "invalid",
      +                "not_applicable"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "status",
      +            "reason",
      +            "raw"
      +          ],
      +          "type": "object"
      +        },
      +        "expiration": {
      +          "additionalProperties": false,
      +          "description": "Printed expiration span and date-format/refusal rule. A two-digit year is identified explicitly and not expanded.",
      +          "properties": {
      +            "raw": {
      +              "description": "Matched filing-text spans, retaining competing values and printed share/unit counts. Empty when no applicable evidence was found.",
      +              "items": {
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "reason": {
      +              "description": "Named extraction rule or refusal reason; always present, including when the value is null.",
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "status": {
      +              "description": "Whether this value is explicitly printed, absent, ambiguous, invalid or inapplicable to a non-option line.",
      +              "enum": [
      +                "printed",
      +                "missing",
      +                "ambiguous",
      +                "invalid",
      +                "not_applicable"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "status",
      +            "reason",
      +            "raw"
      +          ],
      +          "type": "object"
      +        },
      +        "option_type": {
      +          "additionalProperties": false,
      +          "description": "Printed call/put evidence, conflict or absence.",
      +          "properties": {
      +            "raw": {
      +              "description": "Matched filing-text spans, retaining competing values and printed share/unit counts. Empty when no applicable evidence was found.",
      +              "items": {
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "reason": {
      +              "description": "Named extraction rule or refusal reason; always present, including when the value is null.",
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "status": {
      +              "description": "Whether this value is explicitly printed, absent, ambiguous, invalid or inapplicable to a non-option line.",
      +              "enum": [
      +                "printed",
      +                "missing",
      +                "ambiguous",
      +                "invalid",
      +                "not_applicable"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "status",
      +            "reason",
      +            "raw"
      +          ],
      +          "type": "object"
      +        },
      +        "strike": {
      +          "additionalProperties": false,
      +          "description": "Exact printed strike span, or the missing, malformed or conflicting-price reason.",
      +          "properties": {
      +            "raw": {
      +              "description": "Matched filing-text spans, retaining competing values and printed share/unit counts. Empty when no applicable evidence was found.",
      +              "items": {
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "reason": {
      +              "description": "Named extraction rule or refusal reason; always present, including when the value is null.",
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "status": {
      +              "description": "Whether this value is explicitly printed, absent, ambiguous, invalid or inapplicable to a non-option line.",
      +              "enum": [
      +                "printed",
      +                "missing",
      +                "ambiguous",
      +                "invalid",
      +                "not_applicable"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "status",
      +            "reason",
      +            "raw"
      +          ],
      +          "type": "object"
      +        },
      +        "underlying": {
      +          "additionalProperties": false,
      +          "description": "Printed underlying name/label evidence or why an underlying was withheld.",
      +          "properties": {
      +            "raw": {
      +              "description": "Matched filing-text spans, retaining competing values and printed share/unit counts. Empty when no applicable evidence was found.",
      +              "items": {
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "reason": {
      +              "description": "Named extraction rule or refusal reason; always present, including when the value is null.",
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "status": {
      +              "description": "Whether this value is explicitly printed, absent, ambiguous, invalid or inapplicable to a non-option line.",
      +              "enum": [
      +                "printed",
      +                "missing",
      +                "ambiguous",
      +                "invalid",
      +                "not_applicable"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "status",
      +            "reason",
      +            "raw"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "underlying",
      +        "option_type",
      +        "strike",
      +        "expiration",
      +        "contracts"
      +      ],
      +      "type": "object"
      +    },
      +    "kind": {
      +      "description": "Instrument category supported by the printed code or text. Option mentions include exercised options even where the original source code is ST. Other means unclassified, not a guessed equity.",
      +      "enum": [
      +        "equity",
      +        "option",
      +        "etf",
      +        "bond",
      +        "fund",
      +        "crypto",
      +        "other"
      +      ],
      +      "type": "string"
      +    },
      +    "kind_reason": {
      +      "description": "Named source-code or printed-text rule used to classify this line.",
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "option_type": {
      +      "anyOf": [
      +        {
      +          "enum": [
      +            "call",
      +            "put"
      +          ],
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Call or put only when printed as the option type. Conflicting types and unlabelled verbs produce null."
      +    },
      +    "strike": {
      +      "anyOf": [
      +        {
      +          "pattern": "^\\d+(?:\\.\\d+)?$",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Exact printed decimal strike, with grouping separators and dollar sign removed. String avoids binary floating-point rounding. Currency is not inferred."
      +    },
      +    "ticker": {
      +      "anyOf": [
      +        {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Single printed symbol, uppercased without joining tokens. An explicit ticker label or security-named parenthetical may resolve a blank ticker field; issuer names alone never do. Not a guarantee of an executable option-series identifier."
      +    },
      +    "ticker_reason": {
      +      "description": "Exact ticker-resolution rule or named missing/ambiguous reason. Never empty, including for untickered assets.",
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "ticker_status": {
      +      "description": "Distinguishes the original printed ticker field, a symbol resolved from explicit asset text, and missing, conflicting or malformed evidence.",
      +      "enum": [
      +        "printed",
      +        "resolved_from_printed_text",
      +        "missing",
      +        "ambiguous",
      +        "invalid"
      +      ],
      +      "type": "string"
      +    },
      +    "underlying": {
      +      "anyOf": [
      +        {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Explicitly labelled underlying or the printed stock name on an option-related line. Never decoded from the ticker or resolved from an issuer lookup."
      +    }
      +  },
      +  "required": [
      +    "kind",
      +    "kind_reason",
      +    "ticker",
      +    "ticker_status",
      +    "ticker_reason",
      +    "underlying",
      +    "option_type",
      +    "strike",
      +    "expiration",
      +    "contracts",
      +    "field_evidence"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / properties / data / items / required
      Previous value: -[
      -  "disclosure_id",
      -  "version_id",
      -  "content_hash",
      -  "identity_basis",
      -  "change",
      -  "member",
      -  "asset",
      -  "transaction",
      -  "filing",
      -  "amount",
      -  "owner",
      -  "receipt",
      -  "provenance"
      -]New value: +[
      +  "disclosure_id",
      +  "version_id",
      +  "content_hash",
      +  "identity_basis",
      +  "change",
      +  "member",
      +  "asset",
      +  "instrument",
      +  "transaction",
      +  "filing",
      +  "amount",
      +  "owner",
      +  "receipt",
      +  "provenance"
      +]
    • changedOutput schema / properties / version / const
      Previous value: -"1.16.0"New value: +"1.17.0"
  8. Changed1 schema field changed
    • changedOutput schema / properties / version / const
      Previous value: -"1.15.0"New value: +"1.16.0"
  9. Changed1 schema field changed
    • changedOutput schema / properties / version / const
      Previous value: -"1.14.0"New value: +"1.15.0"
  10. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Adds substantial context beyond annotations: the change stream is append-only, amendments supersede rather than overwrite, before/after versions are both preserved with change blocks and receipt.url, and restated=true semantics are explained. This is exactly the kind of behavioral detail the description should carry.

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?

Well-structured and front-loaded: the first sentence states the core action, and subsequent sentences clarify the append-only model and restatement semantics. Slightly dense but every sentence adds 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?

An output schema exists, so return-value details are not needed. The description covers the key behavioral aspects—append-only history, supersession, restatement flags—completely enough for an agent to call and interpret 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 coverage is 100% and the parameter description already explains that disclosure_id is permanent and survives restatement. The description adds no additional parameter-level detail beyond what the schema provides, so the baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb and resource: retrieves every observed version of one disclosure, with ordering (oldest first). The scope is narrow and unmistakable, and differs from search_disclosures, which is referenced in 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?

Usage is implied by the disclosure_id parameter and the sibling reference in the schema. It does not explicitly state when not to use this tool versus alternatives, but the version-history purpose is clear from context.

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.

Resources