
Yahoo Finance
io.github.danishashkoPublished by GitHub account danishashkov1.6.2Updated Nov 7, 2026
Yahoo Finance data: quotes, financials, earnings, screeners, funds, sectors, options, and news.
The publisher's own server: Finance Foundation
Overview
A local, read-only MCP server that gives an assistant live Yahoo Finance data: quotes, financials, earnings, options, holders, screeners, funds and news.
- What you can do
- Look up quotes, historical OHLCV prices, company profiles and key statistics
- Read annual income statements, balance sheets, cash flow, dividends and splits
- Check analyst ratings, price targets, forward estimates, earnings dates and the earnings calendar
- Inspect options chains, institutional, fund and insider ownership, and ETF or mutual fund holdings
- Screen stocks by predefined lists, browse sector and industry overviews, compare up to ten tickers
- Search symbols and fetch per-ticker news; results come as markdown or JSON with structured content
- When to use it
- Useful when you want an assistant to answer market questions, research a company, compare tickers, or pull earnings, options and ownership data without a paid data subscription or API key.
- Requirements
- Runs locally via npx (Node.js 16+ and Python 3.10+; the wrapper creates a Python environment on first launch). No API key, account or signup. Internet access to Yahoo Finance is required. Optionally serves Streamable HTTP on a local port for URL-only clients.
Installation
In SourceWeft
- Open Yahoo Finance in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Yahoo Finance MCP Server 📈
[npm version] [npm downloads] [Python] [License: MIT]
Free Yahoo Finance MCP server with no API key. 18 read-only tools give Claude, Claude Code, Cursor, VS Code, Windsurf, Codex, n8n or any other MCP client live stock quotes, historical prices, financial statements, earnings dates and calendars, analyst ratings and estimates, options chains, insider and institutional holders, stock screeners, ETF and fund holdings, sector overviews and market news. Runs locally with one npx command, over stdio or Streamable HTTP.
npm package:
yahoo-finance-mcp-server· GitHub repo:danishashko/yahoo-finance-mcp. The repo name is shorter than the package name; both refer to this project.
🎯 What You Get
- 📊 Real-time stock quotes with full market data
- 📈 Historical prices (OHLCV) with summary statistics
- 🏢 Company profiles, officers, and key statistics
- 💰 Financial statements (income, balance sheet, cash flow)
- 🎯 Analyst ratings, price targets, and the recent recommendation trend
- ⚖️ Multi-stock comparisons side by side
- 📰 Latest financial news per ticker
- 🧾 Options chains (calls/puts, strikes, IV, open interest)
- 🏦 Ownership data — institutional, mutual fund, and insider activity
- 💵 Dividend & split history
- 🔮 Forward analyst estimates (price targets, EPS/revenue, growth)
- 🔎 Symbol search by company name or keyword
- 🕒 Market status (open/closed) and index summary
- 📅 Earnings dates: next report, beat/miss history, and a market-wide earnings calendar
- 🧲 Stock screeners: day gainers/losers, most active, most shorted, undervalued growth, top ETFs
- 🧺 ETF and fund data: holdings, expense ratio, sector weights
- 🏭 Sector and industry overviews with their largest, fastest-growing and best-performing companies
Every tool returns human-readable markdown by default, or structured JSON on request (response_format: "json"). Requests share a single browser-impersonating HTTP session to reduce Yahoo Finance rate-limiting.
🚀 Quick Start
Add this to your Claude Desktop config and restart Claude:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
That is it. On first launch the npx wrapper creates an isolated Python environment and installs the dependencies for you (a one-time step that can take a minute). You only need Python 3.10+ and Node.js 16+ on your machine.
Other clients
Claude Code
Cursor (~/.cursor/mcp.json), Windsurf (~/.codeium/windsurf/mcp_config.json) and Gemini CLI (~/.gemini/settings.json) take the same mcpServers block as Claude Desktop above.
VS Code (.vscode/mcp.json)
Codex CLI (~/.codex/config.toml)
n8n and other URL-only clients: see HTTP mode.
Prefer a global install?
🌐 HTTP mode (n8n, remote agents, anything that connects to a URL)
Some clients spawn an MCP server as a child process and talk to it over stdio; others only take a URL. n8n's MCP Client Tool node is the second kind - it offers HTTP Streamable and SSE and no way to launch a command - so stdio alone puts the server out of reach.
--http serves the same 18 tools over Streamable HTTP at /mcp:
No authentication is added, so keep it on an interface you trust.
Reaching it from a container
n8n in Docker is not on your loopback interface, so bind wider and use the host alias:
Then point the MCP Client Tool node at http://host.docker.internal:8931/mcp
with authentication set to None.
DNS-rebinding protection stays on when you bind wider. localhost,
127.0.0.1 and host.docker.internal on the bound port are accepted by
default; any other name needs --allowed-host name:port, and a request
arriving under an unlisted name gets 421 Misdirected Request.
🔧 Available Tools
Every tool also accepts response_format ("markdown", the default, or "json").
Every result also carries the data as MCP structured content, described by the tool's published outputSchema, whichever text format you ask for. Clients that support structured output read typed fields directly; others read the text. Missing figures are null, and a failed call returns isError: true with a message saying what to change.
get_historical_prices options:
period:1d,5d,1mo,3mo,6mo,1y,2y,5y,10y,ytd,maxinterval:1m,2m,5m,15m,30m,60m,90m,1h,1d,5d,1wk,1mo,3mo
get_options_chain: call without expiration_date to list available dates, then again with a date. option_type is calls, puts, or both. A chain returns the strikes nearest the current price.
get_holders: holder_type is institutional, mutualfund, major, insider_transactions, insider_purchases (6-month net insider buying), or insider_roster.
screen_stocks: screener is one of day_gainers, day_losers, most_actives, most_shorted_stocks, small_cap_gainers, aggressive_small_caps, growth_technology_stocks, undervalued_growth_stocks, undervalued_large_caps, top_etfs_us, top_performing_etfs, technology_etfs, bond_etfs, top_mutual_funds, solid_large_growth_funds, solid_midcap_growth_funds, conservative_foreign_funds, high_yield_bond, portfolio_anchors.
get_sector_overview: sector is one of basic-materials, communication-services, consumer-cyclical, consumer-defensive, energy, financial-services, healthcare, industrials, real-estate, technology, utilities. Call without industry to get the list of industry keys.
💬 Example Prompts
Once the server is connected, just ask Claude:
- "What's the current price of Apple stock?"
- "Show me Amazon's stock performance over the last year"
- "Tell me about Tesla as a company and who runs it"
- "Show me Apple's income statement"
- "Compare AAPL, MSFT, and GOOGL"
- "What do analysts think about Amazon, and what's the price target?"
- "What's the latest news on NVIDIA?"
- "Show me the SPY call options expiring next month"
- "Who are the biggest institutional holders of Apple?"
- "What's Coca-Cola's dividend history?"
- "When does NVIDIA report next, and has it been beating estimates?"
- "Which large caps report earnings this week?"
- "What are today's biggest gainers?"
- "What's inside QQQ and what does it cost?"
- "Who are the biggest semiconductor companies?"
- "Are Tesla insiders net buying or selling?"
❓ FAQ
Does it need an API key or a paid plan?
No. It reads Yahoo Finance's public data through the yfinance library. There is no key, account or signup.
Is the data real-time? Quotes are near real-time for most US stocks and can be delayed about 15 minutes on some exchanges. Every quote states its exchange, market state and timestamp.
Which tickers work?
Any symbol Yahoo Finance lists: US stocks (AAPL), class shares (BRK.B or BRK-B), non-US listings with Yahoo's exchange suffix (7203.T, BP.L, SAP.DE), ETFs and mutual funds (SPY, VFIAX), indices (^GSPC), crypto (BTC-USD) and currencies (EURUSD=X). Case does not matter. If you only have a company name, search_symbols finds the ticker.
Can it place trades or change anything? No. Every tool is read-only.
Does it work with clients other than Claude? Yes. It speaks standard MCP, so any client that supports MCP over stdio or Streamable HTTP can use it. Setup for the common ones is under Quick Start.
How do agents get structured data?
Every result carries typed structuredContent matching the tool's outputSchema, whatever text format was asked for. Pass response_format: "json" to get JSON text as well.
Where is the machine-readable summary?
llms.txt lists every tool, limit and error behaviour in one page for agents.
🐛 Troubleshooting
"Command not found" / "Python not found"
Make sure Python and Node.js are installed and on your PATH. On macOS/Linux, try python3 instead of python in the config.
"Module not found: yfinance" (manual install only) Install the dependencies:
Tools not showing up in Claude
- Confirm the config file is valid JSON (no trailing commas).
- Fully quit and reopen Claude Desktop.
- Check the path in your config actually exists.
"Error fetching data"
- Check your internet connection.
- Verify the ticker symbol (for example
AAPL, notApple). - Some smaller companies have limited data, and Yahoo Finance can be briefly unavailable.
Using a different model or provider (LiteLLM, OpenRouter, NVIDIA NIM, a local model)
This server never talks to a model. Your client starts it as a local process and
speaks JSON-RPC over stdin/stdout, so changing ANTHROPIC_BASE_URL or swapping the
model behind your client has no effect on it. If tools stop firing after a switch
like that, check two things: the model has to support function calling, and a proxy
configured to drop unsupported parameters can silently strip your tool definitions,
which produces no error at all. Run /mcp in your client (or claude mcp list) to
confirm the server is connected before suspecting the server.
🛠️ Manual Installation (Alternative)
If you would rather run the Python file directly instead of via npx:
1. Download the server
Save yahoo_finance_mcp.py somewhere on your machine and install the dependencies:
(or pip3 on macOS/Linux)
2. Point Claude Desktop at it
On Windows use "command": "python" and a path like "C:\\path\\to\\yahoo_finance_mcp.py" (double backslashes or forward slashes).
3. Restart Claude Desktop.
🔒 Privacy & Rate Limits
- Uses the free Yahoo Finance API via the
yfinancelibrary. - Requests go straight to Yahoo Finance. Nothing is stored or proxied.
- Yahoo Finance rate-limits roughly 2,000 requests/hour per IP.
- Intended for personal, educational, and research use.
📝 Notes
- Tickers are case-insensitive, and
BRK.Bis accepted as well as Yahoo'sBRK-B. - Some quotes may be delayed 15 to 20 minutes.
- Financial statements are generally available for larger public companies.
📋 Changelog
See CHANGELOG.md for the full version history.
📚 Resources
⚖️ Legal Disclaimer
This tool uses Yahoo Finance's publicly available data through the yfinance library. Yahoo!, Y!Finance, and Yahoo! Finance are registered trademarks of Yahoo, Inc. This tool is not affiliated with, endorsed by, or vetted by Yahoo, Inc. Please refer to Yahoo!'s terms of use for details on your rights to use the data.
👤 Author
Daniel Shashko
- GitHub: @danishashko
- LinkedIn: daniel-shashko
- npm: danielshashko
📄 License
MIT © Daniel Shashko
Source: README.md at commit 2cf281a
Tools
0Version history
3- v1.6.2LatestNov 7, 2026
- v1.6.0Nov 7, 2026
- v1.2.4Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Finance integrations
Finance Foundation
foundation.financeOfficial publisher
A remote MCP server for open financial reference data: look up companies, markets, funds and assets, resolve identifiers, traverse a knowledge graph and read a
FYN
fyi.fynOfficial publisher
Read-only personal finance for AI agents: budgets, receipts, net worth, bills. OAuth 2.1.

Korea Finance Factcheck
Published by GitHub account hs85-newbie
Fact-checks numbers in Korean finance writing against DART, Bank of Korea ECOS and US Treasury

Apizie Finance
Published by GitHub account nafadza14
Apizie Finance is a remote MCP server giving assistants cited access to official financial and economic data from SEC EDGAR, FRED, ECB, Treasury, GLEIF and…

Finance MCP
Published by GitHub account aowang-ai
Hosted MCP server that lets an assistant discover, inspect and run finance data tools covering US stocks, SEC filings, macro series, crypto and prediction…