Skip to main content
Glama

Financial Statements

GetFinancialStatement
Read-only

Get a company's income statement, balance sheet, or cash-flow statement for a given fiscal year and period, sourced from SEC Company Facts (structured XBRL). Returns the standard line items (e.g. revenue, net income, total assets, operating cash flow) with the latest-restated value for one exact statement period end. Quarterly flow rows are always discrete quarters: when the filer reports only cumulative year-to-date USD values, the quarter is derived by exact subtraction from the preceding cumulative period and marked Derived. Company-specific dimensional facts (e.g. product-segment revenue) are not included — use GetRevenueBreakdown for segment/geographic revenue, and GetFinancialFact or CompareFinancialFact for one line item across periods or across companies.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearNoFiscal year, e.g. 2023. Defaults to the latest reported year.
periodNoFiscal period: 'FY' (annual) or 'Q1'..'Q4'. Defaults to the latest reported period. Most filers report no discrete Q4 income/cash-flow facts in XBRL (the fourth quarter is embedded in the full-year figure) — use 'FY' for annual figures.
tickerYesStock ticker symbol (e.g., AAPL, MSFT, GME)
statementNoStatement: 'income' (income statement), 'balance' (balance sheet), or 'cashflow' (cash-flow statement); the aliases 'is'/'p&l', 'bs' and 'cf' also work. Defaults to income.income

TDQS

A4.7/5.0
Behavior5/5

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

The annotations already mark the tool as read-only and non-destructive, and the description adds meaningful behavioral detail beyond that: it returns latest-restated values, targets one exact period end, derives discrete quarterly flow rows from cumulative YTD values when necessary, and marks those rows as Derived. This gives the agent a clear picture of what the tool actually does at runtime.

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 longer than average but every sentence earns its place: scope, output behavior, derived-quarter caveat, and sibling routing are all covered without redundancy. It is front-loaded with the core purpose and then layers in necessary constraint 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?

With no output schema, the description carries the responsibility for explaining return semantics, and it does so: standard line items, latest-restated value, one exact period end, discrete quarterly rows, and the Derived flag are all disclosed. It also covers source provenance, exclusions, and alternatives, making it complete for an agent 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.

Parameters3/5

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

Schema description coverage is 100%, so the description is not burdened with compensating for undocumented parameters. It restates the statement types and period concept already covered by the schema, and the Q4 caveat is already present in the period parameter description. It adds little parameter-level meaning beyond the structured 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 specific action and resource: get a company's income statement, balance sheet, or cash-flow statement for a fiscal year and period. It also differentiates itself from siblings by explicitly excluding dimensional facts and naming GetRevenueBreakdown, GetFinancialFact, and CompareFinancialFact as the alternatives for those cases.

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 explicit when-to-use guidance, including the note that most filers do not report discrete Q4 income/cash-flow facts and that 'FY' should be used for annual figures. It also tells the agent exactly when to prefer sibling tools such as GetRevenueBreakdown and GetFinancialFact.

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.

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, with detailed descriptions that cross-reference related alternatives. A few near-duplicate names could cause misselection, notably SearchDocument versus SearchDocuments and GetCftcPositioning versus GetLatestCftcPositioning.

Naming Consistency5/5

Tool names consistently follow a VerbNoun camelCase pattern: Get for retrievals, Search for discovery, List/Read for document access, and Add/Close/Remove/Update/Watch/Create/Delete for portfolio mutations. Despite the large count, there is no mixing of naming conventions or unpredictable verb styles.

Tool Count1/5

108 tools is an extreme surface area, far beyond the 3-15 well-scoped range and well past the 25+ threshold. Even for a broad financial data platform, this creates a heavy selection burden and substantial context overhead for agents.

Completeness4/5

The server covers an unusually wide domain: prices, fundamentals, SEC filings, options, insider activity, 13F holdings, short interest, macro data, funds, IPOs, and full portfolio lifecycle management. Notable gaps remain, such as a basic company profile/ticker-resolution tool, dividend history, and analyst estimates, so it is not a perfect 5.