π StockMCP
A comprehensive Model Context Protocol (MCP) server for real-time stock market data using Yahoo Finance
StockMCP provides a powerful, JSON-RPC 2.0 compliant interface for accessing comprehensive stock market data, built on the Model Context Protocol standard. Perfect for AI applications, financial analysis tools, and trading bots.
π Free Hosted Endpoint
Use StockMCP immediately without any setup! We provide a free hosted endpoint at:
Endpoint:
https://stockmcp.leoguerin.fr/mcpNo API key required - Just add to your MCP client configuration
Claude Desktop Configuration
For immediate access, use this configuration in your claude_desktop_config.json:
Configuration file locations:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\\Claude\\claude_desktop_config.json
Related MCP server: YFinance Trader MCP Tool
π οΈ Available Tools
Tool Name | Description |
| Retrieve current market data including price, volume, market cap, and key financial ratios |
| Access comprehensive financial statements (income, balance sheet, cash flow) and calculated ratios |
| Get historical OHLCV data with optional total return calculation including reinvested dividends |
| Analyze dividend payment history and corporate actions with quality metrics and consistency scoring |
| Get analyst price targets, consensus ratings (Buy/Hold/Sell), and EPS forecasts from professional analysts |
| Forward growth projections for revenue, earnings (EPS), and free cash flow with 1-year, 3-year, and 5-year CAGR estimates |
π Quick Start
API Key Setup
Get a free Alpha Vantage API key: Visit https://www.alphavantage.co/support/#api-key
Configure environment:
# Copy the example environment file cp .env.example .env # Edit .env and add your API key ALPHAVANTAGE_KEY=your-actual-api-key-here
Using Docker (Recommended)
Local Development
MCP Client Integration
Once your server is running, integrate it with MCP clients:
Claude Desktop
Edit the configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add this configuration:
Cursor
Add to your MCP configuration:
Other MCP Clients
For any MCP-compatible client, use:
Endpoint:
http://localhost:3001/mcpProtocol: JSON-RPC 2.0 over HTTP
Tools: Available via
tools/listmethod
π Usage
StockMCP implements the Model Context Protocol (MCP) for seamless integration with AI applications. Once running, the server provides:
Endpoint:
http://localhost:3001/mcpProtocol: JSON-RPC 2.0 over HTTP
Discovery: Use
tools/listto get available toolsExecution: Use
tools/callto execute tools with parameters
For detailed API examples and JSON schemas, access the interactive documentation at http://localhost:3001/mcp/docs when the server is running.
π οΈ Development
Project Structure
Running Tests
Dependencies
Core Dependencies:
FastAPI - Modern web framework for APIs
Pydantic - Data validation using Python type hints
yfinance - Yahoo Finance data retrieval (primary data source)
pandas - Data manipulation and analysis
scipy - Scientific computing (required by yfinance)
Development Dependencies:
pytest - Testing framework
httpx - HTTP client for testing
pytest-mock - Mocking utilities
π³ Docker Deployment
Build and Run
Environment Configuration
The container exposes the API on port 3001 by default. You can customize this:
π§ Configuration
Server Configuration
The server can be configured through environment variables:
LOG_LEVEL- Logging level (DEBUG, INFO, WARNING, ERROR)HOST- Server host (default: 0.0.0.0)PORT- Server port (default: 3001)
API Limits & Data Sources
Primary Data Source: Yahoo Finance (yfinance)
Free tier with reasonable rate limits
Real-time and historical data
No API key required for basic usage
Secondary Data Source: Alpha Vantage (optional)
Enhanced earnings estimates and forecasts
Requires free API key for extended features
Graceful fallback when unavailable
Production Recommendations:
Implement request caching
Add retry logic with exponential backoff
Monitor API usage patterns
Consider data source redundancy
π€ Contributing
We welcome contributions! Here's how to get started:
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Make your changes with proper tests
Run the test suite (
uv run pytest)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
Development Guidelines
Type Hints - All functions should have proper type annotations
Tests - New features must include comprehensive tests
Documentation - Update README and docstrings for any API changes
Code Style - Follow PEP 8 and use meaningful variable names
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Acknowledgments
Yahoo Finance - For providing free stock market data
Model Context Protocol - For the excellent protocol specification
FastAPI - For the amazing web framework
Pydantic - For robust data validation
π Support
π Bug Reports - Open an issue
π‘ Feature Requests - Start a discussion
π Documentation - Check our comprehensive API docs
π¬ Community - Join our discussions for help and ideas
Made with β€οΈ for the financial data community by