Skip to main content
Glama

MetricDuck — Financial Analysis

Compare Earnings Calls

compare_earnings_calls
Read-only

How has management's posture shifted across recent earnings calls? Cross-quarter trajectory view of transcript signals for a single ticker.

This is MetricDuck's EARNINGS-CALL TRANSCRIPT tool (agents also look for this as get_earnings_call_transcript / get_earnings_transcript / get_earnings_call / search_earnings_calls). It aligns calls by event date and surfaces CROSS-QUARTER patterns; for ONE call's verbatim prepared remarks or Q&A, drill with get_filing_section(section_id="transcript_prepared_remarks" | "transcript_qa_session").

Output (coverage-dependent): a coverage table per quarter — event date, fiscal period, accession, status, and transcript Source tier (SEC-filed vs Issuer-published vs Machine-transcribed), surfacing NO_TRANSCRIPT / WAITING gaps (transcripts are management commentary, not SEC-filed facts). Then an aggregate-trajectory table (Q&A Deflection / Concerns Retained / Forward Commits — one row per scalar, one column per quarter), guidance deltas grouped by metric, and the per-quarter qualitative arrays for whichever dimensions you request, side-by-side so drift reads across columns. Drill hints are pinned to accessions.

Use Cases:

  • "Deflection trend?" -> compare_earnings_calls("RDDT", n_quarters=8, dimensions=["hedges", "qa"])

  • "Guidance discipline shifting?" -> compare_earnings_calls("NVDA", dimensions=["guidance"])

  • "Strategic priorities + KPIs drift" -> compare_earnings_calls("PG", dimensions=["priorities", "kpi"])

For signal changes across many companies between two windows, use screen_filing_signals with since_date/until_date.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tickerYesCompany ticker symbol (e.g., 'NVDA'). Must be exact.
dimensionsNoFilter to specific trajectory axes; every axis is a per-quarter series. Omit for all. guidance: forward guidance items with delta_vs_prior. hedges: Q&A deflection rate. qa: Q&A Exchange Analyzer aggregates (analyst questions, concerns, concerns retained, forward commits). priorities: ranked strategic priorities. macro: macro factor responses (factor + stance + drift tag). competitive: competitive mentions (competitor + context_type + drift tag). scale_claims: quantified scale claims (metric_name + value + direction). revdecomp: segment revenue decompositions (segment + period_type + total_growth). kpi: issuer-disclosed operating KPIs (kpi_name + value). capital_allocation: forward capital-allocation postures (buyback cadence, leverage targets, funding rationale, capex, M&A). scenarios: conditional scenario sensitivities (trigger event + impacts on revenue / EBITDA / margin / EPS). forward_commits: calendar-anchored forward commitments (speaker + analyst + verbatim excerpt). customer_cohort: customer-cohort disclosures (deals above an ACV/NACV threshold, threshold-crossing flow, top-N attach, new-logo growth).
n_quartersNoHow many most-recent earnings calls to compare (default: 4, min: 2, max: 8).
vantage_dateNoAs-of vantage (YYYY-MM-DD): compare only calls reported ON OR BEFORE this date, window anchored there rather than today — don't assume the latest calls reflect a past vantage. Omit for the most recent.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint, destructiveHint false), so the description focuses on richer behavioral context: coverage-dependent output, Source tiers (SEC-filed vs Issuer-published vs Machine-transcribed), and explicit NO_TRANSCRIPT / WAITING gaps. It also notes transcripts are management commentary, not SEC-filed facts. No pagination/rate-limit detail or return-shape caveats beyond the tiering, which keeps it short of a 5.

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-loads the core question and the routing to siblings effectively, but the model-alias parenthetical and the long output description (multiple table types plus per-quarter arrays) are dense and partially redundant. The structure is organized (routing, output, use cases, sibling) but less tight than it could be.

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?

Given a 4-param tool with no output schema, the description covers return structure (coverage table, trajectory table, guidance deltas, qualitative arrays, drill hints), the transcript Source tier concept, and known gaps. It is close to complete for an agent to invoke and interpret results, though the exact shape of the per-quarter arrays depends on requested dimensions and isn't fully pinned.

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 schema already documents ticker, dimensions enum values, n_quarters bounds and vantage_date pattern. The description adds value by enumerating the 13 dimensions with their per-quarter series semantics and by explaining the vantage_date intent ('window anchored there rather than today'). This is useful supplementary semantics beyond the schema, though it largely restates the enum list.

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 ('compare earnings calls', 'cross-quarter trajectory view of transcript signals for a single ticker') and explicitly distinguishes itself from sibling get_filing_section for single-call verbatim text. The aliases (get_earnings_call_transcript etc.) and the routing line to screen_filing_signals make the scope unambiguous.

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?

Names concrete alternatives and the conditions that select them: drill into get_filing_section for one call's verbatim remarks/Q&A, and use screen_filing_signals for signal changes across many companies between two windows. Three worked use cases reinforce the when-to-use.

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.

Resources