Yahoo Finance integration to fetch stock market data including options recommendations
Author:@ferdousbhai
Updated at:

Finance & Fintech

MseeP.ai Security Assessment Badge

investor-agent: A Financial Analysis MCP Server

Overview

The investor-agent is a Model Context Protocol (MCP) server that provides comprehensive financial insights and analysis to Large Language Models. It leverages real-time market data, fundamental and technical analysis to deliver:

  • Market Movers: Top gainers, losers, and most active stocks with support for different market sessions
  • Ticker Analysis: Company overview, news, metrics, analyst recommendations, and upgrades/downgrades
  • Options Data: Filtered options chains with customizable parameters
  • Historical Data: Price trends and earnings history
  • Financial Statements: Income, balance sheet, and cash flow statements
  • Ownership Analysis: Institutional holders and insider trading activity
  • Earnings Calendar: Upcoming earnings announcements with date filtering (optional)
  • Market Sentiment: CNN Fear & Greed Index, Crypto Fear & Greed Index, and Google Trends sentiment analysis
  • Technical Analysis: SMA, EMA, RSI, MACD, BBANDS indicators (optional)

The server integrates with yfinance for market data and automatically optimizes data volume for better performance.

Prerequisites

  • Python: 3.12 or higher
  • Package Manager: uv. Install if needed:
    curl -LsSf https://astral.sh/uv/install.sh | sh
    

Optional Dependencies

  • TA-Lib C Library: Required for technical indicators. Follow official installation instructions.
  • Playwright: Required for earnings calendar functionality. Installed automatically with the playwright optional dependency.

Installation

Quick Start

# Core features only
uvx investor-agent

# With technical indicators (requires TA-Lib)
uvx "investor-agent[ta]"

# With earnings calendar (requires Playwright)
uvx "investor-agent[playwright]"
# Note: After first installation, run:
#   playwright install-deps chromium
#   playwright install chromium

# With both technical indicators and earnings calendar
uvx "investor-agent[ta,playwright]"
# Note: After first installation, run:
#   playwright install-deps chromium
#   playwright install chromium

Tools

Market Data

  • get_market_movers(category="most-active", count=25, market_session="regular") - Market movers data including top gainers, losers, or most active stocks. Supports different market sessions (regular/pre-market/after-hours) for most-active category. Returns up to 100 stocks with cleaned percentage changes, volume, and market cap data
  • get_ticker_data(ticker, max_news=5, max_recommendations=5, max_upgrades=5) - Comprehensive ticker report with essential field filtering and configurable limits for news, analyst recommendations, and upgrades/downgrades
  • get_options(ticker_symbol, num_options=10, start_date, end_date, strike_lower, strike_upper, option_type) - Options data with advanced filtering by date range (YYYY-MM-DD), strike price bounds, and option type (C=calls, P=puts)
  • get_price_history(ticker, period="1mo") - Historical OHLCV data with intelligent interval selection: daily intervals for periods ≤1y, monthly intervals for periods ≥2y to optimize data volume
  • get_financial_statements(ticker, statement_type="income", frequency="quarterly", max_periods=8) - Financial statements (income/balance/cash) with period limiting for context optimization
  • get_institutional_holders(ticker, top_n=20) - Major institutional and mutual fund holders data
  • get_earnings_history(ticker, max_entries=8) - Historical earnings data with configurable entry limits
  • get_insider_trades(ticker, max_trades=20) - Recent insider trading activity with configurable trade limits
  • get_earnings_calendar(start=None, end=None, limit=100) - Upcoming earnings announcements with optional date filtering (YYYY-MM-DD format). Requires Playwright dependency.

Market Sentiment

  • get_cnn_fear_greed_index(days=0, indicators=None) - CNN Fear & Greed Index with support for up to 30 days of historical data and selective indicator filtering. Available indicators: fear_and_greed, fear_and_greed_historical, put_call_options, market_volatility_vix, market_volatility_vix_50, junk_bond_demand, safe_haven_demand
  • get_crypto_fear_greed_index(days=7) - Crypto Fear & Greed Index with configurable historical data period
  • get_google_trends(keywords, period_days=7) - Google Trends relative search interest for market-related keywords. Requires a list of keywords to track (e.g., ["stock market crash", "bull market", "recession", "inflation"]). Returns relative search interest scores that can be used as sentiment indicators.

Technical Analysis

  • calculate_technical_indicator(ticker, indicator, period="1y", timeperiod=14, ...) - Calculate technical indicators (SMA, EMA, RSI, MACD, BBANDS) with configurable parameters and result limiting. Returns time-aligned data with price history and indicator values. Requires TA-Lib library.

Usage with MCP Clients

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "investor": {
      "command": "uvx",
      "args": ["investor-agent"]
    }
  }
}

Debugging

npx @modelcontextprotocol/inspector uvx investor-agent

Log locations:

  • macOS: ~/Library/Logs/Claude/mcp*.log
  • Windows: %APPDATA%\Claude\logs\mcp*.log

License

MIT License. See LICENSE file for details.

MCP Index is your go-to directory for Model Context Protocol servers. Discover and integrate powerful MCP solutions to enhance AI applications like Claude, Cursor, and Cline. Find official and community servers with integration guides and compatibility details.
Copyright © 2025