Yahoo Finance MCP Server
Enables querying stock data, financial information, news, and historical prices from Yahoo Finance through a set of MCP tools.
README
Yahoo Finance MCP Server
A simple MCP server for Yahoo Finance using yfinance. This server provides a set of tools to fetch stock data, news, and other financial information.
<a href="https://glama.ai/mcp/servers/@narumiruna/yfinance-mcp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@narumiruna/yfinance-mcp/badge" /> </a>
Tools
-
get_ticker_info
- Retrieve stock data including company info, financials, trading metrics and governance data.
- Inputs:
symbol(string): The stock symbol.
-
get_ticker_news
- Fetches recent news articles related to a specific stock symbol with title, content, and source details.
- Inputs:
symbol(string): The stock symbol.
-
search
- Fetches and organizes search results from Yahoo Finance, including stock quotes and news articles.
- Inputs:
query(string): The search query (ticker symbol or company name).search_type(string): Type of search results to retrieve (options: "all", "quotes", "news").
-
get_top
- Get top entities (ETFs, mutual funds, companies, growth companies, or performing companies) in a sector.
- Inputs:
sector(string): The sector to get.top_type(string): Type of top companies to retrieve (options: "top_etfs", "top_mutual_funds", "top_companies", "top_growth_companies", "top_performing_companies").top_n(number, optional): Number of top entities to retrieve (default 10).
-
get_price_history
- Fetch historical price data for a given stock symbol over a specified period and interval. Can return data as a markdown table or generate professional financial charts using mplfinance, including candlestick charts with volume bars, VWAP overlays, and volume profile analysis.
- Inputs:
symbol(string): The stock symbol.period(string, optional): Time period to retrieve data for (e.g. '1d', '1mo', '1y'). Default is '1mo'.interval(string, optional): Data interval frequency (e.g. '1d', '1h', '1m'). Default is '1d'.chart_type(string, optional): Type of chart to generate. If not specified, returns price data as markdown table. Options:- "price_volume": Candlestick chart with volume bars
- "vwap": Volume Weighted Average Price chart with VWAP overlay
- "volume_profile": Candlestick chart with volume profile showing volume distribution by price level (displayed as a histogram on the right side)
- Output:
- If
chart_typeis not specified: Returns historical price data as a markdown table - If
chart_typeis specified: Returns a base64-encoded WebP image for efficient token usage
- If
Usage
You can use this MCP server via uv (Python package installer), Docker, or local development.
Via uv
- Install uv
- Add the following configuration to your MCP server configuration file:
{
"mcpServers": {
"yfmcp": {
"command": "uvx",
"args": ["yfmcp@latest"]
}
}
}
Via Docker
Add the following configuration to your MCP server configuration file:
{
"mcpServers": {
"yfmcp": {
"command": "docker",
"args": ["run", "-i", "--rm", "narumi/yfinance-mcp"]
}
}
}
Local Development
For local development, add the following configuration to your MCP server configuration file:
{
"mcpServers": {
"yfmcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/yfinance-mcp",
"yfmcp"
]
}
}
}
Replace /path/to/yfinance-mcp with the actual path to your local repository.
Demo Chatbot
This repository includes a demo chatbot built with Chainlit that provides a conversational interface to the Yahoo Finance MCP server.
Features
- Interactive chat interface for querying stock information
- Automatic display of financial charts and data visualizations
- Support for both OpenAI and LiteLLM backends
- Tool calling integration with the MCP server
Setup
- Install demo dependencies:
uv sync --extra dev
- Configure environment variables (create a
.envfile):
# For OpenAI
OPENAI_API_KEY=your_openai_api_key
DEFAULT_MODEL=gpt-4.1
# For LiteLLM (alternative)
LITELLM_API_KEY=your_litellm_api_key
LITELLM_BASE_URL=your_litellm_base_url
DEFAULT_MODEL=gpt-4.1
- Run the demo:
uv run chainlit run demo.py
The chatbot will be available at http://localhost:8000.
Example Queries
- "Get AAPL stock information"
- "Show me recent TSLA news"
- "Display NVDA price history for the past month"
- "Show me a candlestick chart for MSFT over the last 3 months"
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.