market-data-mcp
Real-time financial market data MCP server. Stocks, crypto, technicals, sentiment, FDA calendar. No API keys required.
README
Market Data MCP Server
Real-time financial market data for any MCP-compatible AI assistant. Stocks, crypto, technicals, sentiment, and FDA catalysts — no API keys required.
Features
- 11 financial tools covering equities, crypto, screening, macro, and biotech catalysts
- Zero configuration — no API keys, no accounts, no environment variables
- Three transports — stdio (Claude Desktop), SSE, and Streamable HTTP
- Robust error handling — every tool returns structured JSON, even on failure
- Built-in fallbacks — Fear & Greed index degrades gracefully to a VIX-based proxy
- Production-quality code — type hints, docstrings, logging, and clean architecture
Quick Start
1. Clone the repository
git clone https://github.com/SmashToes/market-data-mcp.git
cd market-data-mcp
2. Install dependencies
pip install -e .
3. Run the server
# For Claude Desktop (stdio transport — the default)
python server.py
# For network access (SSE on port 8100)
python server.py --transport sse --port 8100
# For network access (Streamable HTTP on port 8100)
python server.py --transport streamable-http --port 8100
That's it. No .env file, no API keys, no configuration.
Tool Reference
| Tool | Parameters | Description |
|---|---|---|
get_stock_quote |
ticker (str) |
Real-time stock price, change, volume, market cap, PE ratio, 52-week range, sector |
get_crypto_price |
symbol (str) |
Cryptocurrency price via CoinGecko with 24h/7d/30d changes, market cap, ATH distance |
get_market_movers |
none | Today's top 10 gainers and losers from a universe of 60+ liquid stocks |
get_sector_performance |
none | All 11 S&P 500 sector ETFs with 1-day, 5-day, and 1-month returns |
get_earnings_calendar |
days_ahead (int, default 7) |
Upcoming earnings reports with EPS and revenue estimates |
get_technical_indicators |
ticker (str) |
RSI, MACD, SMA (20/50/200), EMA, Bollinger Bands, volume analysis, signal interpretation |
get_fear_greed_index |
none | CNN Fear & Greed Index (0-100) with historical comparison and VIX fallback |
get_fda_calendar |
none | Upcoming FDA PDUFA drug approval dates — major biotech catalysts |
screen_stocks |
market, sector, min_price, max_price, min_volume, min_market_cap, sort_by, limit |
TradingView stock screener with filters for market, sector, price, volume, and technicals |
screen_crypto |
min_volume, min_market_cap, sort_by, limit |
TradingView crypto screener with market cap filtering to exclude DEX noise |
top_movers |
market, min_price, min_volume, count |
Market-wide top gainers, losers, and most active via TradingView screener engine |
Example Output
Stock Quote
> get_stock_quote("NVDA")
{
"ticker": "NVDA",
"name": "NVIDIA Corporation",
"price": 131.28,
"change": 3.45,
"change_percent": "+2.70%",
"volume": "312.5M",
"market_cap": "3.22T",
"pe_ratio": 64.12,
"52w_high": 153.13,
"52w_low": 47.32,
"sector": "Technology"
}
Technical Indicators
> get_technical_indicators("AAPL")
{
"ticker": "AAPL",
"price": 232.15,
"rsi_14": 58.4,
"rsi_signal": "Neutral",
"macd": {
"macd_line": 1.2834,
"signal_line": 0.9621,
"histogram": 0.3213
},
"bollinger_bands": {
"upper": 238.50,
"middle": 229.30,
"lower": 220.10
},
"signals": [
"RSI Neutral (58.4)",
"MACD bullish",
"Golden Cross (SMA 50 > 200)"
]
}
Fear & Greed Index
> get_fear_greed_index()
{
"score": 38,
"rating": "Fear",
"classification": "Fear",
"previous_close": 35,
"one_week_ago": 29,
"one_month_ago": 52
}
Use with Claude Desktop
Add the following to your Claude Desktop configuration file:
| Platform | Config Location |
|---|---|
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
{
"mcpServers": {
"market-data": {
"command": "python",
"args": ["/absolute/path/to/market-data-mcp/server.py"],
"env": {}
}
}
}
Restart Claude Desktop. The tools icon (hammer) will appear in the chat input area, confirming the server is connected.
Use with Claude Code (CLI)
claude mcp add market-data -- python /path/to/market-data-mcp/server.py
Or connect to a running network server:
claude mcp add market-data --transport sse http://localhost:8100/sse
Example Prompts
Once connected, try asking Claude:
- "What's the current price of NVDA?"
- "Show me the top market movers today"
- "Give me technical analysis on AAPL"
- "What's the Fear & Greed index right now?"
- "Which sectors are performing best this week?"
- "What earnings are coming up in the next 14 days?"
- "Show me the price of Bitcoin and Solana"
- "Any upcoming FDA approval dates for biotech stocks?"
- "Screen for healthcare stocks with volume over 1M"
- "What are the top crypto gainers right now?"
- "Show me the biggest stock losers in the US market today"
Architecture
market-data-mcp/
├── server.py # MCP server — all 11 tools in a single file
├── demo.py # Standalone demo (no MCP client needed)
├── pyproject.toml # Package metadata and dependencies
├── data/
│ └── fda_calendar.json # Curated FDA PDUFA dates
├── .github/
│ └── FUNDING.yml # Sponsor configuration
├── LICENSE # MIT License
├── .gitignore
└── README.md
Design Decisions
- Single-file server. All tools live in
server.pyfor maximum portability. Clone, install, run — no package structure to navigate. - No API keys. Every data source is free and public. yfinance (Yahoo Finance), CoinGecko free tier, CNN public endpoint, and a bundled JSON file for FDA dates.
- Graceful degradation. If the CNN Fear & Greed endpoint is down, the tool automatically falls back to a VIX-based proxy score. If a stock ticker is invalid, the tool returns a structured error — never an exception.
- Read-only annotations. Every tool is annotated with
readOnlyHint=true, signaling to MCP clients that these tools have no side effects and are safe to call without user confirmation.
Data Sources
| Source | Used For | Rate Limits |
|---|---|---|
| yfinance | Stocks, ETFs, earnings, technicals | Generous (Yahoo Finance) |
| CoinGecko API | Cryptocurrency prices | 10-30 req/min (free tier) |
| tvscreener | Stock & crypto screening | TradingView screener API |
| CNN Fear & Greed | Market sentiment | Public endpoint |
| Bundled JSON | FDA PDUFA calendar | No limits (local file) |
Updating the FDA Calendar
The FDA calendar lives in data/fda_calendar.json. Each entry follows this schema:
{
"ticker": "VKTX",
"company": "Viking Therapeutics",
"drug": "VK2735",
"indication": "Obesity",
"pdufa_date": "2026-03-15",
"catalyst_type": "Phase 3 Data",
"notes": "Oral obesity candidate"
}
Add or remove entries as new PDUFA dates are announced.
Contributing
Contributions are welcome. Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/add-options-flow) - Make your changes
- Test with Claude Desktop or the standalone
demo.py - Submit a pull request
Ideas for Contribution
- New tools: Options flow, insider trading activity, IPO calendar, economic indicators
- Data sources: Alpha Vantage, Polygon.io, or FRED for macroeconomic data
- Caching layer: Add TTL-based caching to reduce API calls for repeated queries
- Docker support: Containerize the SSE/HTTP server for cloud deployment
Requirements
- Python 3.10+
- Internet connection (for live market data)
- No API keys needed
License
MIT -- Copyright 2026 Nathan
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。