📈 Stock Market Real-Time Analyzer
A comprehensive Python tool for fetching and analyzing real-time stock market data from multiple public APIs. Features include a command-line interface, web dashboards, and an MCP (Model Context Protocol) server for AI assistant integration.
✨ Features
- Multi-Source Data Fetching: Get stock data from Yahoo Finance, Alpha Vantage, and Finnhub
- Real-Time Analysis: Compare prices across different sources
- Multiple Interfaces:
- Command-line tool
- Web dashboard (Flask)
- Standalone HTML dashboard
- Streamlit dashboard
- MCP server for AI assistants (Claude, Kiro)
- Comprehensive Data: Price, change, volume, market cap, day high/low, and more
- Easy Integration: Works with Claude Desktop and other MCP-compatible clients
🚀 Quick Start
Installation
# Clone the repository
git clone https://github.com/YOUR_USERNAME/stock-market-analyzer.git
cd stock-market-analyzer
# Install dependencies
pip install -r requirements.txt
Basic Usage
Command Line:
python main.py AAPL GOOGL MSFT
Standalone Dashboard:
open standalone_dashboard.html
Web Dashboard:
python web_dashboard.py
# Open http://127.0.0.1:8080
🔑 API Keys (Optional)
Yahoo Finance works without API keys. For additional sources:
- Copy
.env.exampleto.env - Add your API keys:
- Alpha Vantage - Free tier: 25 requests/day
- Finnhub - Free tier available
cp .env.example .env
# Edit .env and add your keys
🤖 MCP Server Integration
Use this tool with AI assistants like Claude Desktop or Kiro.
Setup for Claude Desktop
- Run the setup script:
./setup_claude_desktop.sh
-
Restart Claude Desktop
-
Ask Claude: "Get the stock price for AAPL"
See CLAUDE_DESKTOP_SETUP.md for detailed instructions.
Setup for Kiro
The MCP server is pre-configured in .kiro/settings/mcp.json. Just restart Kiro and ask:
- "Get the stock price for AAPL"
- "Compare TSLA across all sources"
📊 Available Tools
Command Line
# Single stock
python main.py AAPL
# Multiple stocks
python main.py AAPL GOOGL MSFT TSLA
# Interactive mode
python main.py
MCP Server Tools
When integrated with AI assistants, you get access to:
- get_stock_quote - Get quote from specific sources
- compare_stock_sources - Compare data across all sources
- get_best_quote - Get most reliable quote
- get_multiple_quotes - Get quotes for multiple symbols
🏗️ Project Structure
.
├── analyzer.py # Core analysis logic
├── data_sources.py # API integrations
├── config.py # Configuration management
├── main.py # CLI interface
├── mcp_server.py # MCP server for AI integration
├── web_dashboard.py # Flask web server
├── dashboard.py # Streamlit dashboard
├── standalone_dashboard.html # Browser-only version
├── templates/
│ └── index.html # Web dashboard UI
├── .kiro/settings/
│ └── mcp.json # Kiro MCP configuration
└── requirements.txt # Python dependencies
📖 Documentation
- MCP Setup Guide - Detailed MCP server configuration
- Claude Desktop Setup - Claude Desktop integration
- Workflow Diagram - Complete data flow explanation
- Quick Start Guide - Getting started quickly
🔧 Requirements
- Python 3.9+
- Internet connection for API access
- Optional: API keys for Alpha Vantage and Finnhub
📦 Dependencies
requests- HTTP requestspandas- Data manipulationyfinance- Yahoo Finance APIpython-dotenv- Environment variablesflask- Web dashboard (optional)streamlit- Streamlit dashboard (optional)mcp- Model Context Protocol server
🎯 Use Cases
- Real-time stock monitoring - Track multiple stocks simultaneously
- Price comparison - Verify prices across different data sources
- AI assistant integration - Ask AI for stock data in natural language
- Data analysis - Export data for further analysis
- Portfolio tracking - Monitor your investments
🤝 Contributing
Contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
- Improve documentation
📝 License
MIT License - feel free to use this project for personal or commercial purposes.
🙏 Acknowledgments
- Yahoo Finance - Primary data source
- Alpha Vantage - Financial data API
- Finnhub - Stock market data
- Model Context Protocol - AI integration standard
📧 Contact
For questions or support, please open an issue on GitHub.
⚠️ Disclaimer
This tool is for informational purposes only. Stock market data may be delayed. Always verify information before making investment decisions. Not financial advice.
Made with ❤️ for stock market enthusiasts and AI developers