Skip to content

Releases: danishashko/yahoo-finance-mcp

v1.2.2 - response-size cap fix + schema trim

04 Jun 13:09

Choose a tag to compare

Response-size safety fix (context-bloat bug).

Fixed

  • Oversized responses no longer overflow the size cap. A too-large JSON response could previously be returned larger than the limit and dump a giant truncated preview into context; it now returns a small message asking to narrow the request. Verified across all tools (every tool exercised over stdio against the live API, 0 stdout pollution).

v1.2.0 - 13 tools + rate-limit hardening

02 Jun 13:35

Choose a tag to compare

Major feature release: seven new tools (6 → 13) plus rate-limit hardening. Every tool was verified end to end by driving the real MCP server over stdio against live Yahoo Finance data (a full sweep confirmed all 13 return data with zero stdout pollution).

New tools

  • get_market_news — latest headlines per ticker (source, date, summary, link).
  • get_options_chain — list expiration dates, or the calls/puts chain (strike, bid/ask, volume, open interest, implied volatility).
  • get_holders — institutional, mutual-fund, or major holders, or insider transactions.
  • get_dividends_splits — dividend payment history (with a trailing summary) and stock-split history.
  • get_analyst_estimates — forward price targets, EPS/revenue estimates by period, and growth estimates.
  • search_symbols — find ticker symbols by company name or keyword.
  • get_market_status — whether a market (by region) is open/closed, with timing and a major-index summary.

Reliability

  • Shared curl_cffi browser-impersonating HTTP session reused across all tools, cutting down on Yahoo HTTP 429 rate-limiting and speeding up repeated calls. Degrades gracefully to the default session if curl_cffi is unavailable.
  • Friendly, specific handling of YFRateLimitError ("wait and retry").

Changed

  • requirements.txt: add curl_cffi; raise the yfinance floor to >=0.2.61.

Install

{
  "mcpServers": {
    "yahoo-finance": {
      "command": "npx",
      "args": ["-y", "yahoo-finance-mcp-server"]
    }
  }
}

Full changelog: https://github.com/danishashko/yahoo-finance-mcp/blob/main/CHANGELOG.md
npm: https://www.npmjs.com/package/yahoo-finance-mcp-server

v1.1.1 - Docs & packaging

31 May 06:02

Choose a tag to compare

Documentation and packaging release. No runtime code changes from v1.1.0 — behavior is identical.

What's changed

  • Reworked README — clearer structure, a tools table with parameters and supported period/interval values, example prompts, and a note clarifying that the repo name (yahoo-finance-mcp) differs from the npm package name (yahoo-finance-mcp-server).
  • Badges — added a monthly-downloads pill and a Python-version badge.
  • CHANGELOG.md — added (Keep a Changelog format) and now shipped in the npm tarball.
  • Packaging — normalized repository.url to the git+https:// form npm expects.

Install

{
  "mcpServers": {
    "yahoo-finance": {
      "command": "npx",
      "args": ["-y", "yahoo-finance-mcp-server"]
    }
  }
}

Looking for the functional fixes (tool input validation, analyst recommendations, dividend yield, working npx install)? Those shipped in v1.1.0.

Full changelog: https://github.com/danishashko/yahoo-finance-mcp/blob/main/CHANGELOG.md
npm: https://www.npmjs.com/package/yahoo-finance-mcp-server

v1.1.0 - Critical bug fixes & working npx install

31 May 06:03

Choose a tag to compare

A full QA pass that fixed several bugs which broke core functionality, and made the documented npx installation actually work. Every fix was verified end to end by driving the real MCP server over stdio against live Yahoo Finance data.

Fixed

  • Tool inputs failed validation. Each tool took a single Pydantic model argument, so the MCP schema nested every field under a required params object while the docs told the model to send fields directly — so calls were rejected. Tools now expose their parameters directly.
  • get_analyst_recommendations crashed with 'RangeIndex' object has no attribute 'strftime' due to a change in the yfinance recommendations format. It now reads the current format and also reports recent upgrades/downgrades.
  • Dividend yield was shown 100x too high (for example 35.00% for AAPL). Modern yfinance already returns this value as a percentage, so it is no longer multiplied again.
  • Markdown tables broke when the optional tabulate package was missing. It is now a declared dependency, with a graceful plain-text fallback.
  • Truncated JSON responses are now valid JSON instead of being cut off mid-structure.

Added

  • bin/cli.js Node launcher so npx -y yahoo-finance-mcp-server works. It locates Python 3.10+, creates an isolated virtual environment, installs the Python dependencies on first run, and starts the server with the protocol stream kept clean on stdout.
  • tabulate added to the dependencies.

Changed

  • package.json bin now points at the Node launcher, the binary name matches the package name, and a Node engine requirement was added.
  • Tightened dependency floors (yfinance>=0.2.40, mcp>=1.2.0).
  • Replaced the deprecated Pydantic min_items/max_items with min_length/max_length.
  • Rewrote the README and corrected the installation and troubleshooting docs.

Full changelog: https://github.com/danishashko/yahoo-finance-mcp/blob/main/CHANGELOG.md
npm: https://www.npmjs.com/package/yahoo-finance-mcp-server