🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@earningscalls/mcp-server

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@earningscalls/mcp-server

Model Context Protocol server for EarningsCalls.dev — gives AI agents direct access to earnings call transcripts, speaker segments, and search.

latest
Source
npmnpm
Version
0.2.1
Version published
Maintainers
1
Created
Source

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.

  • Go to earningscalls.dev/dashboardConnectorsGenerate.
  • 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 transcripts177,000+
Companies17,000+
Countries / exchanges70 / 170+
History2020 – present (5+ years)
Speaker segments11M+ (Executive / Analyst / Operator / Attendee / Shareholder)
SectorsAll 11 GICS sectors
FreshnessNew calls within minutes of the call ending

Available Tools

ToolDescription
get_dataset_statsTotal counts and date range — call first to understand coverage.
list_latest_callsMost recent calls, optionally filtered by sector.
list_recent_transcriptsRecently added transcripts.
list_calls_by_tickerAll calls for a ticker (e.g. PLTR, AAPL), newest first.
get_latest_call_for_tickerSingle most recent call for a ticker.
get_company_by_nameLook up a company by full/partial name.
list_companiesBrowse / search companies.
list_upcoming_earningsScheduled calls in the next N days.
get_earnings_callMetadata for a single call.
get_transcriptFull text of a call — format full, summary, or components.
get_speaker_segmentsSpeaker segments with role filter (Executive / Analyst / Operator …).
search_transcriptsFull-text search across all transcripts and speaker segments.
search_within_tickerFull-text search scoped to one ticker.
list_sectors / list_industriesDiscover filter dimensions.

Environment Variables

Local mode (stdio)

VariableRequiredDefault
EARNINGSCALLS_API_KEYyes
EARNINGSCALLS_BASE_URLnohttps://earningscalls.dev

Remote mode (HTTP)

VariableRequiredDefault
PORTno3000
EARNINGSCALLS_BASE_URLnohttps://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

Keywords

mcp

FAQs

Package last updated on 02 Jul 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts