Skip to main content
Glama

ticker-scout

Every figure a company reports, by its own names

list_company_figures
Read-onlyIdempotent

Discover which figures a company's record holds and what it calls them. Without query: standard_figures maps each standard figure (revenue, net income, EPS, cash, debt and the rest) to the name THIS company's record gives it (Apple's revenue is total_net_sales, JPMorgan's is total_net_revenue), and other_figures holds every remaining figure grouped by its statement or table (segments, revenue_by_* breakdowns, key metrics, bank and insurance tables, non-GAAP measures), keyed by path, with its values. With query: only the fields whose names contain every word ('data center', 'cet1', 'comparable sales', 'backlog', 'subscribers'), plus the standard figure the words name, if any. Every name and path returned can be passed to get_figure exactly as written. block limits to one table. A listing defaults to the latest fiscal year and latest quarter, a search to every period in the latest record; pass period for others.

Input Schema

NameRequiredDescriptionDefault
blockNoOnly this table, e.g. income_statement, reportable_segments, key_metrics.
queryNoWords to find in field names, e.g. 'data center revenue'. Omit to list everything.
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. Changed1 schema field changed
    • addedInput schema / properties / query
      Added value: +{
      +  "description": "Words to find in field names, e.g. 'data center revenue'. Omit to list everything.",
      +  "type": "string"
      +}
  2. Added

TDQS

A4.4/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, non-destructive, closed-world), so the description is free to add operational behavior — and it does: default period scoping differs between listing (latest FY + latest quarter) and search (every period in the latest record), plus the edge-case that an out-of-range period returns a 'data does not go back that far' message. It does not describe result size or truncation limits.

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?

The core listing/search distinction is front-loaded in the first two clauses, followed by concrete examples. Dense and mostly waste-free, though the middle sentence packs several clauses (grouping, examples, keying) into one long construction that slows parsing.

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 full burden of describing the return shape, and it does: standard_figures maps standard figures to company-specific names, other_figures groups remaining figures by statement/table keyed by path with values. Combined with defaults and error behavior, an agent has everything needed to call it 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 baseline is 3, but the description adds genuine semantics: `query` matches only when field names contain every word (AND semantics, not substring OR), `block` limits to a single table, and `period` defaults differ by mode. These clarify behavior the schema wording leaves ambiguous.

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?

States a specific verb and resource ('Discover which figures a company's record holds and what it calls them') and immediately differentiates itself from retrieval siblings by noting every returned name/path can be passed to get_figure. It also distinguishes the two operating modes (listing vs. query), so an agent can place it precisely among 19 siblings.

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?

Explicitly frames when to use each mode: without `query` for full discovery, with `query` for targeted name matching, `block` to narrow to one table, and `period` for non-default periods. It names get_figure as the downstream alternative, but gives no explicit when-not guidance against siblings like get_financials, get_statements, 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.