Skip to main content
Glama

get_eps_scenarios

Read-onlyIdempotent

Build bear/base/bull EPS scenarios for US SEC filers: historical GAAP diluted EPS with P/E at each fiscal year end, analyst consensus estimates, and implied prices from EPS times P/E.

Instructions

For any EPS question on a US SEC filer (EPS 시나리오, 약세/기본/강세, bear/base/bull, EPS 전망·컨센서스, P/E 적정가) call this first, before web search; web news can be added after. Returns chart-ready tables: GAAP diluted EPS per fiscal year from SEC EDGAR companyfacts (10-K) with the P/E at each fiscal year end, Yahoo Finance consensus EPS for the current and next fiscal year (low/avg/high, analysts; via yfinance, unofficial) and bear/base/bull implied prices = EPS x P/E multiple. The historical GAAP P/E band is applied only when the EPS bases match; otherwise rows keep EPS with implied_price and implied_return_pct null, a needs_input_pe_multiples note asks for pe_multiples (a dict, e.g. {"bear":25,"base":32,"bull":40}), and pe_multiples_used lists the band and forward P/E per year as reference only, not applied. A calculation, not a forecast or price target. Fiscal years filed before a later stock split are left out, not adjusted. Korean listings and indices return UNSUPPORTED_MARKET. No dividends. implied_return_pct is measured from reference_price: by default the latest trade (regular, pre-market or after-hours, with its basis, session and time), else the last confirmed close (latest_close, kept separately); eps_as_of (10-K filing) and estimates_as_of are separate from the price time. confirmed_only=true: from the close. Text: a one-line summary, then the full result as compact JSON (the same object as structuredContent). Show source_line and warnings with the table. Read-only calculation; no account access or orders.

Input Schema

NameRequiredDescriptionDefault
symbolYesUS ticker, e.g. AVGO, NVDA, BRK.B
pe_multiplesNooptional label -> P/E multiple, up to 6
confirmed_onlyNofalse (default): include the latest trade as a provisional value; true: completed daily closes only

Output Schema

NameRequiredDescriptionDefault
okYes
cikNo
as_ofNolast completed (confirmed) daily bar date used, exchange-local; provisional values are dated after it
errorNo
notesNo
symbolYes
historyNo
pe_bandNo
currencyNo
warningsNoshow under the chart or table
eps_as_ofNofiling date of the newest annual 10-K EPS used
estimatesNo
freshnessNoper symbol: last confirmed close, latest trade (session, time, source, delay) and status
scenariosNo
price_modeNolatest (default): the newest trade is included as a provisional value, labelled with its session and time; confirmed_only: completed daily closes onlylatest
entity_nameNo
source_lineYesshow under the chart or table
data_qualityYes
latest_as_ofNoUTC time of the newest latest-price trade used; null under confirmed_only or when none is available
latest_closeNolast confirmed regular close
retrieved_atYesUTC time of this calculation
fiscal_contextNo
disclaimer_kindNocalculation, not a forecast or price target
estimates_as_ofNoUTC time the consensus estimates were retrieved
reference_priceNoprice used for implied_return_pct
resolved_symbolNo
latest_close_dateNo
pe_multiples_usedNo
next_earnings_dateNoexchange-local date of the next earnings release (Yahoo, unofficial)
consensus_revisionsNo
next_earnings_date_is_estimateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only declare read-only/idempotent/open-world; the description adds substantial context the annotations cannot: it is a calculation, not a forecast or price target; pre-split fiscal years are dropped rather than adjusted; the P/E band is applied only when EPS bases match, otherwise nulls plus a needs_input_pe_multiples note; confirmed_only switches between latest trade and completed close. It is dense but genuinely informative, though the source caveat for yfinance (unofficial) is the only reliability marker.

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?

The routing instruction is front-loaded correctly, but the remainder is a series of long run-on sentences mixing output format, edge cases, provenance fields and timing semantics. Little is truly wasted, yet the density makes it hard to scan and the JSON-return description could be tightened.

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?

Covers the full call path for a complex derived-metrics tool: sources, edge cases (splits, unsupported markets), the human-in-the-loop pe_multiples recovery path, reference price timing, and text/structuredContent parity. Even though an output schema exists, the description still tells the agent how to present the result and which fields to surface.

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 value by giving a concrete pe_multiples example ({"bear":25,"base":32,"bull":40}) and explaining what confirmed_only switches between (latest trade with session/basis vs last confirmed close). Those are behavioral consequences of the parameters rather than restatements of the schema text.

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 computation: GAAP diluted EPS per fiscal year from SEC EDGAR 10-K filings, Yahoo consensus EPS, and bear/base/bull implied prices from EPS x P/E. It is clearly distinguished from siblings like get_sec_financials and get_key_metrics by naming the derived scenario output rather than raw financials.

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?

Explicitly says to call this first for any EPS question on a US SEC filer, before web search, and that news can be layered afterwards. It also names what is out of scope (Korean listings/indices return UNSUPPORTED_MARKET, no dividends), which gives routing rules in both directions.

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