It's July 24, 2026, and we're in the thick of Q2 earnings season. Roughly 10,000 calls land in a single quarter across the corpus I work from. Nobody reads their coverage list. Nobody ever did — we just pretended, skimmed the names that mattered most, and hoped the rest didn't move.
I stopped pretending a few quarters ago. Before every call I actually care about, I run the same 15-minute routine with Claude connected to the earningscalls.dev MCP server. The output is a one-page brief: five things to listen for, each anchored to a verbatim quote from a prior call. When the new transcript drops, I diff it against the brief and I'm done in ten minutes — not sixty.
This post is the routine, step by step, with the actual prompts I use. Say you cover a mid-cap industrial reporting Thursday. Here's how Thursday gets easy.
The setup, once
The whole thing runs on MCP. earningscalls.dev ships a native MCP server — you point Claude Desktop, claude.ai, Claude Code, Cursor, or any MCP client at https://earningscalls.dev/mcp, using the authenticated per-user URL provisioned from your dashboard. No glue code, no SDK, no cron job. If you haven't wired it up yet, the walkthrough for connecting any MCP client covers every client in a few minutes each.
Once connected, Claude can call the tools directly: list a company's call history, fetch a transcript as full text, summary, or components, pull speaker segments filtered by role — executive, analyst, or operator — run full-text search across the whole corpus or within a single ticker, and check upcoming earnings dates. That's 253,129 transcripts across 12,799 companies and 11.99 million speaker segments, from 2020 to today, sitting one tool call away. The docs list every endpoint if you want the full inventory.
The role filter is the part that matters most, and I'll keep coming back to it. Separating prepared remarks from Q&A is the difference between reading marketing and reading pressure. Executives write the script; analysts write the stress test. Treating a transcript as one undifferentiated blob throws that structure away.
Now the routine. Fifteen minutes, six steps, same order every time.
Minute 0–2: Establish context
First, I orient. I don't assume I remember where this company is in its own story — memory is exactly what this routine replaces.
List the last 8 earnings calls for $TICKER with dates.
Claude pulls the call history in one tool call. I glance at the cadence — any skipped quarters, any oddly timed calls — and then grab the most recent one:
Pull the summary of $TICKER's latest earnings call. What were the headline themes?
Two minutes in, I know what management led with last quarter and what the call was officially "about." That's the baseline everything else gets measured against. I deliberately use the summary here, not the full transcript — this step is orientation, not analysis, and the summary keeps it fast.
Minute 2–5: Management's story arc
This is where the role filter starts earning its keep. I want only what executives said — prepared remarks and their Q&A answers — across the last several calls, because the signal I'm hunting for is change over time, not any single quarter's content.
Fetch the executive-only speaker segments from $TICKER's last 4 earnings calls. Three things: (1) what did management emphasize each quarter, (2) what topics were prominent in earlier calls but quietly disappeared, and (3) what hedge phrases recur — "as expected," "broadly in line," "we remain confident"?
Question two is the one I'd never answer by hand. Dropped topics are the highest-signal tell in earnings calls. When a growth initiative gets three paragraphs in one quarter, one sentence the next, and silence after that, management has told you something they never had to say out loud. Reading four transcripts side by side to catch an absence is brutal work for a human and trivial for a model holding all four in context.
The hedge-phrase inventory matters for Thursday too. Every management team has verbal tics that show up when they're managing expectations rather than reporting strength. Once Claude has cataloged them from prior calls, I'll recognize them live instead of noticing them three weeks later in hindsight.
Minute 5–8: The sell side's thread
Now I flip the filter. Same calls, analysts only.
Now pull the analyst-only segments from those same 4 calls. Which questions repeat across quarters? Which ones got deflections or non-answers? Then draft the three questions most likely to come up again on Thursday's call.
The sell side runs a longitudinal investigation, one quarter at a time, and the transcript records all of it. A question that appears in three consecutive Q&As is a thread someone refuses to drop — usually because the answers haven't satisfied anyone yet. A question that got a non-answer last quarter is nearly guaranteed a follow-up.
The three drafted questions become the spine of my brief. If the call reaches Q&A and none of them come up, that's information too — either the thread resolved, or the analysts moved on to a bigger worry, and I want to know which.
This step is also where role filtering pays off most obviously. Mixed together, executive answers dilute analyst questions and you lose the shape of the interrogation. Isolated, the analyst segments read like a deposition transcript — you can watch the pressure build across quarters. I wrote more about interrogating transcripts this way in how analysts read earnings calls 10x faster with Claude and MCP; the short version is that the question side of the tape is chronically underread.
Minute 8–11: Peer read-across
My company reports Thursday. Some of its peers already reported this cycle. Their calls are the closest thing to a preview I'll get, and full-text search across the corpus turns them into one.
Search earnings calls from the past month in the industrials sector for "pricing pressure". What did companies that already reported this quarter say — is it easing, holding, or getting worse, and who said what?
Swap the theme for whatever this quarter's axis of worry is — "inventory," "AI capex," "destocking," "freight costs." The point is the same: by the time a mid-cap reports, the majors in its sector have usually set the narrative, and management knows exactly what analysts heard on those calls. If four peers flagged softening demand in the same end market, Thursday's Q&A will go there, and I want to know what "consensus phrasing" sounds like before my company either echoes it or breaks from it.
A company that contradicts its already-reported peers is the single most interesting thing that can happen on an earnings call. It's either differentiated execution or denial, and both are tradeable. You only catch the contradiction if you know what the peers said — three minutes of search buys you that.
Minute 11–14: The watchlist
Now everything converges into the deliverable.
Build a one-page pre-call brief for $TICKER's Thursday call: five specific things to listen for, each tied to a verbatim quote from a prior call (with which call it came from) and one line on why it matters. Include the three likely analyst questions from earlier and the peer read-across in a short footer.
The verbatim anchoring is non-negotiable, and it's why I insist on quotes rather than paraphrases. "Management sounded cautious on margins" is an impression; "management said gross margin would 'normalize in the back half' on the Q4 call and hasn't used the word 'normalize' since" is a checkable claim with a falsifiable prediction attached. Every item on the watchlist is a question the new call will answer: did the dropped topic come back, did the hedge phrase escalate, did the repeated analyst question finally get a number.
Fourteen minutes in, I have a page. Not a report, not a model update — a listening guide. It fits on one screen and it's specific to this company, this quarter, this Thursday.
Minute 14–15: After the call drops
The last minute is spent later, when the transcript posts. This is the payoff step:
$TICKER's new transcript just posted. Diff it against my pre-call brief: for each of the five watchlist items, what did management actually say (quote it)? Which of the three predicted analyst questions came up? What appeared that wasn't in the brief at all?
This is what preparation buys you. Without a brief, a new transcript is a 60-minute read where everything is potentially important. With a brief, it's a 10-minute exception report: five predictions checked against reality, plus a short list of genuine surprises. The prepared-remarks boilerplate — safe harbor, thank-yous, the numbers already in the press release — costs me zero minutes because I never asked about it.
The asymmetry is the whole argument. Skimming a transcript after the fact means deciding what matters while you read, under time pressure, with no baseline. Preparing means you decided what matters beforehand, in writing, when you were calm. The call either confirms or surprises, and surprises are precisely the things worth your attention.
Why this scales when reading doesn't
At around 10,000 calls a quarter in the corpus, even a modest coverage list generates more transcript than any human reads. The old answers were triage (read the big names, skim headlines for the rest) or delegation (wait for someone else's summary, inherit their framing). Both mean the mid-cap industrial that quietly dropped a topic two quarters ago blindsides you on Thursday.
Fifteen minutes per name changes the arithmetic. Ten names reporting in a week is 150 minutes of prep — one long coffee, spread across mornings — and every one of those calls becomes a 10-minute diff instead of an hour of reading. The tooling reads the coverage list so I don't have to; I spend my time on the exceptions it surfaces.
One boundary worth stating: MCP is the interactive layer, and that's exactly what pre-call prep is — conversational, iterative, one name at a time. If you want this same routine running automatically across a whole watchlist — briefs generated the night before every call, diffs posted the morning after — that's a pipeline job, and the REST API is built for it. Same corpus, same role-filtered segments, same search, but callable from your own code. I laid out where each layer wins in MCP vs REST API for earnings call data; the short answer is that I prep interactively over MCP and automate the recurring parts over REST.
The routine, on a card
- 0–2: List the last 8 calls, pull the latest summary. Baseline.
- 2–5: Executive-only segments, last 4 calls. Emphasis, dropped topics, hedge phrases.
- 5–8: Analyst-only segments, same calls. Repeated questions, non-answers, three predictions.
- 8–11: Full-text search one theme across the sector's recent calls. Peer read-across.
- 11–14: One-page brief — five things to listen for, each with a verbatim quote.
- 14–15: When the transcript posts, diff it against the brief.
Nothing here requires the company to be large, liquid, or well-covered — the routine works on any of the 12,799 names in the corpus because it only needs the company's own words and its peers'. The first time through takes twenty minutes while you tune the prompts. By the third name it's genuinely fifteen. By the third quarter, walking into a call without a brief feels like walking into a negotiation without notes.
Thursday's call is going to happen either way. The only question is whether you've already written down what to listen for.
Connect Claude to the earningscalls.dev MCP server and run your first 15-minute prep before the next call on your list.