{
  "markdown": "# EarningsCalls MCP Server\n\n[Website](https://earningscalls.dev) · [MCP setup guide](https://earningscalls.dev/mcp) · [API docs](https://earningscalls.dev/docs) · License: MIT\n\nModel Context Protocol server that gives AI agents direct access to the [EarningsCalls.dev](https://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.\n\nAsk Claude (or any MCP-capable client) about any earnings call in natural language:\n\n> *\"What did NVIDIA's CFO say about data center growth in their last call?\"*\n> *\"Compare Tesla's gross-margin commentary across the last four quarters.\"*\n> *\"Find S&P 500 companies that mentioned 'tariffs' in their Q2 2026 calls.\"*\n\nBuilt 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.\n\n---\n\n## Requirements\n\n- A **paid EarningsCalls subscription** (Pro, Ultra, or Enterprise). The free test key does not work here — grab a plan at [earningscalls.dev/#pricing](https://earningscalls.dev/#pricing) (from $24.99/month).\n- For the local method only: **Node.js 18+**.\n\n---\n\n## Installation\n\nTwo remote options (zero install, recommended) and one local option.\n\n### Option A — Connector URL (recommended)\n\nThe easiest path: a personal connector URL with the token embedded, so there's **no API-key header to manage**.\n\n1. Go to [earningscalls.dev/dashboard](https://earningscalls.dev/dashboard) → **Connectors** → **Generate**.\n2. Copy the URL — it looks like `https://earningscalls.dev/u/<your-token>/mcp`.\n\n**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.)\n\n**Claude Code (CLI):**\n\n```bash\nclaude mcp add --transport http earningscalls \"https://earningscalls.dev/u/<your-token>/mcp\"\n# add --scope user to make it available in every project\n```\n\n**Cursor** — `.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"earningscalls\": {\n      \"url\": \"https://earningscalls.dev/u/<your-token>/mcp\"\n    }\n  }\n}\n```\n\nEach connector URL is independently revocable — generate one per device or workspace.\n\n### Option B — API-key header\n\nPoint your client at the hosted endpoint and pass your API key (`ect_...`) via the `X-API-Key` header.\n\n**Claude Code (CLI):**\n\n```bash\nclaude mcp add earningscalls --transport http https://mcp.earningscalls.dev/mcp \\\n  --header \"X-API-Key: ect_your_key_here\"\n```\n\n**Claude Desktop / Cursor** — config:\n\n```json\n{\n  \"mcpServers\": {\n    \"earningscalls\": {\n      \"url\": \"https://mcp.earningscalls.dev/mcp\",\n      \"headers\": { \"X-API-Key\": \"ect_your_key_here\" }\n    }\n  }\n}\n```\n\n### Option C — Local (via npx)\n\nRuns the server as a local process over stdio.\n\n```bash\nclaude mcp add earningscalls \\\n  --env EARNINGSCALLS_API_KEY=ect_your_key_here \\\n  -- npx -y @earningscalls/mcp-server\n```\n\nOr in a client config:\n\n```json\n{\n  \"mcpServers\": {\n    \"earningscalls\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@earningscalls/mcp-server\"],\n      \"env\": { \"EARNINGSCALLS_API_KEY\": \"ect_your_key_here\" }\n    }\n  }\n}\n```\n\n---\n\n## Coverage\n\n| | |\n|---|---|\n| Earnings call transcripts | **177,000+** |\n| Companies | **17,000+** |\n| Countries / exchanges | **70 / 170+** |\n| History | **2020 – present** (5+ years) |\n| Speaker segments | **11M+** (Executive / Analyst / Operator / Attendee / Shareholder) |\n| Sectors | All **11 GICS** sectors |\n| Freshness | New calls within minutes of the call ending |\n\n---\n\n## Available Tools\n\n| Tool | Description |\n|---|---|\n| `get_dataset_stats` | Total counts and date range — call first to understand coverage. |\n| `list_latest_calls` | Most recent calls, optionally filtered by sector. |\n| `list_recent_transcripts` | Recently added transcripts. |\n| `list_calls_by_ticker` | All calls for a ticker (e.g. `PLTR`, `AAPL`), newest first. |\n| `get_latest_call_for_ticker` | Single most recent call for a ticker. |\n| `get_company_by_name` | Look up a company by full/partial name. |\n| `list_companies` | Browse / search companies. |\n| `list_upcoming_earnings` | Scheduled calls in the next N days. |\n| `get_earnings_call` | Metadata for a single call. |\n| `get_transcript` | Full text of a call — format `full`, `summary`, or `components`. |\n| `get_speaker_segments` | Speaker segments with role filter (Executive / Analyst / Operator …). |\n| `search_transcripts` | Full-text search across all transcripts and speaker segments. |\n| `search_within_ticker` | Full-text search scoped to one ticker. |\n| `list_sectors` / `list_industries` | Discover filter dimensions. |\n\n---\n\n## Environment Variables\n\n### Local mode (stdio)\n\n| Variable | Required | Default |\n|---|---|---|\n| `EARNINGSCALLS_API_KEY` | **yes** | — |\n| `EARNINGSCALLS_BASE_URL` | no | `https://earningscalls.dev` |\n\n### Remote mode (HTTP)\n\n| Variable | Required | Default |\n|---|---|---|\n| `PORT` | no | `3000` |\n| `EARNINGSCALLS_BASE_URL` | no | `https://earningscalls.dev` |\n\nIn 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).\n\n---\n\n## Development\n\n```bash\nnpm install\nnpm run build\n\nnpm start    # local stdio mode\nnpm run serve # remote HTTP mode\n```\n\nSource layout:\n\n```\nsrc/\n├── index.ts      # stdio entry + preflight (local mode)\n├── http.ts       # Streamable HTTP entry (remote mode)\n├── client.ts     # HTTP client for earningscalls.dev API\n├── config.ts     # env var loading\n├── messages.ts   # user-facing banners + error hints\n└── tools.ts      # MCP tool definitions\n```\n\n---\n\n## License\n\nMIT\n",
  "bytes": 5831,
  "sha": "0783dcc52986038ccf70bb5f255ba35d5b6dc3b335bfda4c53607ff50f6823df",
  "repo_slug": "stockmarketscan/earningscalls-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_stockmarketscan_earningscalls__c2ed2437/readme"
}