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

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

Available components

−5 this week 60 Trust /100

Last scanned (1 day ago)

Scores higher than 57% of PyPI servers

Category Finance and Payments

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 Security49
  • Malware scan not yet available for this package.Unverified
  • Known CVEs were checked across the 61 of 62 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Dependency health was assessed across the 61 of 62 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency32
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Licence could not be checked: the licence is shipped as a file inside the package, not declared as a standard (SPDX) licence identifier, so we cannot tell whether it is OSI-approved.Unverified
  • Actively maintained (last published 90 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
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 Management67
  • Stability observed for 20 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
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.

  • 3 Nov 26 +1

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

  • 2 Nov 26 −21
    • Malware scan: pass → unverified ▼ security
    • Stability: pass → 0.60 functional
  • 29 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 28 Oct 26 0
    • Provenance: unverified → fail ▼ security
    • Security disclosure: unverified → fail ▼ functional
  • 27 Oct 26 0
    • Provenance: fail → unverified ▼ security
    • Stability: 0.97 → pass security
    • Security disclosure: fail → unverified ▼ functional
  • 26 Oct 26 0
    • Stability: pass → 0.97 functional
  • 25 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
    • Security disclosure: unverified → fail ▼ functional
  • 24 Oct 26 0
    • Security disclosure: fail → unverified ▼ functional
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 4 Nov 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
Reason No attestation published

Background: How many MCP packages publish verified provenance →

Dependencies 61 packages
Packages resolved 61
Stale 4
Tree resolution Partial

The dependency tree was only partially resolved, so these counts may be incomplete.

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_rowsinteger–Maximum rows per section. Use 0 to return all rows.
sections––Optional 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
frequencystring–Reporting 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_rowsinteger–Maximum rows per tabular section. Use 0 to return all rows.
sections––Optional 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_rowsinteger–Maximum 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_date––Option 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_typestring–Which 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_type––Optional 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…
intervalstring–Data 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'/'…
periodstring–Time range: '1d'/'5d' (days), '1mo'/'3mo'/'6mo' (months), '1y'/'2y'/'5y'/'10y' (years), 'ytd' (year-to-date), 'max' (all available data)
prepostboolean–Include pre-market and post-market data when available
symbolstringyesStock ticker symbol (e.g., 'AAPL', 'GOOGL', 'MSFT')
NameTypeReqDescription
result–yes–

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_ninteger–Number 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_rowsinteger–Maximum 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
count––Rows to return for predefined queries. Yahoo maximum is 250.
offset––Result offset.
query–yesScreener 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_typestring–Query mode: 'predefined', 'equity', 'fund', or 'etf'.
size––Rows to return for custom queries. Yahoo maximum is 250.
sort_asc––Sort ascending if true, descending if false.
sort_field––Sort field, for example 'percentchange'.
user_id––Optional Yahoo user id.
user_id_type––Optional 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_capinteger–Minimum intraday market cap in USD.
min_percent_changenumber–Minimum percent change from prior close, for example 3.0 for +3%.
min_pricenumber–Minimum current intraday price.
min_volumeinteger–Minimum intraday trading volume.
offsetinteger–Result offset for pagination.
regionstring–Yahoo screener region code, for example 'us'.
sizeinteger–Rows to return. Yahoo maximum is 250.
sort_ascboolean–Sort 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.

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
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 60 out of 100 on VerifyMCP. It declares no install or post-install scripts. 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 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.