Skip to main content
Glama

get_transcript_analysis

Read-only

One company's call-over-call earnings transcript analysis: the call's summary and what it added, removed, strengthened, weakened or reinforced against the prior call — the direct read for "what changed on X's call", "what did management stop talking about", and how the narrative has moved.

===> Prefer this over explore_data_catalogue, and over reading the transcript turn by
turn, for what a call said: it is synchronous and returns the rows directly. For the
guidance label alone, use `get_transcript_guidance`.

FIELDS, per row: `summary`, then `added`, `removed`, `strengthened`, `weakened` and
`unchanged_but_reinforced`, each against the PRIOR call. They are a model's analysis
of the transcript, not quotes: attribute them to the analysis, and quote only from
`source_urls[].quotes` or the transcript itself. `date` is the CALL date, not a fiscal
period.

CITATIONS: an `[n]` marker in the text resolves to the `source_urls` entry with the same
`n`: {n, url, title, quotes, node_id}. `quotes` are verbatim passages, and the `url`'s
symbol, year, quarter and n are the arguments to `get_document_section`, which opens that
speaker turn. Year and quarter there are FISCAL; take them from the url, never from
`date`. Only some calls have citations stored (none before May 2026): elsewhere
`source_urls` is null and the text has no markers. Say that text is uncited analysis:
trace_data_sources has no link for those calls either.

`limit` COUNTS ROWS, NOT CALLS: a re-analyzed call can appear twice, on the same date or
a day apart, with near-identical text. Treat those as one call. Rows with citations run
about 15 KB each, so keep the default unless the question compares calls.

Returns {"symbol": ..., "count": N, "rows": [...]}, newest call first. `note` is set
only on an empty result.

Errors: a 404 means the ticker is outside coverage.

Requires auth (your MCP client attaches the OAuth bearer automatically).
Rate-limited 500/min.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "symbol": "<symbol>"
    },
    "name": "get_transcript_analysis"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMost recent analyses to return (1-8, default 1). 1 is the latest call; raise it to compare calls.
symbolYesCovered ticker, e.g. "AAPL".

Output Schema

NameRequiredDescriptionDefault
noteNoSet only when no rows came back: what an empty result can mean.
rowsYesNewest call first.
countYesRows returned; a re-analyzed call can take two.
symbolYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

With only readOnlyHint in annotations, the description carries the burden well: it discloses synchronous behavior, the citation storage cutoff (none before May 2026, source_urls null and no markers), the trap that limit counts rows not calls and that a re-analyzed call can appear twice, ~15 KB per row, auth requirement, 500/min rate limit, and that 404 means out of coverage. It also warns the fields are model analysis, not quotes, and specifies attribution rules.

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?

It is long, but front-loaded with purpose and routing before the field, citation, and limit detail, and uses headers (FIELDS, CITATIONS, limit) so the agent can skim. Nearly every sentence carries a non-obvious fact; the density is justified, though the prose could be tightened slightly without losing meaning.

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?

Although an output schema exists, the description still supplies what the schema cannot: the row field meanings, newest-first ordering, that note is set only on empty results, and how [n] markers resolve into source_urls and feed get_document_section with fiscal year/quarter taken from the url. Nothing an agent needs to call and correctly interpret this tool is missing.

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

Parameters5/5

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

Schema coverage is already 100%, but the description adds meaning the schema cannot: that limit counts ROWS rather than calls, that duplicate rows for a re-analyzed call should be treated as one, and that the default should be kept unless comparing calls. It also clarifies that date is the call date, not a fiscal period, which prevents a real misinterpretation.

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 states a specific verb and resource — call-over-call earnings transcript analysis for one company — and enumerates the exact fields returned (summary, added, removed, strengthened, weakened, unchanged_but_reinforced). It also gives the natural-language question forms it answers ("what changed on X's call", "what did management stop talking about"), which distinguishes it from a plain transcript fetch.

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?

Explicit routing is provided: prefer this over explore_data_catalogue and over reading the transcript turn by turn, because it is synchronous and returns rows directly. A named alternative (get_transcript_guidance) is given with the narrowing condition "for the guidance label alone", so the agent can split the two tools without inference.

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