Server data from the Official MCP Registry
177,000+ earnings call transcripts for AI - speaker segments & full-text search.
177,000+ earnings call transcripts for AI - speaker segments & full-text search.
Remote endpoints: streamable-http: https://mcp.earningscalls.dev/mcp
18 tools verified · Open access · No issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Remote servers are capped at 8.0 because source code is not available for review. The score reflects endpoint verification only.
Set these up before or after installing:
Environment variable: EARNINGSCALLS_API_KEY
Available as Local & Remote
This plugin can run on your machine or connect to a hosted endpoint. during install.
From the project's GitHub README.
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):
claude mcp add --transport http earningscalls "https://earningscalls.dev/u/<your-token>/mcp"
# add --scope user to make it available in every project
Cursor — .cursor/mcp.json:
{
"mcpServers": {
"earningscalls": {
"url": "https://earningscalls.dev/u/<your-token>/mcp"
}
}
}
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 mcp add earningscalls --transport http https://mcp.earningscalls.dev/mcp \
--header "X-API-Key: ect_your_key_here"
Claude Desktop / Cursor — config:
{
"mcpServers": {
"earningscalls": {
"url": "https://mcp.earningscalls.dev/mcp",
"headers": { "X-API-Key": "ect_your_key_here" }
}
}
}
Runs the server as a local process over stdio.
claude mcp add earningscalls \
--env EARNINGSCALLS_API_KEY=ect_your_key_here \
-- npx -y @earningscalls/mcp-server
Or in a client config:
{
"mcpServers": {
"earningscalls": {
"command": "npx",
"args": ["-y", "@earningscalls/mcp-server"],
"env": { "EARNINGSCALLS_API_KEY": "ect_your_key_here" }
}
}
}
| 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).
npm install
npm run build
npm start # local stdio mode
npm run serve # remote HTTP mode
Source layout:
src/
├── index.ts # stdio entry + preflight (local mode)
├── http.ts # Streamable HTTP entry (remote mode)
├── client.ts # HTTP client for earningscalls.dev API
├── config.ts # env var loading
├── messages.ts # user-facing banners + error hints
└── tools.ts # MCP tool definitions
MIT
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.