MCP股票代理
具有自动化CI管道和云部署的生产就绪股票市场分析后端
🎯 概述
此存储库是一个生产就绪的股票市场分析后端,利用 模型上下文协议(MCP) 来自Anthropic。后端服务使人工智能代理能够通过NewsAPI、雅虎财经和谷歌的实时新闻聚合提供的全面分析来评估特定股票。
演示:
https://github.com/user-attachments/assets/84d28c66-edb3-4091-b697-92148fa884d9
主要特点:
- ✅ 自动化CI管道:GitLab CI用于自动化Docker镜像构建和标记
- ✅ 云原生设计:Kubernetes编排与AWS EKS部署
- ✅ MCP协议实现:AI代理和工具之间基于HTTP的流式通信
- ✅ 可扩展架构:基于模块化MCP的工具系统允许无缝集成其他数据源(例如历史图表、用于更深入分析的图像)
- ✅ 现代后端堆栈:具有容器化架构的FastAPI
______________________________________________________________________
🏗️ 建筑
┌─────────────┐ HTTP/MCP Protocol ┌─────────────┐
│ FastAPI │ ◄──────────────────────────► │ MCP Server │
│ Client │ │ (Tools) │
│ (GPT-4o) │ │ │
└─────────────┘ └─────────────┘
│
├─► NewsAPI
├─► Yahoo Finance
└─► Google后端组件:
- 客户服务:FastAPI应用程序与GPT-4o集成,用于智能查询处理
- MCP 服务器:遵循Anthropic模型上下文协议的标准化HTTP服务,用于工具编排
______________________________________________________________________
🚀 快速开始
先决条件
Python 3.10+
Docker & Kubernetes (for deployment)
OpenAI API Key
NewsAPI Key (free tier available at https://newsapi.org/)本地开发
# Environment setup
python -m venv venv
source venv/bin/activate
pip install -r client/requirements.txt -r server/requirements.txt
# Configuration
cat > .env \
--docker-password= \
--docker-email=
# Deploy to staging
make staging_deploy
# Access backend service
# URL: http://$(minikube ip):30031
# Once staging service works, deploy release version
make release
# URL: http://$(minikube ip):300322.️⃣ AWS EKS生产
设置AWS CLI和eksctl:
# Install AWS CLI
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip && sudo ./aws/install
aws --version
# Configure credentials (requires IAM user with EKS permissions)
aws configure
# Install eksctl
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
eksctl version部署到EKS:
# Provision cluster (uses t3.micro free-tier nodes - adjust in aws-eks/eks-cluster.yaml for production)
eksctl create cluster -f aws-eks/eks-cluster.yaml
# Deploy application
make release_aws_eks
# Get service endpoint
kubectl get svc mcp-stock-agent -n agentic-release
# Access at: http:///docs⚠️ 成本管理
# Always delete cluster after testing
eksctl delete cluster -f aws-eks/eks-cluster.yaml
# Verify deletion in AWS Console:
# - EC2 instances
# - EKS cluster
# - EBS volumes (if persistent storage was used)______________________________________________________________________
🛠️ 技术栈
| 层 | 技术 |
|---|---|
| 后端 | FastAPI,Python |
| AI集成 | OpenAI GPT-4o |
| 协议 | 人类MCP(模型上下文协议) |
| 容器化 | Docker |
| 编排 | 库贝内特斯 |
| 持续集成 GitLab 的 | |
| 云 AWS-EKS-- |
______________________________________________________________________
🔮 未来的增强功能
DevOps:
- \[\]用于直接EKS部署的自动化CD管道
- \[\]Prometheus+Grafana监控堆栈
- \[\]模板化部署的Helm图表
后端功能:
- \[\]技术分析API(价格图表、指标)
- \[\]估值指标终点(市盈率、市盈率、DCF分析)
- \[\]股票筛选API低估的机会
- \[\]买卖推荐引擎
演出
- \[\]探索开源模型(权衡:在复杂的工具调用场景中准确性降低)
- \[\]用于频繁请求的股票数据的缓存层
- \[\]速率限制和请求优化
______________________________________________________________________
📄 许可证
MIT许可证-有关详细信息,请参阅许可证文件
______________________________________________________________________
