Skip to main content
Glama

get_income_statement

Read-onlyIdempotent

Income statement for a stock — revenue, costs, profit — the P&L, period by period. Mirrors what the Market Hub shows. Stocks only (not ETFs or crypto).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker (e.g. AAPL). Financial statements are for stocks only — not ETFs or crypto.
periodsNoHow many periods to include. Defaults to 5; up to 20. If fewer exist, all available periods are returned.
frequencyNoReporting frequency. Defaults to quarterly.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful context: the data 'Mirrors what the Market Hub shows' and is restricted to stocks only. It does not disclose response format or pagination, but the annotation coverage lowers the burden, and the added scope/source context is valuable.

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 two sentences, front-loads the definition ('Income statement for a stock — revenue, costs, profit — the P&L'), and every clause adds value. No filler or redundancy.

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?

For a simple read-only tool with three well-documented parameters and no output schema, this description covers the essential context: what it returns (P&L fields), scope (stocks only), and source alignment with Market Hub. It does not list exact return fields, but the intuitive nature of an income statement and the strong annotations make this adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 100%, with ticker, periods, and frequency all having descriptive text including defaults, bounds, and enum values. The description adds no additional parameter information beyond repeating the stocks-only constraint already present in the schema, so the baseline of 3 applies.

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 clearly identifies the tool as the income statement (P&L) for a stock, listing revenue, costs, and profit. It distinguishes from siblings like get_balance_sheet and get_cash_flow by naming the specific statement type, and adds a scope constraint: 'Stocks only (not ETFs or crypto).'

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?

The description gives clear context that this is the tool for income statement data and explicitly excludes ETFs and crypto with 'Stocks only (not ETFs or crypto).' It does not name alternative tools or explicitly say 'use this instead of X,' but the sibling names and the specificity of 'revenue, costs, profit — the P&L' make the intended usage clear.

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.

TDQS

A3.9/5.0
Disambiguation4/5

With 57 tools, most have distinct purposes (market data, journaling, watchlists). A few related tools (get_price_alignment vs get_crypto_price_alignment, get_market_pulse vs get_market_movers) could cause miselection, but descriptions clarify asset types and scope.

Naming Consistency4/5

Tools predominantly use get_/list_/create_/update_/delete_ verbs with clear noun suffixes. Minor deviations like start_here, whoami, add_to_watchlist, and remove_from_watchlist break the pure verb_noun pattern, but the style is consistent and readable.

Tool Count1/5

At 57 tools, the server is far beyond the well-scoped range. While the domain is broad, this many tools will overwhelm an agent's capability to select accurately, and many could be consolidated (e.g., separate financial statements).

Completeness5/5

The server covers watchlist CRUD, trading journaling, market data (fundamentals, statements, news, transcripts), analysis tools, and community features. No obvious dead ends; lifecycle coverage is thorough for the described domain.

Resources