代理投资者:金融分析MCP服务器
概述
这 代理投资者 是一个模型上下文协议(MCP)服务器,为大型语言模型提供全面的财务见解和分析。它利用实时市场数据、基本面和技术分析来提供:
- 市场推动者: 不同市场时段支撑的涨幅最大、跌幅最大和最活跃的股票
- 票务分析: 公司概述、新闻、指标、分析师建议和升级/降级
- 选项数据: 具有可定制参数的筛选选项链
- 历史数据: 价格趋势和收益历史
- 财务报表: 收入、资产负债表和现金流量表
- 所有权分析: 机构持有人和内幕交易活动
- 收益日历: 即将发布的带有日期过滤的收益公告
- 市场情绪: CNN恐惧与贪婪指数、加密货币恐惧与贪婪索引和谷歌趋势情绪分析
- 技术分析: SMA、EMA、RSI、MACD、BBANDS指标(可选)
- 日内数据: 通过Alpaca API的15分钟历史库存酒吧(可选)
服务器与 y融资 用于市场数据,并自动优化数据量以获得更好的性能。
架构与性能
强大的缓存和错误处理策略:
yfinance[nospam]→ 内置智能缓存+雅虎金融API的速率限制hishel→ 外部API(CNN、加密货币、收益数据)的HTTP响应缓存tenacity→ 针对瞬态故障,采用指数回退的重试逻辑
这种多层次的方法确保了可靠的数据传递,同时遵守API速率限制并最大限度地减少冗余请求。
先决条件
- python 3.12或更高
- 包管理器: 紫外线如有需要,请进行安装:
curl -LsSf https://astral.sh/uv/install.sh | sh可选依赖关系
安装
快速开始
# Core features only
uvx agentic-investor
# With technical indicators (requires TA-Lib)
uvx "agentic-investor[ta]"
# With Alpaca intraday data (requires Alpaca API keys)
uvx "agentic-investor[alpaca]"
# With all optional features
uvx "agentic-investor[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)-具有并行提取支持的财务报表。返回以语句类型为键的dictget_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)-即将发布的盈利公告使用纳斯达克API(YYYY-MM-DD格式,默认为今天)。fetch_intraday_data(stock, window=200)-使用Alpaca API获取15分钟历史库存酒吧。返回带有时间戳和EST时区收盘价数据的CSV字符串。需要agentic-investor[alpaca]安装和ALACA_API_KEY/ALPACA_API_SECRET环境变量。
市场情绪
get_cnn_fear_greed_index(indicators=None)-CNN恐惧与贪婪指数,具有选择性指标过滤功能。可用指标:恐惧与贪婪、恐惧与贪婪历史、投入与选择、市场波动性波动、市场波动率波动50、垃圾桶需求、安全避险需求get_crypto_fear_greed_index()-当前加密货币恐惧和贪婪指数,包括值、分类和时间戳get_google_trends(keywords, period_days=7)-谷歌趋势对市场相关关键词的相对搜索兴趣。需要跟踪关键字列表(例如,\[“股市崩盘”、“牛市”、“衰退”、“通货膨胀”\])。返回可用作情绪指标的相对搜索兴趣分数。
技术分析
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)。将price_data和indicator_data作为CSV字符串返回字典。类型值:0=SMA,1=EMA,2=WMA,3=DEMA,4=TEMA,5=TRIMA,6=KAMA,7=MAMA,8=T3。需要TA Lib库。
在本地使用MCP客户端
安装mcp远程
https://www.npmjs.com/package/mcp-remote
npm i mcp-remote启动服务器并添加到您的 claude_desktop_config.json:
uv run python -m agentic_investor.server{
"mcpServers": {
"Agentic-Investor": {
"command": "npx",
"args": [
"mcp-remote",
"http://0.0.0.0:8000/mcp",
"--allow-http"
]
}
}
}局部测试
对于本地开发和测试,请使用附带的 chat.py 脚本:
# Install dev dependencies
uv sync --group dev
# Set up your API key
export OPENAI_API_KEY="your-api-key" # or ANTHROPIC_API_KEY, GEMINI_API_KEY, etc.
# Optional: Set custom model (defaults to openai:gpt-5-mini)
export MODEL_IDENTIFIER="your-preferred-model"
# Run the chat interface
python chat.py有关可用的模型提供程序和标识符,请参阅 伪人工智能文档.
调试
MCP检查员
npx @modelcontextprotocol/inspector uvx agentic-investor调试日志记录
启用详细的调试日志记录以进行开发和故障排除:
# Enable debug logging
export DEBUG_LOGGING=true
# Run with debug logging
DEBUG_LOGGING=true python -m agentic_investor.server看 DEBUG_LOGGING.md 有关记录的内容以及如何使用它的更多详细信息。
许可证
MIT许可证。看 许可证 文件以获取详细信息。
