使用说明
MCP YFinance服务器-完整的财务分析套件
一个综合的MCP(模型上下文协议)服务器,结合了实时情绪分析、股票数据分析和纸质交易功能。
特性
股票数据分析
- 获取当前股票价格和交易信息
- 具有可定制期间的历史价格数据
- 详细的公司信息和财务指标
情感分析
- 使用Google Gemini AI进行实时情绪分析
- Alpha Vantage和NewsAPI的新闻情绪
- 来自Reddit的社交媒体情绪(r/wallstreetbets,r/stocks,r/investment)
- 智能缓存可最大限度地减少API调用
- 多个股票的批处理
- 历史情绪追踪
- 趋势自动收报机检测
票据交易
- 查看您的REAL Paper Invest账户余额和头寸
- 在您的Paper Invest账户中执行真实的买入/卖出订单
- 通过Paper Invest API进行JWT认证
- 实时订单执行和投资组合管理
快速开始
先决条件
- Node.js 16+用于情绪分析服务器
- MCP服务器的Python 3.11+(如果使用Python组件)
安装
-
克隆并导航到项目:
cd mcp-server -
安装Node.js依赖项:
npm install -
配置环境变量:
cp .env.example .env -
将API密钥添加到
.env: -
启动服务器:
npm start
情绪分析API终点
单票情绪
GET /sentiment/ticker/{symbol}?social=true
通过全面的来源细分分析单个股票的情绪。
参数:
symbol:股票代码(例如AAPL、TSLA)social:包括社交媒体情绪(可选,默认值:false)
答复:
{
"ticker": "AAPL",
"timestamp": "2025-12-12T00:00:00Z",
"sentiment_score": 0.45,
"sentiment_label": "positive",
"confidence": 0.78,
"sources_analyzed": 25,
"source_breakdown": {
"news": {"score": 0.52, "count": 15},
"social": {"score": 0.38, "count": 10}
},
"top_headlines": [
{
"title": "Apple announces new product",
"score": 0.8,
"source": "Reuters",
"url": "https://..."
}
]
}
批量分析
POST /sentiment/analyze
同时分析多个自动收报机,以实现高效的批量处理。
请求正文:
{
"tickers": ["AAPL", "MSFT", "GOOGL"],
"includeSocial": false,
"newsLimit": 20,
"socialLimit": 30
}
趋势情绪检测
GET /sentiment/trending?tickers=AAPL,TSLA,NVDA&threshold=0.3
识别具有重大情绪变化和势头的股票。
MCP工具文档
库存数据工具
get_stock_price
获取当前股票价格和基本交易信息。
参数:
symbol(字符串,必填):股票代码(例如AAPL、GOOGL、TSLA)
get_stock_历史
获取指定日期范围的历史价格数据。
参数:
symbol(字符串,必填):股票代码period(字符串,可选):1天、5天、1个月、3个月、6个月、1年、2年、5年、10年、年初至今、最大值(默认值:1个月)
get_stock_info
获取详细的公司信息和关键财务指标。
参数:
symbol(字符串,必填):股票代码
纸质交易工具
get_投资组合平衡
查看您当前的REAL Paper Invest账户余额和头寸。
参数: 无
地点_购买_订购
在您的Paper Invest账户中执行真实的买入订单。
参数:
symbol(字符串,必填):股票代码shares(数字,必填):要购买的股份数量
place_sell_order
在您的Paper Invest账户中执行真实的卖出订单。
参数:
symbol(字符串,必填):股票代码shares(数字,必填):待售股份数量
情绪评分系统
情绪评分范围从-1(非常消极)到+1(非常积极):
- 0.2至1.0:积极情绪-看涨指标
- -0.2至0.2:中性情绪-混合信号
- -1.0至-0.2:负面情绪-看跌指标
测试
运行情绪分析测试:
npm test
测试单个组件:
# Start sentiment server
npm start
# In another terminal
node tests/sentiment.test.js
node tests/health.test.js
试卷交易:
# Test paper trading functionality
.venv/bin/python tests/test_paper_trading.py
# Complete demo with all features
.venv/bin/python tests/demo_complete.py
建筑
mcp-server/
├── src/
│ ├── index.js # Main server with API routes
│ └── sentiment/
│ ├── sentimentAnalyzer.js # Core sentiment logic with Gemini AI
│ ├── newsProvider.js # Financial news integration
│ ├── socialProvider.js # Social media sentiment
│ └── cache.js # Intelligent caching layer
├── tests/ # Comprehensive test suite
├── mcp_yfinance_server.py # MCP server implementation
└── docs/ # Setup and configuration guides
性能与优化
- 智能高速缓存:使用30分钟的TTL将API调用减少60%以上
- 批处理:在5秒内分析5个股票行情
- 速率限制:遵守所有API限制并提供后备策略
- 异步架构:无阻塞操作,实现最佳性能
API费率限制与管理
免费等级限制:
- Gemini AI:60个请求/分钟
- Alpha Vantage:25个请求/天
- NewsAPI:100个请求/天
- Reddit:60个请求/分钟
- 财务建模准备:250个请求/天
利率限制策略:
- 当双子座的利率受到限制时,自动回退到VADER情绪
- 智能缓存可防止重复的API调用
- 批量处理优化了API的使用
- 服务不可用时性能下降
错误处理和可靠性
服务器为以下内容提供全面的错误处理:
- 无效的股票代码和有用的建议
- 网络连接问题和超时
- API服务限制和中断
- 财务数据缺失或不完整
- 身份验证失败,但有明确的指导
生产准备特征
- 真实票据交易集成:与Paper Invest API的实时连接
- 综合录井:用于调试的完整请求/响应日志记录
- 环境配置:安全的API密钥管理
- 模块化架构:易于扩展以适应新的数据源
- 测试覆盖率:所有主要功能的完整测试套件
未来的增强功能
- 高级分析:技术指标整合
- 实时流媒体:WebSocket支持实时更新
- 数据库持久性:用于回溯测试的历史数据存储
- 可视化仪表盘:交互式图表和分析
- ML模型集成:自定义情绪模型和预测
- 多经纪人支持:其他交易平台集成
支持的数据源
股票代码: 所有雅虎财经支持的符号包括:
- 美国股票(AAPL、GOOGL、MSFT等)
- 具有适当后缀的国际市场
- ETF、共同基金和指数
- 加密货币(BTC-USD、ETH-USD等)
新闻来源:
- 阿尔法Vantage财经新闻
- NewsAPI全面报道
- 财务建模准备收益数据
社会化媒体:
- Reddit(r/wallstreets,r/stocks,r/investment)
- Twitter集成(可配置)
作者
安德烈·丘亚博 (andre102599@gmail.com) github: https://github.com/AndreChuabio
专为需要在单个MCP服务器中实时情绪情报和纸上交易的量化交易员和金融分析师而设计。