Prepare the server locally
Run this once before adding it to Claude Code.
git clone https://github.com/ach968/finnhub-mcp
cd finnhub-mcpThen follow the repository README for any remaining dependency or build steps.
Add it to Claude Code
Paste the maintainer's config below, then edit any placeholder values.
{
"mcp": {
"finnhub": {
"type": "local",
"command": [
"npx",
"github:ach968/finnhub-mcp"
],
"environment": {
"FINNHUB_API_KEY": "YOUR_API_KEY"
},
"enabled": true
}
}
}See the finnhub-mcp README for full setup instructions.
FINNHUB_API_KEYMake your agent remember this setup
finnhub-mcp's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.
npx conare@latestFree · one command · indexes the sessions already on disk. Set up in the browser instead →
What it does
- Retrieve upcoming and historical earnings announcements
- Access EPS estimates, actuals, and revenue data
- Filter earnings data by stock symbol
- Simple API key-based authentication
- Type-safe implementation with Zod validation
Tools 1
finnhub.calendar.earningsGet earnings calendar for a date range.Environment Variables
FINNHUB_API_KEYrequiredFinnhub API keyTry it
Original README from ach968/finnhub-mcp
Finnhub MCP Server
A Model Context Protocol (MCP) server wrapping the Finnhub API for financial market data.
Features
- Earnings Calendar: Get upcoming and historical earnings announcements with EPS estimates, actuals, and revenue data
- API Key Authentication: Simple API key-based authentication via CLI or environment variables
- Type-safe: Full TypeScript support with Zod validation
- Bun-native: Optimized for Bun runtime
Installation
Using npx with GitHub (recommended)
Run directly from GitHub without cloning or installing:
npx github:ach968/finnhub-mcp --api-key YOUR_FINNHUB_API_KEY
Local Development
# Clone the repository
git clone https://github.com/ach968/finnhub-mcp.git
cd finnhub-mcp
# Install dependencies
bun install
# Run in development mode
bun run dev -- --api-key YOUR_FINNHUB_API_KEY
OpenCode Configuration
Add to your OpenCode config (~/.config/opencode/opencode.json):
Using npx with GitHub
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"finnhub": {
"type": "local",
"command": [
"npx",
"github:ach968/finnhub-mcp",
"--api-key",
"YOUR_FINNHUB_API_KEY"
],
"enabled": true
}
}
}
Using Environment Variables
{
"mcp": {
"finnhub": {
"type": "local",
"command": [
"npx",
"github:ach968/finnhub-mcp"
],
"environment": {
"FINNHUB_API_KEY": "YOUR_API_KEY"
},
"enabled": true
}
}
}
Available Tools
`finnhub.calendar.earnings`
Get earnings calendar for a date range.
Parameters:
from(optional): Start date inYYYY-MM-DDformat (defaults to today)to(optional): End date inYYYY-MM-DDformat (defaults to 7 days from start)symbol(optional): Filter by stock symbol (e.g., "AAPL")
Example Response:
{
"data": [
{
"date": "2024-01-25",
"symbol": "AAPL",
"quarter": "Q1",
"fiscalYear": 2024,
"time": "amc",
"eps": {
"estimate": 2.11,
"actual": 2.18,
"surprise": 0.07,
"surprisePercent": 3.32
},
"revenue": {
"estimate": 117900000000,
"actual": 119580000000,
"surprise": 1680000000,
"surprisePercent": 1.42
}
}
],
"count": 1,
"dateRange": {
"from": "2024-01-25",
"to": "2024-01-25"
}
}
Time Values:
bmo: Before Market Openamc: After Market Closedmh: During Market Hours
CLI Arguments
| Argument | Environment Variable | Description |
|---|---|---|
--api-key |
FINNHUB_API_KEY |
Finnhub API key (required) |
CLI arguments take priority over environment variables.
Development
Scripts
# Development with hot reload
bun run dev
# Build for production
bun run build
# Type checking
bun run typecheck
# Run the built version
bun run start -- --api-key YOUR_KEY
Project Structure
src/
├── index.ts # Main MCP server entry point
├── finnhub-client.ts # Finnhub API client
└── types.ts # TypeScript types and Zod schemas
API Key
Get your free API key from Finnhub.
License
MIT
Disclaimer
This project uses the Finnhub API but is not affiliated with, endorsed by, or connected to Finnhub in any way. Use this software at your own risk.