Skip to main content
Glama

ticker-scout

Any figure, any period

get_figure
Read-onlyIdempotent

Get any figure for a company: revenue, net income, EPS, free cash flow, debt, a segment's revenue, a bank's CET1 ratio, a KPI. Pass a standard name or synonym and it returns the field this company uses for it, named; pass a field name or path from the record and it returns exactly that field; otherwise fields whose names contain all the words. Case, spaces and underscores do not matter. Standard figures: revenue, cost_of_revenue, gross_profit, gross_margin_pct, research_and_development, sga, operating_expenses, operating_income, interest_expense, net_interest_income, noninterest_income, provision_for_credit_losses, pretax_income, income_tax, effective_tax_rate, net_income, diluted_eps, basic_eps, diluted_shares, basic_shares, depreciation_and_amortization, cash, total_assets, total_liabilities, total_debt, long_term_debt, short_term_debt, shareholders_equity, current_assets, current_liabilities, goodwill, intangible_assets, inventories, accounts_receivable, accounts_payable, property_and_equipment, retained_earnings, shares_outstanding, operating_cash_flow, capital_expenditures, free_cash_flow, investing_cash_flow, financing_cash_flow, dividends_paid, dividends_per_share, share_repurchases, stock_based_compensation, acquisitions. Every value leads with its name_in_record and json_path, so what is returned is never relabeled, and carries its dates, form and accession. Every value carries the SEC accession number of the filing it came from and, where the filing tags the number, a sec.gov link that opens the filing at the line printing it. Default: every period in the latest record. period narrows to a fiscal year, quarter, 'ttm', 'ytd' or 'latest', searching older records; period='all' returns the full history held, oldest first, as annual and quarterly series (the newer record's value wins where two hold the same period, because it carries any restatement). All money is in actual dollars (not thousands, not millions), per-share figures in dollars per share (per ADS for a foreign issuer that has one), share counts in actual shares, split-adjusted. A foreign issuer's figures are converted to US dollars at the rate recorded on each period. When nothing matches, the error names the closest fields; list_company_figures lists every field by name.

Input Schema

NameRequiredDescriptionDefault
figureYesA standard figure name or synonym ('revenue', 'net income', 'eps', 'capex', 'fcf'), a field name or path from the record ('total_net_sales', 'reportable_segments.Compute & Networking.revenue'), or words. Pass a list of up to ten to get several figures in one call.
periodNoFiscal period: 'FY2025', 'Q2 FY2027' (also 'FY27Q2', 'Q2 2027'), 'latest', 'latest quarter', 'latest annual', 'ttm', 'ytd', 'annual', 'quarterly', 'all', or a period-end date. The company's own fiscal years. Omit for every period in the latest record. A period earlier than the data held returns that the data does not go back that far, and what is held.
tickerYesTicker symbol, case-insensitive. Examples: NVDA, brk-b, BRK.B.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / figure / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "items": {
      +      "type": "string"
      +    },
      +    "maxItems": 10,
      +    "minItems": 1,
      +    "type": "array"
      +  }
      +]
    • changedInput schema / properties / figure / description
      Previous value: -"Standard figure name or synonym, a field path, a field name, or words."New value: +"A standard figure name or synonym ('revenue', 'net income', 'eps', 'capex', 'fcf'), a field name or path from the record ('total_net_sales', 'reportable_segments.Compute & Networking.revenue'), or words. Pass a list of up to ten to get several figures in one call."
    • removedInput schema / properties / figure / type
      Removed value: -"string"
  2. Added

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only cover safety (readOnly, idempotent, non-destructive); the description goes well beyond them by disclosing units (actual dollars, dollars per share, split-adjusted share counts), FX conversion at the recorded rate, restatement precedence when two records cover a period, and the exact error behavior. This is rich behavioral context an agent cannot get from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core behavior in the first sentence, which is good, but the ~48-item enumeration of standard figure names is long and partly duplicates what the list_company_figures sibling is already cited as providing. The list aids discoverability but inflates length beyond what is strictly needed.

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 return-shape burden and does so thoroughly: values lead with name_in_record and json_path, are never relabeled, and carry dates, form, accession, and a sec.gov link where tagged. Combined with units, FX, and period rules, an agent has everything needed to call and interpret this tool.

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, but the description adds genuinely useful meaning: the full list of recognized standard figure names, the synonym/word-matching rule, case/space/underscore insensitivity, and the period='all' history ordering with newer-record precedence. It complements rather than merely repeats the schema.

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 verb+resource ('Get any figure for a company') and enumerates exactly what counts as a figure (revenue, EPS, FCF, a bank's CET1 ratio, a KPI), so the scope is unmistakable. It only differentiates against list_company_figures and never distinguishes itself from siblings like get_financials, get_key_figures, or get_company_metrics, so it falls short of full sibling disambiguation.

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?

Gives clear conditions for the three input modes (standard name/synonym, exact field name/path, or word-matching) and states the default behavior (every period in the latest record). It points to list_company_figures for enumeration and describes the no-match error, but offers no explicit guidance on when to prefer this over get_financials or get_key_figures.

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.