Skip to content

MCP server · Documentation

MCP Server Setup

Connect your AI assistant to SEC filing data from EDGAR. Works with Claude, Cursor, ChatGPT and other MCP clients.

Before you start

  • An Earnings Feed account (free plan: 15/min · 5,000/month)
  • An MCP client (Claude, Cursor, ChatGPT and others)
Server URL
https://earningsfeed.com/api/mcp

Setup

Choose your client

Setup for each client, with a link to its own docs.

Claude Desktop

Anthropic's desktop application for Claude

  1. Open Claude Desktop
  2. Go to Settings → Connectors
  3. Click "Add custom connector"
  4. Paste: https://earningsfeed.com/api/mcp
  5. Click "Add"

Uses OAuth—no config files needed. Sign in with your Earnings Feed account when prompted.

Official Claude Desktop MCP docs

Claude Code

Claude in your terminal and IDE

Terminal
claude mcp add --transport http earningsfeed https://earningsfeed.com/api/mcp

Run this command in your terminal. Authorize via browser when prompted.

Official Claude Code MCP docs

Cursor

AI-first code editor

Location
allProject root: .cursor/mcp.json
.cursor/mcp.json
{
  "mcpServers": {
    "earningsfeed": {
      "url": "https://earningsfeed.com/api/mcp"
    }
  }
}

Create the .cursor folder in your project root if it doesn't exist.

Official Cursor MCP docs

VS Code + Cline

Cline extension for Visual Studio Code

  1. Click the Cline icon in the VS Code sidebar
  2. Click the menu (⋮) in the Cline panel
  3. Select "MCP Servers"
  4. Click the "Remote Servers" tab
  5. Enter name: earningsfeed
  6. Enter URL: https://earningsfeed.com/api/mcp
  7. Click "Add Server"

Uses OAuth—sign in with your Earnings Feed account when prompted.

Official VS Code + Cline MCP docs

Windsurf

AI-powered development environment

Location
mac~/.codeium/windsurf/mcp_config.json
windows%USERPROFILE%\.codeium\windsurf\mcp_config.json
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "earningsfeed": {
      "serverUrl": "https://earningsfeed.com/api/mcp"
    }
  }
}

Create the directory if it doesn't exist.

Official Windsurf MCP docs

ChatGPT

OpenAI's ChatGPT with MCP support

  1. Open Settings → Security and login
  2. Turn on Developer mode
  3. Go to chatgpt.com/plugins and select the plus button
  4. Enter a name, description, and MCP URL: https://earningsfeed.com/api/mcp
  5. Create the connection and review the discovered tools

Developer mode availability depends on your account and workspace policy.

Official ChatGPT MCP docs

Authentication

OAuth 2.0 flow

Secure OAuth 2.0 authentication via Clerk. No API keys to manage or rotate.

  1. 01

    First connection

    When your AI client first uses an Earnings Feed tool, it opens a browser window for sign-in.

  2. 02

    Authorize access

    Sign in with your Earnings Feed account and authorize the MCP client to access the API.

  3. 03

    Stay connected

    The OAuth token is stored securely. No re-authentication unless you revoke access.

No API keys needed. Unlike our REST API, MCP uses OAuth so you never manage or rotate keys. Your credentials are handled securely by the OAuth flow.

Reference

Available tools

Every tool your AI assistant can call, with its parameters and an example.

get_company

Get company information by ticker symbol or CIK number

Parameters

NameDescription
tickerstringStock ticker symbol (e.g., 'AAPL')
ciknumberSEC CIK number

Example

Prompt

“Look up Apple's company information”
Response
{
  "cik": 320193,
  "name": "Apple Inc.",
  "primaryTicker": "AAPL",
  "tickers": [{ "symbol": "AAPL", "exchange": "Nasdaq", "isPrimary": true }],
  "sicCodes": [{ "code": "3571", "description": "Electronic Computers" }],
  "stateOfIncorporation": "CA",
  "website": "https://www.apple.com"
}

get_recent_filings

Get recent SEC filings, optionally filtered by company or form type

Parameters

NameDescription
tickerstringFilter by the filer's ticker symbol
ciknumberFilter by filer CIK; takes precedence over ticker
formsstring[]Form types; SC/SCHEDULE aliases match; include /A for amendments
limitnumberNumber of results (default 20, max 100)
cursorstringPagination cursor

Example

Prompt

“Show me NVIDIA's latest 10-K filings”
Response
{
  "items": [
    {
      "accessionNumber": "0001045810-24-000019",
      "formType": "10-K",
      "filedAt": "2024-02-21T00:00:00Z",
      "companyName": "NVIDIA CORP",
      "primaryTicker": "NVDA",
      "cik": 1045810
    }
  ],
  "hasMore": true,
  "nextCursor": "..."
}

get_filing

Get detailed information about a specific SEC filing by accession number

Parameters

NameDescription
accessionstring · requiredSEC accession number (e.g., '0001045810-24-000019')

Example

Prompt

“Get details for filing 0001045810-24-000019”
Response
{
  "accessionNumber": "0001045810-24-000019",
  "formType": "10-K",
  "filedAt": "2024-02-21T00:00:00Z",
  "company": { "name": "NVIDIA CORP" },
  "primaryTicker": "NVDA",
  "documents": [
    {
      "seq": 1,
      "filename": "nvda-20240128.htm",
      "docType": "10-K",
      "isPrimary": true
    }
  ]
}

search_filings

Search SEC filings by company name or ticker symbol

Parameters

NameDescription
querystring · requiredFiler company name or ticker; searches metadata
formsstring[]Form types; SC/SCHEDULE aliases match; include /A for amendments
limitnumberNumber of results (default 20, max 100)
cursorstringPagination cursor; keep the same query and filters

Example

Prompt

“Search for Tesla filings”
Response
{
  "items": [
    {
      "accessionNumber": "...",
      "formType": "10-K",
      "companyName": "Tesla, Inc.",
      "primaryTicker": "TSLA"
    }
  ],
  "hasMore": false,
  "nextCursor": null
}

get_insider_transactions

Get insider trading transactions for a company

Parameters

NameDescription
tickerstringFilter by ticker symbol
ciknumberFilter by company CIK
daysnumberFilter to transactions within last N days (max 36500)
directionstring'buy' includes all acquisitions; 'sell' includes all dispositions
limitnumberNumber of results (default 20, max 100)
cursorstringPagination cursor; keep the same filters

Example

Prompt

“Show me insider sales at NVIDIA this month”
Response
{
  "items": [
    {
      "personName": "Jensen Huang",
      "officerTitle": "Chief Executive Officer",
      "isOfficer": true,
      "transactionCode": "S",
      "shares": "29000.0000",
      "pricePerShare": "875.5000",
      "transactionValue": 25389500,
      "transactionDate": "2024-12-15",
      "acquiredDisposed": "D"
    }
  ]
}

Usage limits

Rate limits

Rate limits are per user and apply across all connected MCP clients.

PlanPer minutePer monthPrice
Free155,000$0
Pro60250,000$15/mo
Trader3002,000,000$75/mo

Rate limit exceeded? Your AI receives a response with retry guidance for minute throttles, or reset and upgrade guidance for the account’s monthly cap. Monthly allowances are hard caps on every plan.

Support

Need help?