Skip to main content
Glama

get_financial_facts

Read-onlyIdempotent

Fetch annual financial values from SEC EDGAR XBRL filings by CIK and concept alias or tag, returning one value per fiscal year with source URLs for citation.

Instructions

Annual financial values reported in 10-K (or 20-F/40-F) XBRL data, newest fiscal year first, one value per fiscal year.

Prefer aliases: revenue tries several revenue tags and uses the one with the most recent data. fiscal_year is the company's own fiscal year (e.g. NVIDIA's FY2024 ends Jan 2024). Amounts are in unit (USD is not scaled). Cite each value's filing_url or source_url.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cikYesCIK, e.g. '1045810'
yearsNoNumber of fiscal years
conceptYesAlias (capex, cash, cost_of_revenue, eps_basic, eps_diluted, gross_profit, long_term_debt, net_income, operating_cash_flow, operating_income, rd_expense, revenue, shares_outstanding, stockholders_equity, total_assets, total_liabilities) or an XBRL tag such as 'us-gaap:NetIncomeLoss'

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cikYes
unitYes
labelYes
valuesYesAnnual values, newest fiscal year first
conceptYesResolved XBRL tag, e.g. "Revenues"
taxonomyYesResolved XBRL taxonomy, e.g. "us-gaap"
source_urlYes
company_nameYes
requested_conceptYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, openWorld), so the description's added value is the result semantics: ordering by most recent fiscal year, exactly one value per fiscal year, and the fact that amounts live in `unit` with USD unscaled (a real gotcha). The citation requirement for filing_url/source_url is also useful behavioral context not present in the schema.

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?

Two short paragraphs, front-loaded with what the tool returns and then the rules for interpreting the values. Every sentence carries information; nothing is padded or restated from the schema.

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?

An output schema exists so return values need no explanation, and the description covers ordering, units, alias resolution, and fiscal-year interpretation. Minor gaps: no note on what happens when fewer years of data exist than requested, or on how missing concepts are signaled.

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 baseline is 3, but the description genuinely enriches meaning: it explains that `revenue` is an alias that resolves across multiple tags, and that `fiscal_year` means the company's own fiscal calendar rather than calendar year (illustrated with NVIDIA FY2024 ending Jan 2024). Those are semantics the schema does not carry.

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

Purpose4/5

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

States a specific resource (annual financial values from 10-K/20-F/40-F XBRL data) and the shape of the result (newest fiscal year first, one value per fiscal year). It is clearly distinguishable from search_company, list_filings, and get_filing_section by resource, though it never names those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is concrete guidance on how to use the concept parameter ('Prefer aliases: revenue tries several revenue tags and uses the one with the most recent data') and a citation directive. However, it never says when to reach for this tool versus list_filings or get_filing_section, so usage context is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.