Skip to main content
Glama

Valuein — SEC EDGAR Fundamentals & Smart-Money Data

Check Report Figures Are Current

check_report_figures_current
Read-onlyIdempotent

Which figures a report cites were REVISED by a later filing? Resolves the report's cited facts to their filing, then matches each against the Restatement Radar feed (same raw XBRL tag, same reporting window, a different restating filing filed after the report was signed; an unsigned report is compared from the time it was last saved). Returns only the revised figures: fact_id, cited_value (as the report's filing states it), current_value (the latest filed number), current_accession (the filing that carries it), revised_at (when that filing was filed), plus checked (cited facts that could be judged) and degraded. READ degraded: true means the check could not be completed (a fact or company could not be read, or the report cites more than 3 companies), and an empty revised list then means NOTHING. Only degraded: false with an empty list means no cited figure was revised. WORDING: say 'revised', never 'restated'; this check cannot know why a number changed. include_cause: true adds cause (error | merger | reclass | none) and cause_quote read from the restating filing, with cause_state. Nothing is stored. Visibility is the same as get_report (your own reports, or published reports at their required tier).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "report_id": "<report_id>"
    },
    "name": "check_report_figures_current"
  }
}

Input Schema

NameRequiredDescriptionDefault
report_idYesId from `create_report` or `list_my_reports`.
include_causeNoAlso read WHY each figure was revised from the restating filing (adds one filing read per revised figure). Default false.

Output Schema

