Yahoo Finance MCP Server

Read-only Yahoo Finance market data, screeners, options and price charts for MCP clients

By なるみ (individual) Python Local · stdio Finance and paymentsData and analytics

56 popularity score ★ 208 ↓ 3.7k/mo

Connect your client

Local (PyPI)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add yahoo-finance -- uvx yfmcp@latest
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "yahoo-finance": {
      "command": "uvx",
      "args": [
        "yfmcp@latest"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "yahoo-finance": {
      "command": "uvx",
      "args": [
        "yfmcp@latest"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "yahoo-finance": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "yfmcp@latest"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.yahoo-finance]
command = "uvx"
args = ["yfmcp@latest"]
Gemini CLITerminal
gemini mcp add --scope user yahoo-finance uvx -- yfmcp@latest
Local (container)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add yahoo-finance -- docker run -i --rm narumi/yfinance-mcp
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "yahoo-finance": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "narumi/yfinance-mcp"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "yahoo-finance": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "narumi/yfinance-mcp"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "yahoo-finance": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "narumi/yfinance-mcp"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.yahoo-finance]
command = "docker"
args = ["run", "-i", "--rm", "narumi/yfinance-mcp"]
Gemini CLITerminal
gemini mcp add --scope user yahoo-finance docker -- run -i --rm narumi/yfinance-mcp
Local (from source)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

FirstTerminal
git clone https://github.com/narumiruna/yfinance-mcp.git
cd yfinance-mcp
uv sync
Claude CodeTerminal
claude mcp add yahoo-finance -- uv run --directory '<ABSOLUTE_PATH_TO_CLONE>' yfmcp
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "yahoo-finance": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "<ABSOLUTE_PATH_TO_CLONE>",
        "yfmcp"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "yahoo-finance": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "<ABSOLUTE_PATH_TO_CLONE>",
        "yfmcp"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "yahoo-finance": {
      "type": "stdio",
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "<ABSOLUTE_PATH_TO_CLONE>",
        "yfmcp"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.yahoo-finance]
command = "uv"
args = ["run", "--directory", "<ABSOLUTE_PATH_TO_CLONE>", "yfmcp"]
Gemini CLITerminal
gemini mcp add --scope user yahoo-finance uv -- run --directory '<ABSOLUTE_PATH_TO_CLONE>' yfmcp

What it does

Yahoo Finance MCP Server (package yfmcp) wraps the community yfinance Python library and exposes Yahoo Finance data as fifteen tools. It covers company profiles and valuation figures, analyst price targets, estimates and rating changes, annual, quarterly or trailing-twelve-month financial statements, ticker news, search across quotes and articles, sector rankings, option expiry dates and chains, ownership and insider data, ETF and mutual-fund look-through, and stock screeners, including a ready-made pre-market gap screener.

Price history comes back as a Markdown table, or, when a chart type is chosen, as a WebP image: candlesticks with volume, a VWAP overlay, or a volume profile. Several tools cut long tables to a default row count (10 holder rows, 12 estimate rows, 25 fund or rating-change rows) and report what was cut in a _metadata block; passing max_rows 0 returns everything.

In the v0.14.0 source, every tool is registered with readOnlyHint set and no tool writes anything. The server does not retry failed calls itself: when Yahoo rate-limits a request or the network fails, the tool returns a NETWORK_ERROR response telling the caller to try again later (src/yfmcp/server.py). It needs no API key or account.

What it needs

RuntimePython 3.12+orDocker

uv for the recommended uvx launch (it fetches Python and the yfmcp package), or Docker for the narumi/yfinance-mcp image. Running from source needs Python 3.12 or newer and uv. Outbound internet access to Yahoo Finance; no Yahoo account or API key.

Limits

Data comes through yfinance, an unofficial client of Yahoo Finance's web endpoints, so fields vary by ticker and yfinance version, and Yahoo can rate-limit requests; the server then returns an error rather than retrying. Minute intervals only work with short periods (for example 1m with 1d or 5d). Screener results are capped at Yahoo's 250 rows, sector rankings at 100. It speaks stdio only: main() calls mcp.run() with no transport option in v0.14.0. It reads quotes and fundamentals and cannot place trades or reach a brokerage account.

Who it suits

Suits someone who wants free, keyless stock research inside an assistant: fundamentals, analyst views, options chains, fund holdings, screens and quick charts, running on their own machine. Because it relies on Yahoo's unofficial endpoints with no key, it is a poor fit for production systems that need guaranteed uptime, licensed data or real-time feeds; a paid market-data provider with its own server is the better choice there. Nothing it does can change an account, so it is low-stakes to try.

Tools 15

yfinance_get_ticker_info
Company profile, price, valuation, dividend and trading figures for one ticker
yfinance_get_analyst_price_targets
Current price with low, high, mean and median analyst targets
yfinance_get_analyst_estimates
Earnings and revenue estimates, EPS trends and revisions, recommendation history
yfinance_get_upgrades_downgrades
Analyst firm rating changes for a ticker
yfinance_get_ticker_news
Recent articles and press releases about a ticker
yfinance_search
Search Yahoo Finance for quotes, news, or both
yfinance_get_top
Top ETFs, funds, companies, growth or performing companies in a sector
yfinance_screen
Run a predefined screener or a custom equity, fund or ETF query tree
yfinance_screen_gappers
Find stocks gapping from the prior close, filtered by price, volume and market cap
yfinance_get_price_history
OHLCV history as a table, or a candlestick, VWAP or volume-profile chart image
yfinance_get_financials
Income statement, balance sheet and cash flow, annual, quarterly or TTM
yfinance_get_holders
Major, institutional and fund holders plus insider transactions
yfinance_get_fund_data
ETF or mutual-fund holdings, asset classes, sectors and operating details
yfinance_get_option_dates
List option expiration dates for a ticker
yfinance_get_option_chain
Calls and/or puts for one expiry with strikes and implied volatility

Similar servers