The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the EarningsCalls.dev listing page.
Website · MCP setup guide · API docs · License: MIT
Model Context Protocol server that gives AI agents direct access to the EarningsCalls.dev dataset — 177,000+ earnings call transcripts from 17,000+ companies across 70 countries and 170+ exchanges (2020 to present), with 11M+ speaker segments cleanly tagged by role (Executive / Analyst / Operator / Attendee / Shareholder), full-text search, and more.
Ask Claude (or any MCP-capable client) about any earnings call in natural language:
"What did NVIDIA's CFO say about data center growth in their last call?" "Compare Tesla's gross-margin commentary across the last four quarters." "Find S&P 500 companies that mentioned 'tariffs' in their Q2 2026 calls."
Built as a thin MCP wrapper around the public REST API at https://earningscalls.dev/api/v1. New calls land within minutes of the call ending.
Two remote options (zero install, recommended) and one local option.
The easiest path: a personal connector URL with the token embedded, so there's no API-key header to manage.
https://earningscalls.dev/u/<your-token>/mcp.Claude Desktop / claude.ai (web): Settings → Connectors → Add custom connector → paste the URL → Add. (On the web, leave the OAuth fields empty and confirm the consent popup.)
Claude Code (CLI):
Cursor — .cursor/mcp.json:
Each connector URL is independently revocable — generate one per device or workspace.
Point your client at the hosted endpoint and pass your API key (ect_...) via the X-API-Key header.
Claude Code (CLI):
Claude Desktop / Cursor — config:
Runs the server as a local process over stdio.
Or in a client config:
| Earnings call transcripts | 177,000+ |
| Companies | 17,000+ |
| Countries / exchanges | 70 / 170+ |
| History | 2020 – present (5+ years) |
| Speaker segments | 11M+ (Executive / Analyst / Operator / Attendee / Shareholder) |
| Sectors | All 11 GICS sectors |
| Freshness | New calls within minutes of the call ending |
| Tool | Description |
|---|---|
get_dataset_stats | Total counts and date range — call first to understand coverage. |
list_latest_calls | Most recent calls, optionally filtered by sector. |
list_recent_transcripts | Recently added transcripts. |
list_calls_by_ticker | All calls for a ticker (e.g. PLTR, AAPL), newest first. |
get_latest_call_for_ticker | Single most recent call for a ticker. |
get_company_by_name | Look up a company by full/partial name. |
list_companies | Browse / search companies. |
list_upcoming_earnings | Scheduled calls in the next N days. |
get_earnings_call | Metadata for a single call. |
get_transcript | Full text of a call — format full, summary, or components. |
get_speaker_segments | Speaker segments with role filter (Executive / Analyst / Operator …). |
search_transcripts | Full-text search across all transcripts and speaker segments. |
search_within_ticker | Full-text search scoped to one ticker. |
list_sectors / list_industries | Discover filter dimensions. |
| Variable | Required | Default |
|---|---|---|
EARNINGSCALLS_API_KEY | yes | — |
EARNINGSCALLS_BASE_URL | no | https://earningscalls.dev |
| Variable | Required | Default |
|---|---|---|
PORT | no | 3000 |
EARNINGSCALLS_BASE_URL | no | https://earningscalls.dev |
In remote mode the API key is provided per session by the connecting client — either embedded in the connector URL (Option A) or via the X-API-Key header (Option B).
Source layout:
MIT