README
🚀 模型上下文协议(MCP)服务器
本项目仓库提供了在Azure Kubernetes Service (AKS) 上部署MCP服务器所需的Kubernetes配置文件,助力用户轻松完成MCP服务器的部署工作。
🚀 快速开始
先决条件
在开始部署前,请确保您的环境中已安装以下工具:
- Azure CLI
- kubectl
- Docker
- Node.js 18+版本
项目结构
项目的整体结构如下:
.
├── k8s/
│ ├── deployment.yaml # Kubernetes部署配置文件
│ ├── service.yaml # Kubernetes服务配置文件
│ └── configmap.yaml # Kubernetes ConfigMap用于环境变量
├── src/ # 源代码目录
├── Dockerfile # 容器构建配置文件
├── package.json # Node.js依赖项管理文件
└── tsconfig.json # TypeScript配置文件
部署步骤
按照以下步骤完成MCP服务器的部署:
- 构建Docker镜像:
docker build -t mcp-server:latest .
- 将镜像推送到Azure容器注册表(ACR):
az acr login --name <your-acr-name>
docker tag mcp-server:latest <your-acr-name>.azurecr.io/mcp-server:latest
docker push <your-acr-name>.azurecr.io/mcp-server:latest
- 应用Kubernetes配置文件:
kubectl apply -f k8s/
- 验证部署状态:
kubectl get pods
kubectl get services
✨ 主要特性
配置灵活
应用程序可以通过在ConfigMap(k8s/configmap.yaml)中定义的环境变量进行灵活配置。
健康检查
应用程序暴露了一个/health端点,可用于Kubernetes健康检查,方便及时掌握应用程序的运行状态。
监控便捷
- 资源使用情况可通过Azure Monitor进行监控,为资源管理提供有力支持。
- 应用程序日志可通过
kubectl logs命令获取,便于问题排查和分析。
安全可靠
- 应用程序使用HTTPS协议,保障数据传输的安全性。
- 配置了跨域资源共享(CORS),实现安全的跨域请求。
- 实现了速率限制功能,有效防止滥用攻击。
- 使用Helmet.js增强了HTTP安全头配置,进一步提升应用程序的安全性。
扩展性强
部署默认配置为3个副本集。可以根据实际需求,通过以下命令进行扩展:
kubectl scale deployment mcp-server --replicas=<数量>
Scan to join WeChat group