Skip to main content

No project description provided

Project description

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.

Tools

  • yfinance_get_ticker_info

    • Retrieve stock data including company info, financials, trading metrics and governance data.
    • Inputs:
      • symbol (string): The stock symbol.
  • yfinance_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.
  • yfinance_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").
  • yfinance_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).
  • yfinance_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_type is not specified: Returns historical price data as a markdown table
      • If chart_type is specified: Returns a base64-encoded WebP image for efficient token usage

Usage

You can use this MCP server via uv (Python package installer), Docker, or local development.

Via uv

  1. Install uv
  2. 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

  1. Install demo dependencies:
uv sync --extra dev
  1. Configure environment variables:
# Recommended: start from the template
cp .env.example .env

# 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
  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"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_narumiruna_yfinance_mcp-0.8.0.tar.gz (235.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_narumiruna_yfinance_mcp-0.8.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_narumiruna_yfinance_mcp-0.8.0.tar.gz
  • Upload date:
  • Size: 235.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_narumiruna_yfinance_mcp-0.8.0.tar.gz
Algorithm Hash digest
SHA256 dc668c056f2148cf170db97def2bbe9f15bd0cf0ffe2f11c299d75d62e5e2651
MD5 081ebb250e2483aea65e669b3c17d629
BLAKE2b-256 652df3d00a93e8e7ff975b5ed6a5f5db6ea28c59801d3e6aaa70247c7de4c0da

See more details on using hashes here.

File details

Details for the file iflow_mcp_narumiruna_yfinance_mcp-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_narumiruna_yfinance_mcp-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_narumiruna_yfinance_mcp-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2c8a7dc00bb63677bbf39f493c774afcdea63ab16d1d071016d7d9573430038c
MD5 e16842119b8f3e752f198fa294ac88c4
BLAKE2b-256 7fa40ed4f3b7613eec7c3165ba7785c3e8cf721ad6a62662b3d7475c133d40a0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page