Claude is a phenomenal reasoning engine, but out of the box it has no idea what a company's CFO said on last quarter's earnings call. It can guess, and it will confidently make things up. The fix is our earnings calls MCP server, built on the Model Context Protocol (MCP) — a standard that lets you plug real, live tools into Claude so it can fetch actual data instead of hallucinating it.

This guide shows you how to connect earnings call transcripts to Claude with MCP across every Claude surface: the Claude Desktop app, Claude on the web at claude.ai, and Claude Code in your terminal. Once connected, you can ask Claude a plain-English question and it will pull the exact transcript passages it needs and answer with citations.

The dataset behind the connector is deep: 246,000+ earnings call transcripts covering 12,000+ companies across 70 countries, 170+ exchanges, and all 11 GICS sectors, from 2020 to the present (5+ years). Every transcript is broken into speaker segments — 11M+ of them — tagged by role (executive, analyst, operator, attendee, shareholder). That structure is what lets Claude answer questions like "what did the analysts push back on?" instead of just summarizing a wall of text.

Setup takes about five minutes per client. Let's go.

Prerequisites

You need two things before you start:

  1. A paid earningscalls.dev plan. Reading transcripts on the website is free, but programmatic access — which is what MCP uses — is a paid feature. The Pro plan is $24.99/mo (5,000 requests/month) and Ultra is $39.99/mo (25,000 requests/month). Pick whichever fits your volume on the pricing page. You can start on Pro and upgrade later.
  2. A connector URL. This is a single HTTPS URL with your access token embedded in it. There's no separate API-key header to manage — the URL is your credential. We'll generate it in the next step.

You'll also want a Claude client. Claude Desktop and Claude Code work on the free Claude tier for basic use, though heavier agentic workflows benefit from a paid Claude plan. That's separate from your earningscalls.dev subscription.

If you're new to the concept of an MCP server for financial data, our explainer What Is an Earnings Call MCP Server? covers the fundamentals in a few minutes.

Generate your connector URL

Head to your dashboard and do the following:

  1. Open the Connectors section.
  2. Click Generate.
  3. Copy the URL that appears. It looks like this:

https://earningscalls.dev/u/mct_xxxx/mcp

The mct_xxxx portion is your personal token. Treat this URL like a password — anyone who has it can query the API on your account and consume your monthly request quota.

A useful habit: generate one connector URL per device or per client. Each URL is independently revocable, so if you later hand your laptop back to work or a token leaks, you can kill that single URL from the dashboard without disrupting your other setups. Generate one for Desktop, one for the web, one for Claude Code, and you'll never have to re-key everything at once.

Keep this URL handy — every section below uses it.

Connect in Claude Desktop

