Yahoo Finance MCP Server
The Yahoo Finance MCP Server provides tools to fetch and analyze financial data:
Retrieve stock data: Get detailed information about specific stock symbols
Fetch stock-related news: Access recent news articles for stocks
Search: Find stock quotes or news articles using queries
Get top entities by sector: Retrieve top ETFs, mutual funds, companies, growth companies, or performing companies in specific sectors
Analyze sentiment: Perform sentiment analysis on stocks based on provided rationale
Provides a containerized deployment option for the Yahoo Finance MCP server, allowing users to run the server in an isolated environment without installing dependencies.
Click on "Install 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 AAPL stock information"
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 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 Statements — Income statement and balance sheet with historical data (EBIT, Invested Capital, etc.)
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
Options Data — Option chains with calls, puts, strike prices, IV, and expiration dates
Ownership Data — Major holders, institutional investors, mutual fund holders, and insider transactions
Related MCP server: MCP Yahoo Finance
Tools
yfinance_get_ticker_info
Retrieve comprehensive stock data including company info, financials, trading metrics, and governance data.
Parameter | Type | Required | Description |
| string | Yes | Stock ticker symbol (e.g. |
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 |
| 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 |
| string | Yes | Search query — company name, ticker symbol, or keywords |
| string | Yes |
|
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 |
| string | Yes | Market sector (see supported sectors below) |
| string | Yes |
|
| number | No | Number of results to return (default: |
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 |
| string | Yes | Stock ticker symbol |
| string | No | Time range — |
| string | No | Data granularity — |
| string | No | Chart to generate (omit for tabular data) |
| boolean | No | Include pre-market and post-market data when available (default: |
Chart types:
Value | Description |
| Candlestick chart with volume bars |
| Price chart with Volume Weighted Average Price overlay |
| 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.
yfinance_get_financials
Fetch financial statements (income statement, balance sheet, and cash flow) with historical data.
Parameter | Type | Required | Description |
| string | Yes | Stock ticker symbol |
| string | No |
|
Returns: JSON object with income statement, balance sheet, and cash flow data for each reporting period.
Income Statement fields: EBIT, Net Income, Tax Provision, Pretax Income, Interest Expense, Total Revenue, Operating Income, EBITDA, Normalized Income
Balance Sheet fields: Stockholders Equity, Total Debt, Cash And Cash Equivalents, Invested Capital, Net Debt, Total Assets, Total Liabilities Net Minority Interest, Net Tangible Assets, Tangible Book Value
Cash Flow fields: Operating Cash Flow, Free Cash Flow, Capital Expenditure, Net Income From Continuing Operations, Depreciation And Amortization, Change In Working Capital, Cash Dividends Paid
yfinance_get_holders
Fetch major holders, institutional holders, mutual fund holders, and insider data.
Parameter | Type | Required | Description |
| string | Yes | Stock ticker symbol (e.g. |
| number | No | Maximum rows returned per holder section. Default: |
Returns: JSON object with:
major_holders— Aggregated breakdown where each row has anindexlabel (e.g.insidersPercentHeld,institutionsPercentHeld,institutionsFloatPercentHeld,institutionsCount) and aValueinstitutional_holders— Institutional investors; records typically include fields such asDate Reported,Holder,Shares,Value,pctChange,pctHeldmutualfund_holders— Mutual fund holders; records typically include fields similar to institutional holdersinsider_transactions— Recent insider trades; records typically include fields such asShares,Value,Insider,Position,Transaction,Start Date,Ownershipinsider_purchases— Six-month summary where each row describes a category (Purchases, Sales, Net Shares, etc.); records typically include fields such asInsider Purchases Last 6m,Shares,Transinsider_roster— Known insiders; records typically include fields such asName,Position,Shares Owned Directly,Most Recent Transaction,Latest Transaction Date_metadata— Row limit metadata withmax_rowsand per-sectiontotal_rows,returned_rows, andtruncated
Holder sections are limited to 10 rows by default to keep responses concise. Pass max_rows: 0 when you need the complete holder datasets. Field names for holder-related datasets are provided by yfinance and may vary by ticker, data availability, and yfinance version.
yfinance_get_option_dates
Fetch available option expiration dates for a stock.
Parameter | Type | Required | Description |
| string | Yes | Stock ticker symbol (e.g. |
Returns: JSON array of expiration dates in YYYY-MM-DD format.
yfinance_get_option_chain
Fetch option chain data (calls and puts) for a stock with available strike prices.
Parameter | Type | Required | Description |
| string | Yes | Stock ticker symbol |
| string | No | Option expiration date in YYYY-MM-DD format. Omit to fetch all dates. |
| string | No |
|
Returns: JSON object keyed by expiration date, with calls and/or puts data including:
contractSymbol: Option contract identifierstrike: Strike pricelastPrice: Last traded pricebid/ask: Bid and ask pricesvolume: Trading volumeopenInterest: Open interestimpliedVolatility: IVinTheMoney: Whether option is ITMcontractSize: Contract size (REGULAR)currency: Currency (USD)
Usage
Via uv (recommended)
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 syncAdd 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.
Testing with Codex CLI
This repository includes .codex/config.toml, which registers the local yfmcp MCP server for Codex CLI using uv run yfmcp. After cloning the repository and running uv sync, open Codex CLI from the repository root and try prompts such as:
Show VOO ticker info
Show VOO price history for the last 5 days
Find the ticker symbol for Toyota
Get AAPL option expiration datesDevelopment
Prerequisites
Python ≥ 3.12
uv package manager
Setup
uv sync --extra devLint & Format
uv run ruff check .
uv run ruff format .Type Check
uv run ty check src testsTest
uv run pytest -v -s --cov=src testsDemo Chatbot
See the demo chatbot in its dedicated repository: yfinance-mcp-demo
Contributors
Made with contrib.rocks.
License
This project is licensed under the MIT License.
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/narumiruna/yfinance-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server