stock-research-mcp
Provides comprehensive stock research and trading execution for Claude, aggregating data from Alpha Vantage, Finnhub, and Alpaca APIs.
README
Stock Research MCP Server
An MCP (Model Context Protocol) server that provides comprehensive stock research tools for Claude. Aggregates data from Alpha Vantage and Finnhub APIs.
Features
- Real-time quotes and historical price data
- Company profiles and fundamental analysis
- Technical indicators (SMA, EMA, RSI, MACD, Bollinger Bands)
- Support/resistance level calculations
- Analyst ratings and price targets
- News sentiment analysis
- Insider trading activity
- Macro economic indicators
- Deep research reports combining all data sources
- Trading execution via Alpaca (paper and live trading)
Installation
- Clone the repository:
cd stock-research-mcp
- Create a virtual environment and install the package:
uv venv .venv
source .venv/bin/activate
uv pip install -e ".[dev]"
- Configure API keys in
.env:
ALPHA_VANTAGE_API_KEY=your_key_here
FINNHUB_API_KEY=your_key_here
# Alpaca Trading (optional)
ALPACA_API_KEY=your_key_here
ALPACA_SECRET_KEY=your_secret_here
ALPACA_PAPER=true # Set to false for live trading
# Risk Controls (optional)
TRADING_MAX_ORDER_VALUE=5000
TRADING_MAX_POSITION_SIZE=10000
TRADING_ALLOWED_SYMBOLS=AAPL,MSFT,GOOGL # Leave empty for all symbols
Get free API keys at:
- Alpha Vantage: https://www.alphavantage.co/support/#api-key
- Finnhub: https://finnhub.io/register
- Alpaca: https://alpaca.markets/ (free paper trading account)
Usage with Claude Code
Add to your Claude Code MCP configuration:
claude mcp add stock-research -- .venv/bin/python -m stock_research.server
Or use the installed script:
claude mcp add stock-research -- .venv/bin/stock-research-mcp
Or manually add to ~/.claude/mcp.json:
{
"mcpServers": {
"stock-research": {
"command": "/path/to/stock-research-mcp/.venv/bin/stock-research-mcp"
}
}
}
Available Tools
Market Data
get_quote(ticker)- Real-time quoteget_historical_prices(ticker, timeframe, interval)- Historical OHLCV data
Company Analysis
get_company_profile(ticker)- Company overviewget_financials(ticker)- Key financial metrics and ratiosget_earnings(ticker)- Earnings history and surprises
Technical Analysis
get_technical_indicators(ticker, indicators)- SMA, EMA, RSI, MACD, BBandsget_support_resistance(ticker, lookback_days)- Support/resistance levels
Sentiment & Activity
get_news_sentiment(ticker, limit)- News articles with sentimentget_insider_trades(ticker)- Insider buying/sellingget_analyst_ratings(ticker)- Analyst consensus and price targets
Macro
get_macro_context()- Economic indicators (Fed rate, yields, GDP, CPI)
Research
generate_deep_research(ticker, research_type)- Comprehensive research report
Trading (Alpaca)
get_trading_account()- Account info, buying power, equityget_positions()- All open positionsget_position(symbol)- Position for specific symbolplace_market_order(symbol, qty, side)- Market orderplace_limit_order(symbol, qty, side, limit_price)- Limit orderplace_stop_order(symbol, qty, side, stop_price)- Stop orderplace_stop_limit_order(symbol, qty, side, stop_price, limit_price)- Stop-limit orderget_orders(status)- List orders (open/closed/all)cancel_order(order_id)- Cancel specific ordercancel_all_orders()- Cancel all open ordersclose_position(symbol)- Close position for symbolclose_all_positions()- Liquidate all positionsget_trading_config()- View current risk limits
Development
Run tests:
pytest
Example Usage
Once configured, ask Claude:
"Give me a deep research report on NVDA"
"What's the current price and technical setup for AAPL?"
"Show me analyst ratings for MSFT"
"What's the macro environment looking like?"
Trading Examples
"Show me my current positions"
"Buy 10 shares of AAPL at market"
"Place a limit order for 5 shares of MSFT at $400"
"Set a stop loss on my NVDA position at $120"
"What's my account buying power?"
⚠️ Warning: Trading involves real money. Start with paper trading (
ALPACA_PAPER=true) to test your strategies. The server includes risk controls but you are responsible for your trades.
Rate Limits
- Alpha Vantage Free Tier: 25 API calls/day
- Finnhub Free Tier: 60 API calls/minute
The server uses aggressive caching to stay within free tier limits.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.