Yahoo Finance MCP Server
A Model Context Protocol (MCP) server that provides AI assistants with access to Yahoo Finance data via yfinance. Query stock information, financial news, sector rankings, and generate professional financial charts — all from your AI chat.
Features
- Stock Data — Company info, financials, valuation metrics, dividends, and trading data
- Financial News — Recent news articles and press releases for any ticker
- Search — Find stocks, ETFs, and news across Yahoo Finance
- Sector Rankings — Top ETFs, mutual funds, companies, growth leaders, and top performers by sector
- Price History — Historical OHLCV data as markdown tables or professional charts
- Chart Generation — Candlestick, VWAP, and volume profile charts returned as WebP images
Tools
yfinance_get_ticker_info
Retrieve comprehensive stock data including company info, financials, trading metrics, and governance data.
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol |
string | Yes | Stock ticker symbol (e.g. AAPL, GOOGL, MSFT) |
Returns: JSON object with company details, price data, valuation metrics, trading info, dividends, financials, and performance indicators.
yfinance_get_ticker_news
Fetch recent news articles and press releases for a specific stock.
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol |
string | Yes | Stock ticker symbol |
Returns: JSON array of news items with title, summary, publication date, provider, URL, and thumbnail.
yfinance_search
Search Yahoo Finance for stocks, ETFs, and news articles.
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | Search query — company name, ticker symbol, or keywords |
search_type |
string | Yes | "all" (quotes + news), "quotes" (stocks/ETFs only), or "news" (articles only) |
Returns: Matching quotes and/or news results depending on search_type.
yfinance_get_top
Get top-ranked financial entities within a market sector.
| Parameter | Type | Required | Description |
|---|---|---|---|
sector |
string | Yes | Market sector (see supported sectors below) |
top_type |
string | Yes | "top_etfs", "top_mutual_funds", "top_companies", "top_growth_companies", or "top_performing_companies" |
top_n |
number | No | Number of results to return (default: 10, max: 100) |
Returns: JSON array of top entities with relevant metrics.
Supported Sectors
Basic Materials, Communication Services, Consumer Cyclical, Consumer Defensive, Energy, Financial Services, Healthcare, Industrials, Real Estate, Technology, Utilities
yfinance_get_price_history
Fetch historical price data and optionally generate technical analysis charts.
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol |
string | Yes | Stock ticker symbol |
period |
string | No | Time range — 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max (default: 1mo) |
interval |
string | No | Data granularity — 1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 1d, 5d, 1wk, 1mo, 3mo (default: 1d) |
chart_type |
string | No | Chart to generate (omit for tabular data) |
Chart types:
| Value | Description |
|---|---|
"price_volume" |
Candlestick chart with volume bars |
"vwap" |
Price chart with Volume Weighted Average Price overlay |
"volume_profile" |
Candlestick chart with volume distribution by price level |
Returns:
- Without
chart_type: Markdown table with Date, Open, High, Low, Close, Volume, Dividends, and Stock Splits columns. - With
chart_type: Base64-encoded WebP image for efficient token usage.
Usage
Via uv (recommended)
- Install uv
- Add the following to your MCP client configuration:
{
"mcpServers": {
"yfmcp": {
"command": "uvx",
"args": ["yfmcp@latest"]
}
}
}
Via Docker
{
"mcpServers": {
"yfmcp": {
"command": "docker",
"args": ["run", "-i", "--rm", "narumi/yfinance-mcp"]
}
}
}
From Source
- Clone the repository and install dependencies:
git clone https://github.com/narumiruna/yfinance-mcp.git
cd yfinance-mcp
uv sync
- Add the following to your MCP client configuration:
{
"mcpServers": {
"yfmcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/yfinance-mcp",
"yfmcp"
]
}
}
}
Replace /path/to/yfinance-mcp with the actual path to your cloned repository.
Development
Prerequisites
- Python ≥ 3.12
- uv package manager
Setup
uv sync --extra dev
Lint & Format
uv run ruff check .
uv run ruff format .
Type Check
uv run ty check src tests
Test
uv run pytest -v -s --cov=src tests
Demo Chatbot
See the demo chatbot in its dedicated repository: yfinance-mcp-demo
License
This project is licensed under the MIT License.
Recommend MCP Servers 💡
investor-agent
A Model Context Protocol server for building an investor agent
coinmarket_service
Coinmarket MCP Server
mercadopago-mcp-server
Mercado Pago's MCP Server offers tools to interact with their API using natural language, simplifying tasks and product integration for developers.
algorand-mcp
Algorand Model Context Protocol (MCP) implementation for blockchain interactions, providing LLMs with tools and resources to manage accounts, assets, and transactions on the Algorand network, including integrations with DeFi and NFT services.
tatumio
Tatum provides a unified API and framework for over 40 blockchain protocols, simplifying blockchain development for various applications including financial services, crypto apps, and gaming.