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.
- Python: 3.12 or higher
-
Package Manager: uv. Install if needed:
curl -LsSf https://astral.sh/uv/install.sh | sh
- 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.
# 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
-
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.
-
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.
-
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.
Add to your claude_desktop_config.json
:
{
"mcpServers": {
"investor": {
"command": "uvx",
"args": ["investor-agent"]
}
}
}
npx @modelcontextprotocol/inspector uvx investor-agent
Log locations:
- macOS:
~/Library/Logs/Claude/mcp*.log
- Windows:
%APPDATA%\Claude\logs\mcp*.log
MIT License. See LICENSE file for details.
Github Url
https://github.com/ferdousbhai/investor-agent
Created: 11/09/2025
Last updated: 11/09/2025