NameRequiredDescriptionDefault
_metaYesProvenance envelope — data lineage for every MCP response
basisYesWhat 'later' is measured from: the sign-off time, or the report's last save when it was never signed.
checkedYesCited facts that were resolved and judged.
revisedYes
degradedYesTrue = could not tell. An empty `revised` list is meaningful ONLY when this is false.
report_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed26 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / properties / _meta / properties / cost_usd / description
      Previous value: -"Per-call cost transparency. Omitted for subscription-only tools that have no PAYG-equivalent price."New value: +"Per-call cost transparency. Omitted for subscription-only and free tools, which have no MPP price."
    • changedOutput schema / properties / _meta / properties / cost_usd / properties / basis / description
      Previous value: -"payg_charge = real pay-per-call charge (a card or MPP payment through agent-pay). payg_rate_card = indicative price, not billed."New value: +"mpp_charge = real pay-per-call charge (a card or MPP payment through agent-pay). mpp_rate_card = indicative price, not billed."
    • changedOutput schema / properties / _meta / properties / cost_usd / properties / basis / enum
      Previous value: -[
      -  "payg_charge",
      -  "payg_rate_card"
      -]New value: +[
      +  "mpp_charge",
      +  "mpp_rate_card"
      +]
    • changedOutput schema / properties / _meta / properties / cost_usd / properties / billed / description
      Previous value: -"true = this amount was actually charged via PAYG for this call. false = indicative PAYG-equivalent value only: no charge was made for this call (it was within your plan)."New value: +"true = this amount was actually charged via MPP for this call. false = indicative MPP-equivalent value only: no charge was made for this call (it was within your plan)."
    • addedOutput schema / properties / _meta / properties / latency_ms / maximum
      Added value: +9007199254740991
    • changedOutput schema / properties / _meta / properties / limit_warnings / items / additionalProperties
      Previous value: -trueNew value: +{}
    • addedOutput schema / properties / _meta / properties / limit_warnings / items / properties / extensions / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / properties / _meta / properties / limit_warnings / items / properties / remediation / additionalProperties
      Previous value: -trueNew value: +{}
    • addedOutput schema / properties / _meta / properties / limit_warnings / items / properties / remediation / properties / options / items / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / _meta / properties / mpp_offer
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Present when figures still need payment: the MPP option (price, resource_url, request body) for the full run.",
      +  "propertyNames": {
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / _meta / properties / mpp_override
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Set when this single response was paid for over MPP (card, agent-pay): the payment's order was honoured for this call only. agent-pay captures the payment only when this is present.",
      +  "properties": {
      +    "amount_cents": {
      +      "type": "number"
      +    },
      +    "category": {
      +      "type": "string"
      +    },
      +    "companies": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "company_count": {
      +      "type": "number"
      +    },
      +    "order_id": {
      +      "type": "string"
      +    },
      +    "run": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "run_token_hash": {
      +      "type": "string"
      +    },
      +    "scope_hash": {
      +      "type": "string"
      +    },
      +    "tool": {
      +      "type": "string"
      +    },
      +    "unlock_level": {
      +      "enum": [
      +        "pro",
      +        "full"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "order_id",
      +    "tool",
      +    "category",
      +    "amount_cents",
      +    "company_count",
      +    "scope_hash",
      +    "run_token_hash",
      +    "unlock_level",
      +    "companies",
      +    "run"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / _meta / properties / mpp_verification
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Verification tools only, when some figures are outside the caller's plan. Figures the plan covers are always verified free; a Valuein account also verifies its first figures free, once, figures outside its plan included (the verification trial, size in pricing://current). served_free = own-plan figures plus trial figures; trial_used / trial_remaining = this run's draw and what the account has left; needs_payment = figures still to pay for (the paid verification run). A guest has no trial: note says how to get it.",
      +  "properties": {
      +    "figures": {
      +      "type": "number"
      +    },
      +    "needs_payment": {
      +      "type": "number"
      +    },
      +    "note": {
      +      "type": "string"
      +    },
      +    "served_free": {
      +      "type": "number"
      +    },
      +    "trial_remaining": {
      +      "type": "number"
      +    },
      +    "trial_used": {
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "figures",
      +    "served_free",
      +    "trial_used",
      +    "needs_payment"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / properties / _meta / properties / payg_override
      Removed value: -{
      -  "additionalProperties": false,
      -  "description": "Set when this single response was paid for via the agent-pay PAYG flow — the rate-limit / depth-limit checks were bypassed for this call only.",
      -  "properties": {
      -    "amount_cents": {
      -      "type": "number"
      -    },
      -    "entity_scope_hash": {
      -      "type": "string"
      -    },
      -    "meter": {
      -      "type": "string"
      -    },
      -    "quote_id": {
      -      "type": "string"
      -    },
      -    "retry_token_hash": {
      -      "type": "string"
      -    },
      -    "ticker_count": {
      -      "type": "number"
      -    },
      -    "tool": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "quote_id",
      -    "tool",
      -    "meter",
      -    "amount_cents",
      -    "ticker_count",
      -    "entity_scope_hash",
      -    "retry_token_hash"
      -  ],
      -  "type": "object"
      -}
    • addedOutput schema / properties / _meta / properties / rate_limit / properties / limit / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / _meta / properties / rate_limit / properties / limit / minimum
      Added value: +-9007199254740991
    • addedOutput schema / properties / _meta / properties / rate_limit / properties / remaining / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / _meta / properties / rate_limit / properties / remaining / minimum
      Added value: +-9007199254740991
    • addedOutput schema / properties / _meta / properties / result_count / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / _meta / properties / result_count / minimum
      Added value: +-9007199254740991
    • addedOutput schema / properties / _meta / properties / truncation / properties / plan_limit / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / _meta / properties / truncation / properties / requested / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / _meta / properties / truncation / properties / returned / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / checked / maximum
      Added value: +9007199254740991
  2. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare the read-only/idempotent/non-destructive profile; the description adds substantive behavior: nothing is stored, the cost model for include_cause (one filing read per revised figure), and crucially the degraded-flag contract where an empty list means nothing unless degraded is false. It also discloses the tool's epistemic limit ('cannot know why a number changed') and the visibility tier rule.

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 key scoping question is front-loaded and the degraded-flag warning is prominent and correctly emphasized. It is dense but mostly earns its length; the enumeration of return fields (fact_id, cited_value, current_value, current_accession, revised_at, checked, degraded) duplicates the output schema and is the one clearly removable stretch.

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 read-only cross-referencing check with an output schema, the description covers everything an agent needs: inputs, what is returned, the degraded failure mode, permission/visibility scope, side-effect status, and even preferred wording. No operational gap is left for the caller to guess.

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 goes slightly beyond by spelling out what include_cause produces (cause with error|merger|reclass|none, cause_quote, cause_state) and by framing report_id's provenance in practice terms, though much of that overlaps the schema and output 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?

Opens with a specific verb+resource question — which cited figures a report cites 'were REVISED by a later filing' — and then states the mechanism (resolve cited facts to their filing, match against the Restatement Radar feed with same raw XBRL tag and a later restating filing). That is far more specific than a name restatement; it distinguishes this from generic fact verification by requiring a later-filed restatement.

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 use case is unambiguous (ask whether a report's cited numbers are still current) and the description supplies preconditions such as visibility matching get_report and the unsigned-report comparison rule. It does not explicitly compare itself to nearby siblings like verify_report_figures or verify_facts, so an agent must infer which check applies.

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.