Skip to main content

No project description provided

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yfmcp-0.8.3-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file yfmcp-0.8.3-py3-none-any.whl.

File metadata

  • Download URL: yfmcp-0.8.3-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for yfmcp-0.8.3-py3-none-any.whl
Algorithm Hash digest
SHA256 92b07b7abccbddaad8de198c2f0c7dfa957e522a0e2cd6d54aed645908b267bb
MD5 ccb8e97fa614f07c794f67512be3faa4
BLAKE2b-256 a2aeca850f5f0abb032891a72eb4820bfe41af4865c78fdecc75972e555fd905

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page