investor-agent 是一个模型上下文协议(MCP)服务器,它为大型语言模型提供全面的财务洞察和分析。它利用实时市场数据、基本面和技术分析来提供:
该服务器集成yfinance以获取市场数据,并自动优化数据量以提高性能。
强大的缓存与错误处理策略:
yfinance[nospam] → 内置智能缓存+速率限制,用于Yahoo Finance APIhishel → 对外部API(CNN、加密货币、收益数据)的HTTP响应缓存tenacity → 对于瞬时故障的重试逻辑,采用指数退避这种多层方法确保了可靠的数据交付,同时尊重API速率限制并最小化冗余请求。
curl -LsSf https://astral.sh/uv/install.sh | sh
# 仅核心功能
uvx investor-agent
# 带有技术指标(需要TA-Lib)
uvx "investor-agent[ta]"
# 带有Alpaca日内数据(需要Alpaca API密钥)
uvx "investor-agent[alpaca]"
# 带有所有可选功能
uvx "investor-agent[ta,alpaca]"
get_market_movers(category="most-active", count=25, market_session="regular") - 包括最大赢家、输家或最活跃股票的市场动态数据。支持不同市场时段(常规/盘前/盘后)的最活跃类别。返回最多100只股票,包括清洗过的百分比变化、成交量和市值数据get_ticker_data(ticker, max_news=5, max_recommendations=5, max_upgrades=5) - 综合股票代码报告,具有基本字段过滤和可配置的新闻、分析师推荐及评级变动数量限制get_options(ticker_symbol, num_options=10, start_date=None, end_date=None, strike_lower=None, strike_upper=None, option_type=None) - 期权数据,通过日期范围(YYYY-MM-DD)、行权价边界和期权类型(C=认购,P=认沽)进行高级筛选get_price_history(ticker, period="1mo") - 历史OHLCV数据,具有智能间隔选择:对于≤1年的周期使用每日间隔,对于≥2年的周期使用每月间隔以优化数据量get_financial_statements(ticker, statement_types=["income"], frequency="quarterly", max_periods=8) - 财务报表,支持并行获取。返回以报表类型为键的字典get_institutional_holders(ticker, top_n=20) - 主要机构和共同基金持有人数据get_earnings_history(ticker, max_entries=8) - 历史收益数据,具有可配置的条目数量限制get_insider_trades(ticker, max_trades=20) - 近期内部交易活动,具有可配置的交易数量限制get_nasdaq_earnings_calendar(date=None, limit=100) - 使用Nasdaq API获取即将公布的收益公告(YYYY-MM-DD格式,默认为今天)。fetch_intraday_data(stock, window=200) - 使用Alpaca API获取15分钟历史股票条形图。返回包含时间戳和收盘价数据的CSV字符串,时区为EST。需要安装investor-agent[alpaca]并设置环境变量ALPACA_API_KEY/ALPACA_API_SECRET。get_cnn_fear_greed_index(indicators=None) - CNN恐惧与贪婪指数,具有选择性指标过滤。可用指标:fear_and_greed, fear_and_greed_historical, put_call_options, market_volatility_vix, market_volatility_vix_50, junk_bond_demand, safe_haven_demandget_crypto_fear_greed_index() - 当前加密货币恐惧与贪婪指数,带有值、分类和时间戳get_google_trends(keywords, period_days=7) - Google Trends相关搜索兴趣,针对市场相关的关键词。需要跟踪关键词列表(例如,["股市崩盘", "牛市", "经济衰退", "通货膨胀"])。返回可以作为情绪指标使用的相对搜索兴趣分数。calculate_technical_indicator(ticker, indicator, period="1y", timeperiod=14, fastperiod=12, slowperiod=26, signalperiod=9, nbdev=2, matype=0, num_results=100) - 计算技术指标(SMA、EMA、RSI、MACD、BBANDS),具有可配置参数和结果限制。返回包含价格数据和指标数据的CSV字符串字典。matype值:0=SMA, 1=EMA, 2=WMA, 3=DEMA, 4=TEMA, 5=TRIMA, 6=KAMA, 7=MAMA, 8=T3。需要TA-Lib库。添加到您的claude_desktop_config.json:
{
"mcpServers": {
"investor": {
"command": "uvx",
"args": ["investor-agent"]
}
}
}
对于本地开发和测试,使用附带的chat.py脚本:
# 安装开发依赖项
uv sync --group dev
# 设置您的API密钥
export OPENAI_API_KEY="your-api-key" # 或 ANTHROPIC_API_KEY, GEMINI_API_KEY等
# 可选:设置自定义模型(默认为openai:gpt-5-mini)
export MODEL_IDENTIFIER="your-preferred-model"
# 运行聊天界面
python chat.py
有关可用的模型提供商和标识符,请参阅pydantic-ai文档。
npx @modelcontextprotocol/inspector uvx investor-agent
MIT许可证。详情见LICENSE文件。