The Claude Desktop app supports custom connectors natively, so there's no config file to hand-edit.

  1. Open Claude Desktop.
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste your connector URL (https://earningscalls.dev/u/mct_.../mcp).
  5. Click Authorize.

Claude will register the connector and pull in the available tools. Within a few seconds you should see earningscalls listed as an active connector. That's it — no JSON, no terminal.

If you want a more detailed walkthrough focused specifically on the desktop app, see Connect earningscalls.dev to Claude Desktop via MCP.

Connect in Claude on the web (claude.ai)

Prefer working in the browser? Claude on the web supports the same custom connectors. The steps mirror Desktop, with one small gotcha around the OAuth fields.

  1. Open claude.ai and go to Settings → Connectors.
  2. Click Add custom connector.
  3. Paste your connector URL.
  4. Leave the OAuth fields empty. The token is already embedded in your URL, so you do not need to fill in a client ID or secret. Adding values here is the single most common way this setup goes wrong.
  5. Click Add.
  6. A consent popup will appear asking you to confirm the connection. Confirm it.

Once confirmed, the connector is live in every conversation on that account. Because the web and desktop clients are configured separately, this is a good place to use a second connector URL from your dashboard.

Connect in Claude Code

Claude Code, the terminal-based coding agent, is where the earnings connector really shines for automated research and data pipelines. Adding it is a one-liner.

Run this in your terminal:

claude mcp add --transport http earningscalls "https://earningscalls.dev/u/mct_.../mcp"

Replace the URL with your own connector URL. By default this registers the connector for the current project. If you want it available in every project on your machine, add the user scope:

claude mcp add --transport http --scope user earningscalls "https://earningscalls.dev/u/mct_.../mcp"

To confirm it's wired up, start a Claude Code session and type:

/mcp

You should see earningscalls in the list of connected servers along with its tools. You can also check status from the shell without opening a session:

claude mcp list

This prints each configured server and whether it's connecting successfully — handy for scripting and CI. Once connected, Claude Code can chain earnings-data lookups into larger tasks, like building a comparison table or drafting a research memo. For inspiration, see Automated Research Workflows with Claude Code and the earningscalls MCP if you want to go deeper on agentic pipelines.

Verify it works

Regardless of which client you set up, the real test is asking Claude a question that requires live data. Try one of these:

"Using the earningscalls connector, what did NVIDIA's CEO say about data center demand on their most recent earnings call?"

"Pull the latest earnings call for ticker AAPL and summarize the three biggest themes from the prepared remarks."

If the connector is working, Claude will explicitly call a tool (you'll usually see it announce something like "calling get_latest_call_for_ticker"), fetch real transcript content, and answer with specific quotes rather than vague generalities. If Claude instead gives a hand-wavy answer from memory without invoking a tool, the connector isn't active — jump to Troubleshooting below.

A good sign you're fully set up: ask Claude about coverage.

"How many earnings call transcripts does the earningscalls dataset cover, and what date range?"

Claude should call the dataset-stats tool and report back the real numbers rather than guessing.

What to ask

The connector exposes far more than "summarize this call." Because transcripts are segmented by speaker role, you can slice them the way a professional analyst would. Some prompts to try:

"Compare what Microsoft's CFO said about cloud margins in the last two quarters and flag any change in tone."

"Search all earnings calls from the last quarter for mentions of 'AI capex' and give me the five most notable companies."

"For Tesla's latest call, show me only the analyst questions and group them by topic."

"Find the most recent earnings call for a European semiconductor company and tell me what management said about demand recovery."

"What guidance did Amazon give on its last call, and how did analysts react in the Q&A?"

The speaker-role tagging (executive, analyst, operator, attendee, shareholder) is the secret weapon here — it lets Claude isolate management's claims from the analysts' skepticism, which is exactly where the signal usually hides. For a curated set of battle-tested prompts, see 10 Claude Prompts for Analyzing Earnings Calls via MCP.

Troubleshooting

The connector doesn't show up after adding it. The most common cause is a malformed URL. Re-copy it directly from your dashboard — make sure it starts with https://earningscalls.dev/u/ and ends with /mcp, with no stray spaces or line breaks. A truncated paste is the usual culprit.

You're asked to log in or a magic link doesn't arrive. Connector generation and login require an existing earningscalls.dev account. If the magic-link email doesn't show up, check spam and confirm you're using the same address you signed up with. You can't generate a connector for an account that doesn't exist yet.

Claude answers without calling the tool. Try prompting more explicitly — name the connector directly ("using the earningscalls connector...") to nudge Claude to invoke it. In Claude Code, run /mcp to confirm the server is actually connected, or claude mcp list from the shell to check its status.

The web setup fails on the OAuth step. Remember: on claude.ai you must leave the OAuth fields empty. The token lives in your URL. Filling those fields in breaks the handshake.

A URL leaked or a device is retired. Revoke that specific connector URL in the dashboard and generate a fresh one. Because each URL is independent, your other clients keep working untouched. This is why we recommend one URL per device.

Still stuck? The full reference lives in the docs, and the MCP overview page covers the connector model end to end.

Start connecting Claude to real earnings data

You now have Claude wired into 246,000+ earnings call transcripts across 12,000+ companies and 70 countries — on Desktop, on the web, and in your terminal. No more guessing what management said; Claude fetches the actual words and cites them.

If you haven't picked a plan yet, generate your connector URL in the dashboard or compare Pro and Ultra on the pricing page. Five minutes from now, you could be asking Claude about any earnings call from the last five years and getting a real answer.