Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Yfinance Mcp

    67 stars
    Python
    Updated Nov 1, 2025
    finance
    mcp
    mcp-server
    python
    yahoo-finance

    Table of Contents

    • Features
    • Tools
    • yfinance_get_ticker_info
    • yfinance_get_ticker_news
    • yfinance_search
    • yfinance_get_top
    • Supported Sectors
    • yfinance_screen
    • yfinance_screen_gappers
    • yfinance_get_price_history
    • yfinance_get_financials
    • yfinance_get_holders
    • yfinance_get_option_dates
    • yfinance_get_option_chain
    • Usage
    • Via uv (recommended)
    • Via Docker
    • From Source
    • Testing with Codex CLI
    • Development
    • Prerequisites
    • Setup
    • Lint & Format
    • Type Check
    • Test
    • Demo Chatbot
    • Contributors
    • License

    Table of Contents

    • Features
    • Tools
    • yfinance_get_ticker_info
    • yfinance_get_ticker_news
    • yfinance_search
    • yfinance_get_top
    • Supported Sectors
    • yfinance_screen
    • yfinance_screen_gappers
    • yfinance_get_price_history
    • yfinance_get_financials
    • yfinance_get_holders
    • yfinance_get_option_dates
    • yfinance_get_option_chain
    • Usage
    • Via uv (recommended)
    • Via Docker
    • From Source
    • Testing with Codex CLI
    • Development
    • Prerequisites
    • Setup
    • Lint & Format
    • Type Check
    • Test
    • Demo Chatbot
    • Contributors
    • License

    Documentation

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

    Tools

    yfinance_get_ticker_info

    Retrieve comprehensive stock data including company info, financials, trading metrics, and governance data.

    ParameterTypeRequiredDescription
    symbolstringYesStock 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.

    ParameterTypeRequiredDescription
    symbolstringYesStock 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.

    ParameterTypeRequiredDescription
    querystringYesSearch query — company name, ticker symbol, or keywords
    search_typestringYes"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.

    ParameterTypeRequiredDescription
    sectorstringYesMarket sector (see supported sectors below)
    top_typestringYes"top_etfs", "top_mutual_funds", "top_companies", "top_growth_companies", or "top_performing_companies"
    top_nnumberNoNumber 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_screen

    Run Yahoo Finance screeners using either predefined screener keys or custom query trees.

    ParameterTypeRequiredDescription
    querystring/objectYesFor query_type="predefined": screener key such as "day_gainers". For query_type="equity" or "fund": custom query tree with {operator, operands} nodes
    query_typestringNo"predefined" (default), "equity", or "fund"
    offsetnumberNoResult offset
    sizenumberNoRows for custom queries; Yahoo maximum is 250
    countnumberNoRows for predefined queries; Yahoo maximum is 250
    sort_fieldstringNoSort field, for example "percentchange"
    sort_ascbooleanNoSort ascending if true, descending if false
    user_idstringNoOptional Yahoo user identifier
    user_id_typestringNoOptional Yahoo user ID type, commonly "guid"

    Returns: JSON screener response from Yahoo Finance, typically including quote rows and metadata.

    Custom equity screener example:

    json
    {
      "query_type": "equity",
      "query": {
        "operator": "and",
        "operands": [
          { "operator": "gt", "operands": ["percentchange", 3] },
          { "operator": "eq", "operands": ["region", "us"] },
          { "operator": "gte", "operands": ["intradayprice", 5] },
          { "operator": "gt", "operands": ["dayvolume", 500000] }
        ]
      },
      "sort_field": "percentchange",
      "sort_asc": false,
      "size": 50
    }

    yfinance_screen_gappers

    Run a purpose-built custom screener for opening-session bullish gappers.

    ParameterTypeRequiredDescription
    min_percent_changenumberNoMinimum percent gap/change from prior close (default: 3.0)
    min_pricenumberNoMinimum intraday price (default: 5.0)
    min_volumenumberNoMinimum day volume (default: 500000)
    min_market_capnumberNoMinimum intraday market cap in USD (default: 2000000000)
    regionstringNoYahoo region code (default: "us")
    sizenumberNoNumber of results (default: 50, max: 250)
    offsetnumberNoResult offset for pagination (default: 0)
    sort_ascbooleanNoSort by percentchange ascending (true) or descending (false, default)

    Returns: JSON screener response from Yahoo Finance.

    yfinance_get_price_history

    Fetch historical price data and optionally generate technical analysis charts.

    ParameterTypeRequiredDescription
    symbolstringYesStock ticker symbol
    periodstringNoTime range — 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max (default: 1mo)
    intervalstringNoData granularity — 1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 1d, 5d, 1wk, 1mo, 3mo (default: 1d)
    chart_typestringNoChart to generate (omit for tabular data)
    prepostbooleanNoInclude pre-market and post-market data when available (default: false; useful with intraday requests like period="1d", interval="1m")

    Chart types:

    ValueDescription
    "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.

    yfinance_get_financials

    Fetch financial statements (income statement, balance sheet, and cash flow) with historical data.

    ParameterTypeRequiredDescription
    symbolstringYesStock ticker symbol
    frequencystringNo"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.

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

    ParameterTypeRequiredDescription
    symbolstringYesStock ticker symbol (e.g. AAPL, MSFT)
    max_rowsnumberNoMaximum rows returned per holder section. Default: 10. Use 0 to return all rows

    Returns: JSON object with:

    • **major_holders** — Aggregated breakdown where each row has an index label (e.g. insidersPercentHeld, institutionsPercentHeld, institutionsFloatPercentHeld, institutionsCount) and a Value
    • **institutional_holders** — Institutional investors; records typically include fields such as Date Reported, Holder, Shares, Value, pctChange, pctHeld
    • **mutualfund_holders** — Mutual fund holders; records typically include fields similar to institutional holders
    • **insider_transactions** — Recent insider trades; records typically include fields such as Shares, Value, Insider, Position, Transaction, Start Date, Ownership
    • **insider_purchases** — Six-month summary where each row describes a category (Purchases, Sales, Net Shares, etc.); records typically include fields such as Insider Purchases Last 6m, Shares, Trans
    • **insider_roster** — Known insiders; records typically include fields such as Name, Position, Shares Owned Directly, Most Recent Transaction, Latest Transaction Date
    • **_metadata** — Row limit metadata with max_rows and per-section total_rows, returned_rows, and truncated

    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.

    ParameterTypeRequiredDescription
    symbolstringYesStock ticker symbol (e.g. AAPL, MSFT)

    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.

    ParameterTypeRequiredDescription
    symbolstringYesStock ticker symbol
    expiration_datestringNoOption expiration date in YYYY-MM-DD format. Omit to fetch all dates.
    option_typestringNo"calls", "puts", or "all" (default: "all")

    Returns: JSON object keyed by expiration date, with calls and/or puts data including:

    • contractSymbol: Option contract identifier
    • strike: Strike price
    • lastPrice: Last traded price
    • bid/ask: Bid and ask prices
    • volume: Trading volume
    • openInterest: Open interest
    • impliedVolatility: IV
    • inTheMoney: Whether option is ITM
    • contractSize: Contract size (REGULAR)
    • currency: Currency (USD)

    Usage

    Via uv (recommended)

    1. Install uv

    2. Add the following to your MCP client configuration:

    json
    {
      "mcpServers": {
        "yfmcp": {
          "command": "uvx",
          "args": ["yfmcp@latest"]
        }
      }
    }

    Via Docker

    json
    {
      "mcpServers": {
        "yfmcp": {
          "command": "docker",
          "args": ["run", "-i", "--rm", "narumi/yfinance-mcp"]
        }
      }
    }

    From Source

    1. Clone the repository and install dependencies:

    bash
    git clone https://github.com/narumiruna/yfinance-mcp.git
    cd yfinance-mcp
    uv sync

    2. Add the following to your MCP client configuration:

    json
    {
      "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:

    text
    Show VOO ticker info
    Show VOO price history for the last 5 days
    Find the ticker symbol for Toyota
    Get AAPL option expiration dates

    Development

    Prerequisites

    • Python ≥ 3.12
    • uv package manager

    Setup

    bash
    uv sync --extra dev

    Lint & Format

    bash
    uv run ruff check .
    uv run ruff format .

    Type Check

    bash
    uv run ty check src tests

    Test

    bash
    uv run pytest -v -s --cov=src tests

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

    Similar MCP

    Based on tags & features

    • FH

      Fhir Mcp Server

      Python·
      55
    • DA

      Davinci Resolve Mcp

      Python·
      327
    • MC

      Mcp Aoai Web Browsing

      Python·
      30
    • WE

      Web Eval Agent

      Python·
      1.2k

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • FH

      Fhir Mcp Server

      Python·
      55
    • DA

      Davinci Resolve Mcp

      Python·
      327
    • MC

      Mcp Aoai Web Browsing

      Python·
      30
    • WE

      Web Eval Agent

      Python·
      1.2k

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k