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
Metadata
Release files for siya-yahoo-finance-mcp 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| siya_yahoo_finance_mcp-0.1.2.tar.gz | 8.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| siya_yahoo_finance_mcp-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.8 kB
Release files / siya_yahoo_finance_mcp-0.1.2.tar.gz
| Download URL | siya_yahoo_finance_mcp-0.1.2.tar.gz |
|---|---|
| Size | 8.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
51a04ab0f599f39b4edcaa490a22205e8e624667a78c6f9e4a4d6f64a69bd8dc
|
|
BLAKE2b-256 checksum How to use checksums |
9aeb9246855ac2d38347ccb648ff000fb7a749dabb1a3b641b38554158d666e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|
Release files / siya_yahoo_finance_mcp-0.1.2-py3-none-any.whl
| Download URL | siya_yahoo_finance_mcp-0.1.2-py3-none-any.whl |
|---|---|
| Size | 9.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4f537afb2fd34ca194b8600b3d0392e97cf29e2e500affd04e688bd7b922dafc
|
|
BLAKE2b-256 checksum How to use checksums |
141a1a5d1792cc9570979ac90366936f6fb3b41057fc679f8082f56d393694be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|