yfinance-mcp

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • No description — Repository has no description
  • Active repo — Last push 0 days ago
  • Community trust — 114 GitHub stars
Code Gecti
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

README.md

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

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)

  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.

Yorumlar (0)

Sonuc bulunamadi