MCP server implementation for yahoo finance integration
Project description
Yahoo Finance MCP Server
This is a Model Context Protocol (MCP) server that provides comprehensive financial data from Yahoo Finance. It allows you to retrieve detailed information about stocks, including historical prices, company information, financial statements, options data, and market news.
Demo
MCP Tools
The server exposes the following tools through the Model Context Protocol:
Stock Information
| Tool | Description |
|---|---|
get_historical_stock_prices |
Get historical OHLCV data for a stock with customizable period and interval |
get_stock_info |
Get comprehensive stock data including price, metrics, and company details |
get_yahoo_finance_news |
Get latest news articles for a stock |
get_stock_actions |
Get stock dividends and splits history |
Financial Statements
| Tool | Description |
|---|---|
get_financial_statement |
Get income statement, balance sheet, or cash flow statement (annual/quarterly) |
get_holder_info |
Get major holders, institutional holders, mutual funds, or insider transactions |
Options Data
| Tool | Description |
|---|---|
get_option_expiration_dates |
Get available options expiration dates |
get_option_chain |
Get options chain for a specific expiration date and type (calls/puts) |
Analyst Information
| Tool | Description |
|---|---|
get_recommendations |
Get analyst recommendations or upgrades/downgrades history |
Real-World Use Cases
With this MCP server, you can use Claude to:
Stock Analysis
- Price Analysis: "Show me the historical stock prices for AAPL over the last 6 months with daily intervals."
- Financial Health: "Get the quarterly balance sheet for Microsoft."
- Performance Metrics: "What are the key financial metrics for Tesla from the stock info?"
- Trend Analysis: "Compare the quarterly income statements of Amazon and Google."
- Cash Flow Analysis: "Show me the annual cash flow statement for NVIDIA."
Market Research
- News Analysis: "Get the latest news articles about Meta Platforms."
- Institutional Activity: "Show me the institutional holders of Apple stock."
- Insider Trading: "What are the recent insider transactions for Tesla?"
- Options Analysis: "Get the options chain for SPY with expiration date 2024-06-21 for calls."
- Analyst Coverage: "What are the analyst recommendations for Amazon over the last 3 months?"
Investment Research
- "Create a comprehensive analysis of Microsoft's financial health using their latest quarterly financial statements."
- "Compare the dividend history and stock splits of Coca-Cola and PepsiCo."
- "Analyze the institutional ownership changes in Tesla over the past year."
- "Generate a report on the options market activity for Apple stock with expiration in 30 days."
- "Summarize the latest analyst upgrades and downgrades in the tech sector over the last 6 months."
Requirements
- Python 3.11 or higher
- Dependencies as listed in
pyproject.toml, including:- mcp
- yfinance
- pandas
- pydantic
- and other packages for data processing
Installation
Option 1: Install from PyPI (Recommended)
pip install siya-siya-yahoo-finance-mcp
Option 2: Install from Source
-
Clone this repository:
git clone https://github.com/Alex2Yang97/siya-yahoo-finance-mcp.git cd siya-yahoo-finance-mcp
-
Create and activate a virtual environment and install dependencies:
uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate uv pip install -e .
Usage
Command Line Usage
Option 1: Run with uvx (Recommended - no installation needed):
uvx siya-yahoo-finance-mcp
Option 2: After installation, run directly:
siya-yahoo-finance-mcp
Option 3: Run as Python module:
python -m siya_yahoo_finance_mcp.server
Integration with Claude for Desktop
To integrate this server with Claude for Desktop:
-
Install Claude for Desktop
-
Edit the Claude for Desktop config file:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- MacOS:
-
Add the server configuration:
Option 1: Using uvx (Recommended - no installation needed):
{ "mcpServers": { "yfinance": { "command": "uvx", "args": ["siya-yahoo-finance-mcp"] } } }
Option 2: Using installed package:
{ "mcpServers": { "yfinance": { "command": "siya-yahoo-finance-mcp" } } }
Option 3: Using Python module:
{ "mcpServers": { "yfinance": { "command": "python", "args": ["-m", "siya_yahoo_finance_mcp.server"] } } }
-
Restart Claude for Desktop
Development Mode
For development or testing with MCP Inspector:
# If installed from source
uv run siya_yahoo_finance_mcp/server.py
# If installed via pip
python -c "from siya_yahoo_finance_mcp.server import main; main()"
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file siya_yahoo_finance_mcp-0.1.1.tar.gz.
File metadata
- Download URL: siya_yahoo_finance_mcp-0.1.1.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
623d09aaa858e3c06357eae7b3373465ac7e9cc99cdf66432dcda867367ee4e6
|
|
| MD5 |
04c40d8077188a8f4b1dadf9cbf182f6
|
|
| BLAKE2b-256 |
9349b52a5e17783807c83d65358233599e6d47e241da98d07fc20adaa96a048a
|
File details
Details for the file siya_yahoo_finance_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: siya_yahoo_finance_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
509e34d8343b369d9eefb0b0f8439e1858c1a4343d6ba44a7a3df4e09cdce95c
|
|
| MD5 |
e7080049e8a52f19c9126da6f4ba519b
|
|
| BLAKE2b-256 |
2935a489cf3cbe4593b990200a90c34d1bb00195f6b84ecb302067e74926a037
|