Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Yahoo Finance

PYPI · YFMCP · SCANNED SEP 20

Access Yahoo Finance stock data, news, screeners, options, financials, and charts through MCP.

Available components

0 this week 75 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Install-script risk not yet assessed.Unverified
  • 5 of 64 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
Schema Quality & AI Usability66
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2865 tokens (~191/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
  • Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the Yahoo Finance MCP server?

Yahoo Finance runs locally as a PyPI package, launched with uvx yfmcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · yfmcp

# add to Claude Code
claude mcp add narumiruna-yfinance-mcp -- uvx yfmcp
// .cursor/mcp.json
{
  "mcpServers": {
    "narumiruna-yfinance-mcp": {
      "command": "uvx",
      "args": [
        "yfmcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "narumiruna-yfinance-mcp": {
      "command": "uvx",
      "args": [
        "yfmcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add narumiruna-yfinance-mcp -- uvx yfmcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "narumiruna-yfinance-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "yfmcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add narumiruna-yfinance-mcp --command uvx --arg yfmcp
# ~/.hermes/config.yaml
mcp_servers:
  narumiruna-yfinance-mcp:
    command: "uvx"
    args: ["yfmcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "narumiruna-yfinance-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "yfmcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add narumiruna-yfinance-mcp -t stdio -c uvx -a yfmcp
// mcp.json
{
  "mcpServers": {
    "narumiruna-yfinance-mcp": {
      "command": "uvx",
      "args": [
        "yfmcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +15
    • Malware scan: unverified → pass security
  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 16 Sept 26 −17
    • Malware scan: pass → unverified security
    • Stability: pass → 0.80 functional
  • 15 Sept 26 0
    • Stability: 0.97 → pass security
  • 14 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +15
    • Malware scan: unverified → pass security
  • 11 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 9 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed pypi/yfmcp@0.14.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Dependencies 64 packages
Packages resolved 64
Stale 5
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 15 exposed · ~2,865 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
yfinance_get_analyst_estimates ~118

Fetch consensus estimates, EPS/revenue trends, revisions, recommendations, and earnings history.

NameTypeReqDescription
max_rowsintegerMaximum rows per section. Use 0 to return all rows.
sectionsOptional analyst sections: recommendations, earnings_estimate, revenue_estimate, eps_trend, eps_revisions, earnings_history, and growth_estimates. Omit to return all sections.
symbolstringyesStock ticker symbol (e.g., 'AAPL', 'GOOGL', 'MSFT')
NameTypeReqDescription
resultstringyes

No examples provided.

yfinance_get_analyst_price_targets ~114

Fetch the current price and analyst consensus price targets for a stock. Returns a JSON object with the fields supplied by Yahoo Finance: - current: Current market price - low: Lowest analyst price target - high: Highest analyst price target - mean: Mean analyst price target - median: Median analyst price target Analyst coverage and available fields vary by symbol.

NameTypeReqDescription
symbolstringyesStock ticker symbol (e.g., 'AAPL', 'GOOGL', 'MSFT')
NameTypeReqDescription
resultstringyes

No examples provided.

yfinance_get_financials ~119

Fetch financial statements (income statement, balance sheet, and cash flow) with historical data. Returns JSON with income statement, balance sheet, and cash flow data across reporting periods. Use the data to analyze trends, calculate ratios, or compare periods.

NameTypeReqDescription
frequencystringReporting frequency: 'annual' for yearly, 'quarterly' for quarterly, or 'ttm' for trailing twelve months
symbolstringyesStock ticker symbol (e.g., 'AAPL', 'GOOGL', 'MSFT')
NameTypeReqDescription
resultstringyes

No examples provided.

yfinance_get_fund_data ~129

Fetch ETF or mutual-fund composition, holdings, exposures, ratings, and operating details.

NameTypeReqDescription
max_rowsintegerMaximum rows per tabular section. Use 0 to return all rows.
sectionsOptional fund sections: description, fund_overview, fund_operations, asset_classes, top_holdings, equity_holdings, bond_holdings, bond_ratings, and sector_weightings. Omit to return all sections.
symbolstringyesETF or mutual fund ticker symbol (e.g., 'SPY', 'BND', 'VFIAX')
NameTypeReqDescription
resultstringyes

No examples provided.

yfinance_get_holders ~210

Fetch major holders, institutional holders, mutual fund holders, and insider data. Returns JSON with: - major_holders: Aggregated breakdown including insider % held, institutional % held, institutional % float held, and institution count. - institutional_holders: List of institutional investors with shares held, date reported, value, and % change. - mutualfund_holders: List of mutual fund holders with same fields. - insider_transactions: Recent insider transactions including shares, value, transaction type, and date. - insider_purchases: Summary of insider buy/sell activity over the last 6 months. - insider_roster: List of known insiders by name and position. Use this to analyze ownership concentration, insider activity, and institutional interest.

NameTypeReqDescription
max_rowsintegerMaximum rows returned per holder section. Use 0 to return all rows.
symbolstringyesStock ticker symbol (e.g., 'AAPL', 'GOOGL', 'MSFT')
NameTypeReqDescription
resultstringyes

No examples provided.

yfinance_get_option_chain ~235

Fetch option chain data (calls and puts) for a stock with available strike prices. Returns JSON with calls and/or puts data for each expiration date. JSON fields include: - contractSymbol: Option contract identifier - strike: Strike price - lastPrice: Last traded price - bid/ask: Bid and ask prices - volume: Trading volume - openInterest: Open interest - impliedVolatility: Implied volatility (IV) - inTheMoney: Whether option is ITM - contractSize: Contract size (REGULAR) - currency: Currency (USD) Use this to analyze options pricing, IV surfaces, and strike levels.

NameTypeReqDescription
expiration_dateOption expiration date in YYYY-MM-DD format. Use the 'yfinance_get_option_dates' tool to find available dates, or omit to fetch all available expiration dates.
option_typestringWhich options to return: 'calls', 'puts', or 'all' (both calls and puts).
symbolstringyesStock ticker symbol (e.g., 'AAPL', 'GOOGL', 'MSFT')
NameTypeReqDescription
resultstringyes

No examples provided.

yfinance_get_option_dates ~82

Fetch available option expiration dates for a stock. Returns JSON array of expiration dates in YYYY-MM-DD format. Use these dates with the 'yfinance_get_option_chain' tool to fetch the options chain for a specific date.

NameTypeReqDescription
symbolstringyesStock ticker symbol (e.g., 'AAPL', 'GOOGL', 'MSFT')
NameTypeReqDescription
resultstringyes

No examples provided.

yfinance_get_price_history ~447

Fetch historical price data and optionally generate technical analysis charts. When chart_type is None, returns Markdown table with columns: - Date: Trading date (index) - Open: Opening price - High: Highest price - Low: Lowest price - Close: Closing price - Volume: Trading volume - Dividends: Dividend payments (if any) - Stock Splits: Split events (if any) When chart_type is specified, returns a chart image: - 'price_volume': Candlestick chart with volume bars - 'vwap': Price with Volume Weighted Average Price overlay - 'volume_profile': Volume distribution by price level Set prepost=True to include pre-market and post-market data when available. Note: Not all period/interval combinations are valid. Minute intervals (1m, 5m, etc.) only work with short periods (1d, 5d).

NameTypeReqDescription
chart_typeOptional visualization: 'price_volume' (candlestick chart with volume bars), 'vwap' (Volume Weighted Average Price overlay), 'volume_profile' (volume distribution by price level). Omit for tabular da…
intervalstringData granularity: '1m'/'5m'/'15m'/'30m' (minutes), '1h' (hour), '1d'/'5d' (days), '1wk' (week), '1mo'/'3mo' (months). Short intervals require short periods (e.g., '1m' interval only works with '1d'/'…
periodstringTime range: '1d'/'5d' (days), '1mo'/'3mo'/'6mo' (months), '1y'/'2y'/'5y'/'10y' (years), 'ytd' (year-to-date), 'max' (all available data)
prepostbooleanInclude pre-market and post-market data when available
symbolstringyesStock ticker symbol (e.g., 'AAPL', 'GOOGL', 'MSFT')
NameTypeReqDescription
resultyes

No examples provided.

yfinance_get_ticker_info ~233

Retrieve comprehensive stock data including company information, financials, trading metrics and governance. Returns JSON object with fields including: - Company: symbol, longName, sector, industry, longBusinessSummary, website, city, country - Price: currentPrice, previousClose, open, dayHigh, dayLow, fiftyTwoWeekHigh, fiftyTwoWeekLow - Valuation: marketCap, enterpriseValue, trailingPE, forwardPE, priceToBook, pegRatio - Trading: volume, averageVolume, averageVolume10days, bid, ask, bidSize, askSize - Dividends: dividendRate, dividendYield, exDividendDate, payoutRatio - Financials: totalRevenue, revenueGrowth, earningsGrowth, profitMargins, operatingMargins - Performance: beta, fiftyDayAverage, twoHundredDayAverage, trailingEps, forwardEps Note: Available fields vary by security type. Timestamps are converted to readable dates.

NameTypeReqDescription
symbolstringyesStock ticker symbol (e.g., 'AAPL', 'GOOGL', 'MSFT')
NameTypeReqDescription
resultstringyes

No examples provided.

yfinance_get_ticker_news ~180

Fetch recent news articles and press releases for a specific stock. Returns JSON array where each news item has: - id: Unique article identifier - content: Object containing: - title: Article headline - summary: Brief article summary - pubDate: Publication date (ISO 8601 format) - provider: Object with displayName (e.g., "Yahoo Finance") and url - canonicalUrl: Object with article url, site, region, lang - thumbnail: Object with image URLs and resolutions - contentType: Type of content (e.g., "STORY", "VIDEO") Use this to track company announcements, market sentiment, and breaking news.

NameTypeReqDescription
symbolstringyesStock ticker symbol (e.g., 'AAPL', 'GOOGL', 'MSFT')
NameTypeReqDescription
resultstringyes

No examples provided.

yfinance_get_top ~188

Get top-ranked financial entities within a sector. This unified tool provides access to various rankings: - ETFs and mutual funds focused on the sector - Largest companies by market capitalization - Fastest-growing companies by revenue/earnings - Best-performing stocks by price appreciation Returns JSON data with relevant metrics for each entity type.

NameTypeReqDescription
sectorstringyesMarket sector (e.g., 'Technology', 'Healthcare', 'Financial Services')
top_nintegerNumber of top entities to retrieve per category/industry
top_typestringyesType of entities to retrieve: 'top_etfs' (sector ETFs), 'top_mutual_funds' (sector mutual funds), 'top_companies' (largest by market cap), 'top_growth_companies' (fastest revenue/earnings growth), 't…
NameTypeReqDescription
resultstringyes

No examples provided.

yfinance_get_upgrades_downgrades ~188

Fetch analyst upgrades, downgrades, initiations, and price target changes. Returns analyst actions newest first. Fields supplied by Yahoo Finance can include: - GradeDate: Date and time of the analyst action - Firm: Analyst firm name - ToGrade and FromGrade: New and previous ratings - Action: Rating action, such as upgrade, downgrade, initiation, or reiteration - priceTargetAction: Price target action, such as Raises, Lowers, or Maintains - currentPriceTarget and priorPriceTarget: New and previous price targets Available fields vary by symbol and analyst action.

NameTypeReqDescription
max_rowsintegerMaximum analyst actions to return, newest first. Use 0 to return all rows.
symbolstringyesStock ticker symbol (e.g., 'AAPL', 'GOOGL', 'MSFT')
NameTypeReqDescription
resultstringyes

No examples provided.

yfinance_screen ~207

Run a Yahoo Finance screener query. Supports predefined Yahoo screener keys and custom equity, mutual-fund, or ETF query trees.

NameTypeReqDescription
countRows to return for predefined queries. Yahoo maximum is 250.
offsetResult offset.
queryyesScreener query. For query_type='predefined': string key like 'day_gainers'. For query_type='equity', 'fund', or 'etf': query tree object with {operator, operands} nodes.
query_typestringQuery mode: 'predefined', 'equity', 'fund', or 'etf'.
sizeRows to return for custom queries. Yahoo maximum is 250.
sort_ascSort ascending if true, descending if false.
sort_fieldSort field, for example 'percentchange'.
user_idOptional Yahoo user id.
user_id_typeOptional Yahoo user id type, commonly 'guid'.
NameTypeReqDescription
resultstringyes

No examples provided.

yfinance_screen_gappers ~156

Run a custom equity screener tuned for opening-session stock gappers.

NameTypeReqDescription
min_market_capintegerMinimum intraday market cap in USD.
min_percent_changenumberMinimum percent change from prior close, for example 3.0 for +3%.
min_pricenumberMinimum current intraday price.
min_volumeintegerMinimum intraday trading volume.
offsetintegerResult offset for pagination.
regionstringYahoo screener region code, for example 'us'.
sizeintegerRows to return. Yahoo maximum is 250.
sort_ascbooleanSort by percentchange ascending if true, descending if false.
NameTypeReqDescription
resultstringyes

No examples provided.

yfinance_search ~259

Search Yahoo Finance for stocks, ETFs, and news articles. Returns JSON with search results based on search_type: - 'quotes': Array of securities with: - symbol: Ticker symbol - shortname/longname: Company name - quoteType: Security type (EQUITY, ETF, MUTUALFUND, etc.) - exchange: Exchange code - sector: Business sector - industry: Industry classification - score: Search relevance score - 'news': Array of articles with: - uuid: Article identifier - title: Headline - publisher: News source - link: Article URL - providerPublishTime: Unix timestamp - relatedTickers: Array of related symbols - thumbnail: Image URLs - 'all': Object with both 'quotes' and 'news' arrays Use this to find ticker symbols, discover related securities, or search financial news.

NameTypeReqDescription
querystringyesSearch query - company name, ticker symbol, or keywords
search_typestringyesFilter results: 'all' (quotes + news), 'quotes' (stocks/ETFs only), or 'news' (articles only)
NameTypeReqDescription
resultstringyes

No examples provided.

Common questions

What is the Yahoo Finance MCP server?

Yahoo Finance is an MCP server listed in the public MCP registry as io.github.narumiruna/yfinance-mcp. Access Yahoo Finance stock data, news, screeners, options, financials, and charts through MCP. This page covers its PyPI package (yfmcp).

Is the Yahoo Finance MCP server safe to use?

Yahoo Finance scores 75 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Yahoo Finance MCP server expose?

Yahoo Finance exposes 15 tools: yfinance_get_ticker_info, yfinance_get_analyst_price_targets, yfinance_get_analyst_estimates, yfinance_get_fund_data, yfinance_get_upgrades_downgrades, and 10 more. Their descriptions and schemas cost roughly 2,865 tokens of context every time the server is loaded.

Is the Yahoo Finance MCP server still maintained?

Yahoo Finance is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.