股票顾问代理MCP
一个复杂的股市分析助手,结合了实时股票数据、新闻分析和人工智能推荐。
特性
- 实时股票数据:从Zacks报价源获取股票信息
- 新闻分析:使用NewsAPI获取最新新闻标题
- AI驱动的分析:使用GPT-4分析股票数据和新闻情绪
- web界面:采用markdown格式的现代React前端
- 情境聊天:维护后续问题的对话历史记录
- MCP集成:使用模型上下文协议进行工具集成
建筑
Frontend (React) → API Server (Flask) → MCP Client → Stocks Server (MCP Tools)安装说明
1.创建虚拟环境(推荐)
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On macOS/Linux:
source venv/bin/activate
# On Windows:
# venv\Scripts\activate2.安装依赖项
# Install Python dependencies
pip install mcp langchain-mcp-adapters langgraph openai flask flask-cors requests newsapi-python
# Install frontend dependencies
cd frontend
npm install3.配置API密钥
更新以下文件中的API密钥:
api_server.py:更新您的OpenAI API密钥(替换#OPENAI_API_KEY使用您的实际密钥)stocks_server.py:更新您的NewsAPI密钥(替换"Api Key Here"使用您的实际密钥)
4.启动服务器
# Terminal 1: Start API server (this will automatically start the stocks server as needed)
python api_server.py
# Terminal 2: Start frontend
cd frontend
npm run dev备注:您不需要手动启动 stocks_server.py。它在需要时由API服务器自动作为子流程启动。
5.访问应用程序
- 前端: http://localhost:5173(或Vite显示的端口)
- API服务器: http://localhost:5050
- 健康检查: http://localhost:5050/api/health
用法
- 在浏览器中打开前端
- 询问有关股票的问题,例如:
- “微软今天看起来怎么样?” - “我应该买苹果股票吗?” - “获取有关特斯拉的新闻并分析股票” - “NVIDIA的最新进展是什么?”
AI代理将:
- 从Zacks获取实时股票数据
- 从NewsAPI获取相关新闻头条
- 使用GPT-4分析信息
- 提供带有详细推理的买入/持有/卖出建议
- 使用标记表、粗体文本和清晰结构设置回复格式
API终点
POST /api/analyze:根据用户消息分析股票GET /api/health:健康检查端点
可用工具
get_stock_data(ticker):从Zacks报价源获取股票数据get_news(keyword, category, language, country):从NewsAPI获取新闻文章
特性
情境聊天
- 维护每个会话的对话历史记录
- 后续问题参考了之前的分析
- 避免不必要地重复信息
丰富的格式
- 关键指标的Markdown表格
- 重要数字和标题的粗体文本
- 可点击的新闻链接
- 推荐的区块链报价
- 专业但对话式的语气
实时分析
- 当前股价和业绩
- 分析师评级和建议
- 财务指标(市盈率、每股收益、收入增长)
- 技术指标和趋势
- 近期新闻情绪分析
故障排除
依赖关系问题
- 确保您处于虚拟环境中:
source venv/bin/activate - 安装所有必需的软件包:
pip install -r requirements.txt(如果可用) - 对于前端问题:
cd frontend && npm install
API连接问题
- 验证API服务器是否正在端口5050上运行
- 如果前端无法连接,请检查CORS设置
- 确保在中设置了OpenAI API密钥
api_server.py
新闻API问题
- 验证您的NewsAPI密钥是否有效并已在中设置
stocks_server.py - 检查API配额限制
- 确保关键字不太具体
股票服务器问题
- 股票服务器作为子进程运行,无需手动启动
- 仅
stdio支持传输(无TCP) - 检查API服务器输出中的日志是否存在错误
发展
要修改系统,请执行以下操作:
- 添加新工具:编辑
stocks_server.py并添加新@mcp.tool()函数 - 更新前端:修改
frontend/src/App.tsx - 更改API:编辑
api_server.py对于新端点 - 更新提示:在中修改系统消息
api_server.py - 添加日志记录:使用
print()调试工具中的语句
项目结构
Stocks-Advisor-Agent-MCP/
├── api_server.py # Flask API server
├── stocks_server.py # MCP server with stock tools
├── client.py # MCP client for testing
├── frontend/ # React frontend
│ ├── src/
│ ├── package.json
│ └── ...
└── README.md许可证
该项目用于教育和示范目的。
