轻量级DevOps MCP服务器
一个基于HTTP的综合模型上下文协议(MCP)服务器,提供自主的DevOps操作,包括部署管理、日志监控、指标收集和回滚功能。使用FastAPI构建,使用干净的架构原则,专为具有集成身份验证、安全和监控的企业环境而设计。
团队信息
团队名称: (5879)
团队成员: \[阿布舍克·兰詹\]
黑客马拉松主题/挑战
主题: \[主题2\]
应对的挑战: 构建一个自主的DevOps平台,使AI代理能够通过标准化的模型上下文协议(MCP)接口执行复杂的DevOps操作,并为企业环境提供集成的安全、监控和基于角色的访问控制。
演示视频链接
\[此处将添加演示视频\]
Github回购链接
\[https://github.com/abhishekrnjn/light-devops-mcp-server\]
我们建造了什么
该项目是一个生产就绪的自主DevOps MCP服务器,提供:
核心能力
- MCP协议合规性:通过2个资源和12个工具全面实现HTTP上的模型上下文协议
- 双模式操作:在直接模式和Cequence网关路由之间无缝切换,以增强安全性
- 实时数据流:当真正的API调用在后台执行时,立即产生伪数据响应
- 全面的错误处理:强大的回退机制和详细的错误报告
DevOps 运营
- 部署管理:将服务部署到具有特定环境权限的多个环境(开发、测试、生产)
- 回滚功能:通过全面的审计跟踪和原因验证实现安全部署回滚
- 日志监控:具有级别过滤(调试、信息、警告、错误)和源跟踪的实时日志聚合
- 指标收集:性能和健康指标监控,可定制过滤和单位支持
安全和身份验证
- Descope集成:通过JWT令牌验证和自动刷新进行企业级身份验证
- 基于角色的访问控制:不同用户角色(观察者、开发人员、开发人员prod_access)的粒度权限
- 环境特定控制:暂存与生产许可分离
- 匿名访问支持:开发友好的匿名访问模式
监测和可观察性
- 数据狗集成:可选的高级监控和日志记录,可自动回退到模拟数据
- 后果网关:用于审计跟踪和策略执行的安全网关集成
- 综合录井:带有表情符号指示器的结构化日志记录,便于调试
- 健康检查:内置健康监测和状态报告
主要特点
- 清洁建筑:具有独立关注点(领域、基础设施、模式)的领域驱动设计
- 异步/等待:完全异步操作,实现高性能
- 类型安全:全面的类型提示和Pydantic模型
- 配置管理:基于环境的配置,具有合理的默认值
- Docker支持:使用Dockerfile和生产配置进行容器化部署
如何跑步
先决条件
- Python 3.10或更高版本
- pip包管理器
地方发展
- 克隆存储库
git clone
cd light-devops-mcp-server- 创建虚拟环境
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- 安装依赖项
pip install -r requirements.txt- 设置环境变量 (开发可选)
# Create .env file with optional configurations
echo "AUTH_ALLOW_ANONYMOUS=true" > .env
echo "CEQUENCE_ENABLED=false" >> .env- 运行服务器
python mcp_http_server.py服务器将于启动 http://localhost:8001 (或指定的端口 PORT 环境变量)
Docker部署
- 构建Docker镜像
docker build -t light-devops-mcp-server .- 运行容器
docker run -p 8000:8000 light-devops-mcp-server生产部署(Render.com)
该项目包括 render.yaml 在Render.com上轻松部署的配置:
- 将您的GitHub存储库连接到Render
- 在Render仪表板中设置所需的环境变量:
- CEQUENCE_GATEWAY_URL (如果使用Cequence) - DESCOPE_PROJECT_ID (如果使用Descope身份验证) - DESCOPE_MANAGEMENT_KEY (如果使用Descope身份验证) - DD_API_KEY 和 DD_APP_KEY (如果使用Datadog)
API终点
核心MCP端点
GET /-服务器信息、功能和可用端点GET /mcp/resources-列出所有可用的MCP资源(日志、指标)GET /mcp/resources/logs-通过可选的筛选(级别、限制、原因)获取系统日志GET /mcp/resources/metrics-通过可选过滤(限制、服务)获取性能指标GET /mcp/resources/{resource_path}-按URI路径读取特定资源GET /mcp/tools-列出所有可用的MCP工具
DevOps 运营
POST /mcp/tools/deploy_service-将服务部署到特定环境POST /mcp/tools/rollback_deployment-根据原因和环境回滚部署POST /mcp/tools/authenticate_user-对用户进行身份验证并获取权限
Cequence网关MCP工具(用于网关集成)
POST /mcp/tools/getMcpResourcesLogs-通过MCP工具调用获取日志POST /mcp/tools/getMcpResourcesMetrics-通过MCP工具调用获取指标POST /mcp/tools/postMcpToolsDeployService-通过MCP工具调用部署服务POST /mcp/tools/postMcpToolsRollbackDeployment-通过MCP工具调用回滚POST /mcp/tools/postMcpToolsAuthenticateUser-通过MCP工具调用进行身份验证POST /mcp/tools/get-通过MCP工具调用获取服务器信息POST /mcp/tools/getMcpResources-通过MCP工具调用列出资源POST /mcp/tools/getMcpTools-通过MCP工具调用列出工具
技术栈
核心技术
- Python 3.10+:支持async/await的核心编程语言
- 快速 API:具有自动OpenAPI文档的现代快速web框架
- 乌维科恩:用于生产部署的高性能ASGI服务器
- 派丹蒂克:数据验证、序列化和设置管理
- HTTPX:用于外部API调用和Cequence网关集成的异步HTTP客户端
身份验证和安全
- 下坡:具有JWT令牌管理的企业身份验证平台
- JWT公司:用于安全会话管理的JSON Web令牌
- RBAC:基于角色的访问控制,具有细粒度权限
- 后果网关:用于审计跟踪和策略执行的安全网关
监测和可观察性
- 数据狗API:高级监控、日志记录和指标收集
- 结构化日志记录:使用表情符号指示器进行全面日志记录
- 模拟数据生成:用于即时UI响应的真实虚拟数据
- 健康监测:内置健康检查和状态报告
基础设施和部署
- 码头工人:多阶段构建的容器化
- Render.com:具有自动扩展功能的云部署平台
- 环境配置:灵活的配置管理
- CORS支持:用于前端集成的跨源资源共享
开发和代码质量
- 黑色:代码格式化,行长88个字符
- isort:导入排序,兼容黑色配置文件
- MyPy:严格模式下的静态类型检查
- 拉夫:快速Python linter和格式化程序
- 预承诺:Git挂钩用于自动代码质量检查
- 类型提示:在整个代码库中提供全面的类型注释
我们会用更多的时间做什么
增强的实时功能
- 服务器发送事件(SSE):实现日志和指标的真正实时流式传输
- WebSocket支持:实时更新的双向通信
- 实时通知:推送部署状态更改通知
- 实时仪表板更新:自动UI刷新,无需手动轮询
高级监控和可观察性
- 自定义仪表板:用户可配置的带有拖放小部件的监控仪表板
- 警报管理:智能警报,人工智能降噪
- 性能分析:先进的性能趋势分析和报告
- 成本优化:人工智能驱动的资源优化建议
企业功能
- 多租户架构:通过专用资源增强租户隔离
- 审计日志:具有可搜索历史记录的全面审计跟踪
- 合规框架:内置对SOC2、GDPR、HIPAA合规性的支持
- 集成中心:为流行的DevOps工具(Jenkins、GitLab等)预先构建的连接器
性能和可扩展性
- Redis缓存:分布式缓存层,可缩短响应时间
- 数据库集成:PostgreSQL/MongoDB用于持久存储和历史记录
- 负载平衡:具有多个服务器实例的水平扩展
- 速率限制:具有每个用户和每个端点控制的高级速率限制
增强的安全性
- API密钥管理:安全的API密钥轮换和管理系统
- 端加密:对传输中和静止的敏感数据进行加密
- 漏洞扫描:自动安全扫描和依赖关系更新
