Yahoo Finance MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Yahoo Finance MCP Serverget historical stock prices for AAPL over the last month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Yahoo Finance MCP Server
A Model Context Protocol (MCP) server that provides Yahoo Finance data through FastMCP v2 with HTTP streaming support. This server enables AI assistants to access real-time financial data, historical prices, company information, and market analysis tools. The server is primarily built for ThinkingSand AI agents, but can be deployed locally as well.
Features
Real-time Stock Data: Current prices, historical data, and company information
Financial Statements: Income statements, balance sheets, and cash flow data
Options Trading: Option chains, expiration dates, and pricing data
Market News: Latest financial news and analysis
Institutional Data: Holder information and insider transactions
Analyst Coverage: Recommendations and upgrades/downgrades
HTTP Streaming: Fast, efficient data delivery with FastMCP v2
Related MCP server: Yahoo Finance MCP Server
Available Tools
Tool | Description | Parameters |
| Historical stock price data |
|
| Comprehensive company and stock information |
|
| Latest news articles for a stock |
|
| Dividend and stock split history |
|
| Financial statements (income, balance, cashflow) |
|
| Institutional and insider holder data |
|
| Available options expiration dates |
|
| Option chain data for calls and puts |
|
| Analyst recommendations and upgrades |
|
Installation & Setup
Prerequisites
Python 3.11 or higher
uv package manager
Using uv (Recommended)
# Clone the repository
git clone https://github.com/citizenhicks/yahoo-finance-mcp.git
cd yahoo-finance-mcp
# Install dependencies
uv sync
# Run the server
uv run python server.pyConfiguration
Environment Variables
Create a .env file (copy from .env.example):
# Server configuration
HOST=127.0.0.1 # Server host
PORT=8000 # Server port
LOG_LEVEL=INFO # Logging levelStarting the Server
uv run python server.pyThe server will start on http://127.0.0.1:8000 by default and display:
Starting Yahoo Finance MCP Server locally on 127.0.0.1:8000...Tool Documentation
1. Historical Stock Prices
get_historical_stock_prices(ticker="AAPL", period="1mo", interval="1d")ticker: Stock symbol (e.g., "AAPL", "TSLA", "GOOGL")
period:
1d,5d,1mo,3mo,6mo,1y,2y,5y,10y,ytd,maxinterval:
1m,2m,5m,15m,30m,60m,90m,1h,1d,5d,1wk,1mo,3mo
2. Stock Information
get_stock_info(ticker="AAPL")Returns comprehensive company data including current price, market cap, financial metrics, and company details.
3. Financial Statements
get_financial_statement(ticker="AAPL", financial_type="income_stmt")financial_type:
income_stmt,quarterly_income_stmt,balance_sheet,quarterly_balance_sheet,cashflow,quarterly_cashflow
4. Holder Information
get_holder_info(ticker="AAPL", holder_type="institutional_holders")holder_type:
major_holders,institutional_holders,mutualfund_holders,insider_transactions,insider_purchases,insider_roster_holders
5. Options Data
# Get available expiration dates
get_option_expiration_dates(ticker="AAPL")
# Get option chain
get_option_chain(ticker="AAPL", expiration_date="2024-01-19", option_type="calls")option_type:
callsorputs
6. Recommendations
get_recommendations(ticker="AAPL", recommendation_type="recommendations", months_back=12)recommendation_type:
recommendations,upgrades_downgradesmonths_back: Number of months for historical upgrades/downgrades
MCP Client Integration
Claude Desktop
Add to your Claude Desktop MCP settings (~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"yahoo-finance": {
"command": "uv",
"args": ["run", "python", "/path/to/yahoo-finance-mcp/server.py"],
"env": {
"HOST": "127.0.0.1",
"PORT": "8000"
}
}
}
}HTTP Client Integration
Connect directly to the HTTP endpoint:
http://127.0.0.1:8000Python Client Example
import asyncio
from fastmcp import Client
async def example():
client = Client("http://127.0.0.1:8000")
async with client:
# Get Apple stock info
result = await client.call_tool("get_stock_info", {"ticker": "AAPL"})
print(result)
# Get historical prices
result = await client.call_tool("get_historical_stock_prices", {
"ticker": "AAPL",
"period": "1y",
"interval": "1d"
})
print(result)
asyncio.run(example())Project Structure
yahoo-finance-mcp/
├── server.py # Main FastMCP server implementation
├── main.py # Alternative entry point
├── pyproject.toml # Project dependencies and metadata
├── .env.example # Environment configuration template
├── .env # Your local environment variables (gitignored)
└── README.md # This documentationError Handling
The server includes robust error handling:
Invalid tickers: Returns clear error messages for non-existent symbols
Missing data: Graceful handling when specific data isn't available
Network issues: Proper error reporting for Yahoo Finance API issues
Parameter validation: Clear error messages for invalid parameters
Example error response:
"Error: Company ticker INVALID123 not found"Data Sources
All financial data is sourced from Yahoo Finance through the yfinance Python library:
Stock prices: Real-time and historical market data
Company information: Fundamentals, metrics, and company details
Financial statements: Official SEC filings and quarterly reports
Options data: Real-time options chains and pricing
News: Latest financial news and analyst coverage
Institutional data: Holdings and insider transaction data
Production Deployment
Docker (Optional)
FROM python:3.11-slim
WORKDIR /app
COPY . .
RUN pip install uv
RUN uv sync
EXPOSE 8000
CMD ["uv", "run", "python", "server.py"]Environment Variables for Production
HOST=0.0.0.0
PORT=8000
LOG_LEVEL=INFOContributing
Fork the repository
Create a feature branch
Add new tools or improve existing ones
Update tests and documentation
Submit a pull request
License
This project is open source. Yahoo Finance data is subject to Yahoo's terms of service.
Troubleshooting
Common Issues
Server won't start: Check if port 8000 is available
Tool failures: Verify internet connection for Yahoo Finance API
Import errors: Ensure all dependencies are installed with
uv sync
Debug Mode
Set LOG_LEVEL=DEBUG in your .env file for detailed logging.
Support
FastMCP Issues: FastMCP Documentation
Server Issues: Open an issue in this repository
Built with FastMCP v2 and yfinance
This server cannot be deployed
Maintenance
Related MCP Connectors
Financial data MCP server for Claude, ChatGPT, Cursor and Codex. Real-time stock quotes, financial statements, options flow, SEC filings, insider trades, 13F holdings, macro data and market news from gloom.sh, the open-source Bloomberg Terminal alternative.
Stock market data for AI agents: real-time quotes, financials, options, SEC filings and news.
Your agent needs company financials it can compute on — statements, ratios, earnings, estimates, filings and insider activity as structured data, not a PDF. **What you can ask for** • "Give me 8 quarters of income statement, balance sheet and cash flow for this ticker." • "What do analysts estimate for next quarter, and how did the last four surprise?" • "Find this exact line item across every filing." • "Who bought or sold as an insider in the last 90 days?" • "Screen for profitable companies under this valuation with growing revenue." **How to use it** Point any MCP client at https://mcp.aisa.one/marketpulse/mcp and sign in with OAuth — there is no key to create or paste. 21 tools: prices and snapshots, income statements, balance sheets, cash-flow statements, financial metrics and snapshots, earnings, analyst estimates, company facts, filings and filing items, line-item search, a screener, insider trades, macro interest rates, news, plus EDINET documents and filing digests for Japanese issuers. **Why this rather than the source** Statements as fields you can compute on, and a screener in the same place. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Read the fundamentals here, then ask the same agent what social is saying about the ticker — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/finance/mcp for equities, crypto and prediction markets in one place.
Research US-listed companies and funds with the StockPortfolio.pro MCP server. Tools cover SEC filing-grounded financials, filing timelines, company comparisons, watchlist screens, fund profiles, and cited filing questions. Filed figures include their fiscal period and EDGAR source URL; missing filing data is returned as null. Public tools work without authentication; optional API-key or OAuth access is supported. US-listed, USD-reporting companies only. Keyless access includes 3 free AI questions per rolling 30-day window. To get more now, choose the Dev plan ($19.99/month, 200 credits) at https://www.stockportfolio.pro/register?plan=dev, then follow https://www.stockportfolio.pro/docs/api-mcp to connect with OAuth or an API key. Or wait for the free allowance to renew.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to retrieve real-time stock data, manage watchlists, and perform comprehensive technical analysis using Yahoo Finance API. Provides 18+ tools for stock price tracking, trend analysis, volatility assessment, and financial indicators through MCP integration.MIT
- AlicenseNot gradedqualityDmaintenanceProvides comprehensive financial data from Yahoo Finance, enabling retrieval of stock prices, company information, financial statements, options data, analyst recommendations, and market news through natural language queries.MIT
- AlicenseNot gradedqualityCmaintenanceProvides real-time stock quotes, historical data, and stock search via Yahoo Finance, enabling AI assistants to access and analyze financial market data.24 npm19MIT
- FlicenseAqualityDmaintenanceProvides financial data from Yahoo Finance via MCP, enabling AI agents to access real-time stock info, historical prices, financial statements, and market analysis.1014-