Skip to main content
Glama

Company financial statements (premium)

get_company_financials
Read-only

Retrieve full SEC iXBRL financial statements for a company we cover, pre- and post-IPO, with derived margins, growth, leverage and return ratios per period. Interim periods carry annualized figures alongside the reported ones. Provide a symbol. PREMIUM: paid per call over x402 (USDC on Base); an unpaid call returns the payment terms, and a not-found is never charged. Same data and price as the HTTP endpoint /api/agent/financials/by-symbol/{symbol}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolYesUS ticker symbol, e.g. CRCL. Case-insensitive. Tickers get reassigned, so a response may carry a symbolNote.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cikNoSEC Central Index Key.
symbolNoTicker.
companyNoRegistrant name.
fetchedAtNoWhen the statements were last extracted from SEC.
symbolNoteNoPresent only when the requested ticker is contested: which registrant it belongs to now vs. the record served.
preIpoPeriodsNoPeriods reported in the registration statement, before listing.
postIpoPeriodsNoPeriods from 10-K/10-Q/20-F filings after listing.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "cik": {
      +      "description": "SEC Central Index Key.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "company": {
      +      "description": "Registrant name.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "fetchedAt": {
      +      "description": "When the statements were last extracted from SEC.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "postIpoPeriods": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "$ref": "#/properties/preIpoPeriods/anyOf/0/items"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Periods from 10-K/10-Q/20-F filings after listing."
      +    },
      +    "preIpoPeriods": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "additionalProperties": true,
      +            "properties": {
      +              "annualizedMetrics": {
      +                "anyOf": [
      +                  {
      +                    "additionalProperties": {
      +                      "type": [
      +                        "number",
      +                        "null"
      +                      ]
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "description": "Interim periods only: flow items annualized to 12 months."
      +              },
      +              "currency": {
      +                "description": "Reporting currency.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "derived": {
      +                "anyOf": [
      +                  {
      +                    "additionalProperties": {
      +                      "type": [
      +                        "number",
      +                        "null"
      +                      ]
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "description": "Computed ratios: margins, growth, leverage, returns."
      +              },
      +              "durationMonths": {
      +                "description": "Length of the period in months.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "fxToUsd": {
      +                "description": "Multiply by this to convert to USD.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "metrics": {
      +                "anyOf": [
      +                  {
      +                    "additionalProperties": {
      +                      "type": [
      +                        "number",
      +                        "null"
      +                      ]
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "description": "Tagged line items as reported (revenue, net income, cash, debt, ...)."
      +              },
      +              "periodEndDate": {
      +                "description": "YYYY-MM-DD.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "periodStartDate": {
      +                "description": "YYYY-MM-DD.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "periodType": {
      +                "description": "Annual or interim, as filed.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Periods reported in the registration statement, before listing."
      +    },
      +    "symbol": {
      +      "description": "Ticker.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "symbolNote": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": true,
      +          "properties": {},
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Present only when the requested ticker is contested: which registrant it belongs to now vs. the record served."
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / symbol / description
      Added value: +"US ticker symbol, e.g. CRCL. Case-insensitive. Tickers get reassigned, so a response may carry a symbolNote."
  3. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds valuable behavioral context: premium payment per call, unpaid calls return payment terms, not-found is never charged, and interim periods carry annualized figures. It also mentions the symbolNote from the schema. It does not contradict annotations and adds useful details beyond them.

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?

Two sentences, front-loaded with the core action, then details and payment. The structure is clear, but the mention of the HTTP endpoint adds a bit of extra info that could be considered non-essential, though it's relevant for parity. Overall efficient.

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?

Given that an output schema exists, the description doesn't need to explain return values. It covers the data scope, payment behavior, and symbol handling. It also notes the company coverage limitation. It could mention authentication requirements beyond payment, but payment is covered. It is fairly complete.

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 provides a thorough description of the symbol parameter, including case-insensitivity and the potential symbolNote. The description only repeats 'Provide a symbol,' adding no new meaning. With 100% schema coverage, a 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 clearly states a specific verb (Retrieve), a resource (full SEC iXBRL financial statements), and gives scope details (pre- and post-IPO, derived margins, growth, leverage, return ratios). This distinguishes it from sibling tools like get_company_metrics (likely metrics-focused) and lookup_companies_with_financials (likely discovery-focused).

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 clear context: use this to retrieve financial statements for a given symbol. It also mentions the premium payment model, which is a key usage constraint. However, it does not explicitly compare to alternatives or state when not to use it, so it falls 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.