Skip to main content
Glama

Stocklake — AI Stock Intelligence

Get Stock Financials

get_stock_financials
Read-onlyIdempotent

Full raw financial statements — balance sheet, income statement, and cash flow line items over multiple periods. This is the underlying statement data itself, not a derived summary — for the forensic-accounting scores computed FROM these statements (Altman Z / Piotroski F / Beneish M), see get_stock()'s forensic_scores block instead.

Each returned statement is shaped {line_item_name: {period_end_iso: value}} — e.g. balance_sheet["Total Revenue"]["2025-12-31"] — so a caller gets every available period per line item and can compute its own trends/ deltas/CAGRs, not just read the latest value.

period="annual" (default) returns up to 5 fiscal years — Yahoo's own real ceiling, some symbols return fewer. period="quarterly" returns up to roughly 7-8 of the most recent quarters. period="both" returns both blocks in one call.

~50-60 curated line items per statement (not a raw dump of every row Yahoo reports): balance sheet structure (assets/liabilities/equity/debt/ working capital), income statement (revenue through EPS), and cash flow (operating/investing/financing, free cash flow, buybacks, stock-based comp). Coverage genuinely varies by symbol and sector — a bank has no "Inventory" line, a company with no buyback program has no "Repurchase Of Capital Stock" entry. A missing line item means Yahoo doesn't report it for this company, not a fetch error.

quarterly can come back null (with a quarterly_note) for a symbol whose real quarterly data isn't available — rare in practice; live coverage testing found real quarterly statements even for semi-annual-reporting Hong Kong names. annual/quarterly can both be entirely absent if this symbol hasn't yet been through the financials sync, or if it's not an equity (this tool has no data for ETFs/crypto/forex/indices).

Pro tier only. For informational purposes only. Not financial advice.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
periodNo'annual' (up to 5 fiscal years, default), 'quarterly' (up to ~7-8 most recent quarters), or 'both'.annual
symbolYesStock ticker symbol. Also accepts a company name as a fallback when it uniquely resolves to one symbol.
statementNo'all' (default), 'balance_sheet', 'income_stmt', or 'cash_flow' — restricts which statement(s) are returned.all

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already mark the tool as read-only and idempotent, and the description adds substantial behavioral context: the exact output shape, Yahoo's real period ceilings, missing-line-item semantics (absence means not reported, not an error), and the possibility of quarterly returning null or the entire financials block being absent. This goes well beyond what annotations convey.

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 front-loaded with the core purpose and differentiator, then uses compact paragraphs for shape, period behavior, and caveats. Despite its length, nearly every sentence carries essential operational information, and the structure is easy to scan.

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?

The tool is complex, but the description covers output shape, period limits, per-line-item organization, data-availability caveats, non-equity symbols, and Pro-tier restriction. An agent has all the context needed to decide whether and how to call this tool correctly.

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 further enriches parameter meaning by explaining what 'annual' and 'quarterly' actually return, including real-world ceiling caveats and the behavior of missing periods, which the schema alone does not state.

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 opens with a specific verb and resource: 'Full raw financial statements — balance sheet, income statement, and cash flow line items over multiple periods.' It further differentiates itself from get_stock()'s forensic_scores block, making the tool's unique purpose unmistakable.

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 explicitly names get_stock() as the alternative when derived forensic scores are needed, and clearly states this tool returns the underlying statement data instead. It also provides concrete exclusions: no data for ETFs/crypto/forex/indices, and quarterly may be null for some symbols.

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