loading…
Search for a command to run...
loading…
An MCP server that uses yfinance to obtain information from Yahoo Finance.
An MCP server that uses yfinance to obtain information from Yahoo Finance.
PyPI version Python CI License: MIT
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.
yfinance_get_ticker_infoRetrieve 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_newsFetch 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_searchSearch 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_topGet 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.
Basic Materials, Communication Services, Consumer Cyclical, Consumer Defensive, Energy, Financial Services, Healthcare, Industrials, Real Estate, Technology, Utilities
yfinance_get_price_historyFetch 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:
chart_type: Markdown table with Date, Open, High, Low, Close, Volume, Dividends, and Stock Splits columns.chart_type: Base64-encoded WebP image for efficient token usage.yfinance_get_financialsFetch financial statements (income statement, balance sheet, and cash flow) with historical data.
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol |
string | Yes | Stock ticker symbol |
frequency |
string | No | "annual" (yearly), "quarterly" (quarterly), or "ttm" (trailing twelve months). Default: "annual" |
Returns: JSON object with income statement, balance sheet, and cash flow data for each reporting period.
yfinance_get_option_datesFetch available option expiration dates for a stock.
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol |
string | Yes | Stock ticker symbol (e.g. AAPL, MSFT) |
Returns: JSON array of expiration dates in YYYY-MM-DD format.
yfinance_get_option_chainFetch option chain data (calls and puts) for a stock with available strike prices.
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol |
string | Yes | Stock ticker symbol |
expiration_date |
string | No | Option expiration date in YYYY-MM-DD format. Omit to fetch all dates. |
option_type |
string | No | "calls", "puts", or "all" (default: "all") |
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){
"mcpServers": {
"yfmcp": {
"command": "uvx",
"args": ["yfmcp@latest"]
}
}
}
{
"mcpServers": {
"yfmcp": {
"command": "docker",
"args": ["run", "-i", "--rm", "narumi/yfinance-mcp"]
}
}
}
git clone https://github.com/narumiruna/yfinance-mcp.git
cd yfinance-mcp
uv sync
{
"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.
uv sync --extra dev
uv run ruff check .
uv run ruff format .
uv run ty check src tests
uv run pytest -v -s --cov=src tests
See the demo chatbot in its dedicated repository: yfinance-mcp-demo
Made with contrib.rocks.
This project is licensed under the MIT License.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"narumiruna-yfinance-mcp": {
"command": "npx",
"args": []
}
}
}