Skip to content
MCP ThesaurusMCP Thesaurus

EarningsCalls dev

CommunityGood73/100Claim

npm @earningscalls/mcp-serverstreamable-httpupdated 2mo ago

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.

SourceWebsite

What can you do with EarningsCalls dev?

EarningsCalls MCP Server

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.


Requirements

  • A paid EarningsCalls subscription (Pro, Ultra, or Enterprise). The free test key does not work here โ€” grab a plan at earningscalls.dev/#pricing (from $24.99/month).
  • For the local method only: Node.js 18+.

Installation

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.

  1. Go to earningscalls.dev/dashboard โ†’ Connectors โ†’ Generate.
  2. Copy the URL โ€” it looks like 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.

Option B โ€” API-key header

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" }
    }
  }
}

Option C โ€” Local (via npx)

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" }
    }
  }
}

Coverage

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

Available Tools

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.

Environment Variables

Local mode (stdio)

Variable Required Default
EARNINGSCALLS_API_KEY yes โ€”
EARNINGSCALLS_BASE_URL no https://earningscalls.dev

Remote mode (HTTP)

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).


Development

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

License

MIT