Skip to main content
Glama
narumiruna

Yahoo Finance MCP Server

Yahoo Finance MCP Server

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.

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

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

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.

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

  1. Install uv

  2. 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

  1. Clone the repository and install dependencies:

git clone https://github.com/narumiruna/yfinance-mcp.git
cd yfinance-mcp
uv sync
  1. 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.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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