Choose Your Client
Select your AI client below for tailored setup instructions.
Claude Desktop
Anthropic's desktop application for Claude
Config
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.
Claude Code
Claude in your terminal and IDE
Command
claude mcp add --transport http earningsfeed https://earningsfeed.com/api/mcpRun this command in your terminal. Authorize via browser when prompted.
Cursor
AI-first code editor
Location
Project root: .cursor/mcp.jsonConfig
{
"mcpServers": {
"earningsfeed": {
"url": "https://earningsfeed.com/api/mcp"
}
}
}Create the .cursor folder in your project root if it doesn't exist.
VS Code + Cline
Cline extension for Visual Studio Code
Config
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.
Windsurf
AI-powered development environment
Location
~/.codeium/windsurf/mcp_config.json%USERPROFILE%\.codeium\windsurf\mcp_config.jsonConfig
{
"mcpServers": {
"earningsfeed": {
"serverUrl": "https://earningsfeed.com/api/mcp"
}
}
}Create the directory if it doesn't exist.
ChatGPT
OpenAI's ChatGPT with MCP support
Config
1. Go to Settings → Apps
2. Enable Developer mode in Advanced Settings
3. Click "Create" to add a new app
4. Enter URL: https://earningsfeed.com/api/mcp
5. Click "Create"Requires ChatGPT Business, Enterprise, or Edu subscription.
OAuth 2.0 Flow
Secure OAuth 2.0 authentication via Clerk. No API keys to manage or rotate.
First connection
When your AI client first uses an Earnings Feed tool, it opens a browser window for sign-in.
Authorize access
Sign in with your Earnings Feed account and authorize the MCP client to access the API.
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.
Available Tools
Complete documentation for all MCP tools. Each tool is callable by your AI assistant.
get_companyLook up a company by ticker symbol or CIK number
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
ticker | string | No | Stock ticker symbol (e.g., 'AAPL') |
cik | number | No | SEC 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_filingsGet recent SEC filings with optional filters
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
ticker | string | No | Filter by ticker symbol |
cik | number | No | Filter by CIK number |
forms | string[] | No | Filter by form types (e.g., ['10-K', '8-K']) |
limit | number | No | Number of results (default 20, max 100) |
cursor | string | No | Pagination cursor |
Example
Prompt
“Show me NVIDIA's latest 10-K filings”
Response
{
"items": [
{
"accessionNumber": "0001045810-24-000019",
"formType": "10-K",
"filedAt": "2024-02-21T16:05:00Z",
"companyName": "NVIDIA CORP",
"primaryTicker": "NVDA",
"cik": 1045810
}
],
"hasMore": true,
"nextCursor": "..."
}get_filingGet detailed information about a specific filing
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
accession | string | Yes | SEC 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-21T16:05:00Z",
"companyName": "NVIDIA CORP",
"primaryTicker": "NVDA",
"documents": [
{
"seq": 1,
"filename": "nvda-20240128.htm",
"docType": "10-K",
"isPrimary": true
}
]
}search_filingsSearch for companies by name or ticker
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search query (company name or ticker) |
forms | string[] | No | Filter by form types |
limit | number | No | Number of results (default 20, max 100) |
Example
Prompt
“Search for Tesla filings”
Response
{
"items": [
{
"accessionNumber": "...",
"formType": "10-K",
"companyName": "Tesla, Inc.",
"primaryTicker": "TSLA"
}
],
"hasMore": false
}get_insider_transactionsGet insider trading transactions
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
ticker | string | No | Filter by ticker symbol |
cik | number | No | Filter by company CIK |
days | number | No | Filter to transactions within last N days |
direction | string | No | Filter by 'buy' or 'sell' |
limit | number | No | Number of results (default 20, max 100) |
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,
"pricePerShare": 875.50,
"transactionValue": 25389500,
"transactionDate": "2024-12-15",
"acquiredDisposed": "D"
}
]
}Rate Limits
Rate limits are per-user and apply across all connected MCP clients.
| Plan | Rate Limit | Price |
|---|---|---|
| Free | 15 req/min | $0 |
| ProPopular | 60 req/min | $15/mo |
| Trader | 300 req/min | $75/mo |
Rate limit exceeded?
Your AI receives a helpful message explaining the limit and how to upgrade. The request won't fail—it returns an informative response.
Need Help?
Having trouble connecting? Here are some resources.