The Model Context Protocol (MCP) is a standard, and that is the whole point. Instead of building a separate integration for every tool you use, you stand up one server and any MCP-compatible client can talk to it. Write once, connect everywhere.
That is exactly how earnings call transcripts work with EarningsCalls. There is a single MCP server behind one URL, and the same URL drops into Claude Desktop, claude.ai on the web, Claude Code, Cursor, and any other client that speaks MCP. You do not learn a new integration per app. You learn the connector once.
This guide walks through the client-agnostic pattern first, then gives you the exact steps for each major client. Every path ends the same way: your assistant can search, list, and read across 246,000+ earnings call transcripts from 12,000+ companies in 70 countries, spanning 2020 to the present.
The one thing you need: a connector URL
Before you touch any client, generate your connector URL. This is the only credential you need, because the token is embedded directly in the URL. There is no separate API key to paste, no OAuth dance, no environment variable to manage.
Here is how to get it:
- Open your dashboard.
- Go to Connectors.
- Click Generate.
You will get a URL that looks like this:
https://earningscalls.dev/u/mct_xxxx/mcp
That URL uses streamable HTTP transport. The mct_xxxx segment is your embedded token, so treat the whole URL like a secret. Anyone who has it can query the API on your plan. If it leaks, revoke it from the same Connectors page and generate a fresh one.
Keep this URL handy. Every client section below is just a different way of pasting it in.
Claude Desktop
Claude Desktop supports custom connectors natively, so you do not need to edit any config files.
- Open Settings.
- Go to Connectors.
- Click Add custom connector.
- Paste your connector URL.
That is it. Start a new conversation and ask something like "What did the last few semiconductor companies say about pricing in their latest calls?" Claude will discover the tools and call them for you.
If you want the deeper walkthrough with screenshots and troubleshooting, see how to connect earnings call transcripts to Claude with MCP.
claude.ai (web)
The web app uses the same connector flow as the desktop app, so there is nothing extra to install.
- Open Settings.
- Go to Connectors.
- Click Add custom connector.
- Paste your connector URL.
Because the transport is streamable HTTP, it works entirely in the browser. Once it is added, the connector follows your account, so you get the same earnings data in both the web and desktop apps without configuring it twice.
Claude Code
Claude Code is the terminal client, so you add the connector with a single command instead of a settings menu. Run this in your project or globally:
claude mcp add --transport http earningscalls "https://earningscalls.dev/u/mct_xxxx/mcp"
Swap in your real connector URL. The --transport http flag tells Claude Code to use the streamable HTTP transport, which is what the connector expects. After it is added, ask Claude Code to pull a transcript or search across calls, and it will use the tools inline while you work.
This is a natural fit if you are already scripting analysis, building a research notebook, or wiring earnings data into a larger agent workflow from the command line.
Cursor
Cursor speaks MCP too, so your earnings data shows up right next to your code.
- Open Cursor Settings.
- Find the MCP section.
- Add a new server using the HTTP / streamable transport.
- Point it at your connector URL.
Once Cursor picks up the server, the tools become available to the agent in your editor. You can ask it to fetch a company's latest call or search transcripts for a specific theme without leaving your project.
For a Cursor-specific walkthrough, see earnings call data in Cursor via the MCP connector.
Other MCP clients
Any client that implements MCP follows the same generic pattern, because the protocol is the contract. There is no EarningsCalls-specific SDK to install.
The recipe is always:
- Add a new MCP server in the client.
- Choose the HTTP (streamable HTTP) transport. This is the one to pick; the connector does not use stdio or SSE.
- Set the server URL to your connector URL.
That covers editors, chat frontends, custom agents built on an MCP-capable framework, and anything else that supports remote MCP servers. Because the token is baked into the URL, you usually do not need any additional auth configuration fields. If a client asks for a name, call it earningscalls so it is easy to spot in the tool list.
If a client only supports local stdio servers and not remote HTTP ones, that client cannot use the connector directly. In that case, reach for the REST API instead, covered further down.
What the tools do
Once the connector is live, your assistant gains a set of tools for exploring earnings calls. At a high level they let you:
- Search transcripts across the full corpus for a topic, phrase, or theme, so you can find every mention of, say, "supply chain" or "AI capex" without knowing which company said it.
- List and filter companies and calls, so the assistant can browse by ticker, company, sector, industry, or region before drilling in.
- Fetch a specific earnings call and its transcript, including the latest call for a given ticker when you want the freshest read.
- Pull speaker segments, so you can isolate what a particular executive said and follow the Q&A rather than reading a wall of text.
- Look up dataset stats and recent or upcoming calls, which is handy for scoping a question or catching what just dropped.
Behind those tools sits real coverage, not a demo dataset. You are querying 246,000+ transcripts from 12,000+ companies across 70 countries, 170+ exchanges, and all 11 GICS sectors, with 11M+ speaker segments and history back to 2020. That breadth is what makes cross-company and cross-region questions actually answerable in one prompt.
You can see the full tool list and coverage details on the MCP page, and the complete reference lives in the docs.
Choosing between MCP and the REST API
MCP is the right choice when a language model is the one asking the questions. If your workflow is "let the assistant explore, reason, and pull what it needs," the connector is the shortest path, and it works across every client above with the same URL.
The REST API is the right choice when code is the one asking. If you are building a dashboard, a scheduled job, a data pipeline, or any deterministic integration where you want to control the requests yourself, hit the API directly. The base URL is:
https://earningscalls.dev/api/v1
The full OpenAPI spec is at https://earningscalls.dev/openapi.json, so you can generate a typed client in your language of choice. It is also your fallback for MCP clients that only support local stdio servers.
Both surfaces read from the same corpus, so you are not choosing between two different datasets. You are choosing the interface that fits who or what is driving the query. If you want a deeper comparison of tradeoffs, read MCP vs REST API for earnings call data.
One note on pricing: reading transcripts on the site is free. Programmatic access through the API and MCP is on the paid plans. Pro is $24.99/mo and includes 5,000 requests per month, and Ultra is $39.99/mo with 25,000 requests per month. Both cover MCP and REST from the same quota, so you can mix the connector and the API however your workflow needs. See the full breakdown on the pricing page.
Get connected
The setup is genuinely a two-minute job: generate the connector URL, paste it into your client, and start asking. Because MCP is a standard, that same URL follows you from Claude Desktop to Cursor to Claude Code to whatever tool you adopt next, with no re-integration required.
Head to your dashboard to generate your connector URL, or check the pricing page to pick the plan that fits your volume. Your assistant is about to get a lot more fluent in earnings calls.