DevOps自动化服务器

通过自然语言与AI助手交互实现DevOps自动化,支持容器管理、进程监控、PaaS平台部署及容器注册表操作。

  • by acnlabs
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ACNet-AI/devops-mcp-server

使用说明

🚀 DevOps MCP服务器

通过对话实现通用DevOps自动化。使用自然语言和人工智能助手部署、监控和管理应用程序。

✨ 特性

🐳 Docker&Docker编写

  • 容器管理 -启动、停止、重新启动和监视容器
  • 编写操作 -管理多容器应用程序
  • 日志查看 -流式传输和搜索容器日志
  • 资源监控 -跟踪CPU、内存和网络使用情况

📊 过程监控

  • 服务状态 -检查服务是否正在运行
  • 系统信息 -查看内存、磁盘和CPU使用情况
  • 港口管理 -列出并检查端口使用情况

🚂 PaaS平台部署

  • 铁路 -用一个命令部署到铁路
  • 渲染 -部署web服务和数据库以渲染
  • Fly.io -部署到全球边缘位置

📦 集装箱登记处

  • Docker 中心 -构建、标记图像并将其推送到Docker Hub
  • 多平台构建 -为AMD64和ARM64构建

🎯 可用工具

Docker Compose(5个工具)

  • docker_compose_up -启动服务
  • docker_compose_down -停止并删除服务
  • docker_compose_logs -查看服务日志
  • docker_compose_ps -列出服务状态
  • docker_compose_restart -重新启动服务

Docker容器(7个工具)

  • docker_ps -列出容器
  • docker_logs -查看容器日志
  • docker_start -启动容器
  • docker_stop -停止容器
  • docker_restart -重新启动容器
  • docker_inspect -获取容器详细信息
  • docker_stats -查看资源使用情况

过程监控(3个工具)

  • check_service_status -检查服务是否正在运行
  • get_system_info -获取系统信息
  • list_ports_in_use -列出正在使用的端口

通用部署(8个工具)-适用于任何应用程序

  • clone_from_git -从Git克隆(GitHub/GitLab/Gitea/Bitbucket)
  • deploy_from_docker -从Docker镜像部署(任何容器化应用程序)
  • deploy_from_pypi -从PyPI安装(Python应用程序)
  • deploy_from_npm -从NPM安装(Node.js应用程序)
  • deploy_from_local -从本地目录部署
  • install_dependencies -自动检测并安装依赖关系
  • deploy_mcp_server -自动化MCP部署工作流程
  • check_mcp_server_health -验证MCP服务器运行状况

铁路部署(8个工具)🆕

  • railway_login -通过铁路进行身份验证
  • railway_init -初始化新项目
  • railway_link -链接到现有项目
  • railway_deploy -部署到铁路
  • railway_status -检查部署状态
  • railway_logs -查看应用程序日志
  • railway_env_set -设置环境变量
  • railway_env_list -列出环境变量

渲染部署(6个工具)🆕

  • render_login -使用渲染进行身份验证
  • render_create_service -创建新服务
  • render_deploy -部署或重新部署服务
  • render_logs -查看服务日志
  • render_env_set -设置环境变量
  • render_list_services -列出所有服务

Fly.io部署(8个工具)🆕

  • flyio_auth_login -通过Fly.io进行身份验证
  • flyio_launch -初始化新应用程序
  • flyio_deploy -部署应用程序
  • flyio_status -检查应用程序状态
  • flyio_logs -查看应用程序日志
  • flyio_scale -扩展实例或VM大小
  • flyio_secrets_set -设置机密(环境变量)
  • flyio_secrets_list -列出所有秘密

Docker注册表(7个工具)🆕

  • docker_login -登录Docker Hub或注册表
  • docker_build_image -从Dockerfile构建映像
  • docker_tag_image -用新名称标记图像
  • docker_push_image -将图像推送到注册表
  • docker_build_and_push -构建并推入一个命令
  • docker_list_local_images -列出本地图像
  • docker_remove_image -删除本地映像

总计:52个DevOps工具已准备就绪!

关键架构:

  • 🎯 通用优先:大多数工具适用于任何应用程序(web服务器、数据库、MCP)
  • 🔌 智能检测:自动检测项目类型并使用适当的工具
  • 🌍 平台无关:部署到任何地方(本地、远程、PaaS、容器)

快速开始

# Install dependencies
uv sync

# Start server
uv run python server.py

配置

添加到您的Claude桌面配置(claude_desktop_config.json):

{
  "mcpServers": {
    "devops-mcp-server": {
      "command": "uv",
      "args": ["run", "python", "server.py"],
      "cwd": "/path/to/devops-mcp-server"
    }
  }
}

项目结构

devops-mcp-server/
├── config.yaml          # Server configuration
├── pyproject.toml       # Python project configuration
├── server.py            # Server entry file
├── README.md            # Documentation
├── CHANGELOG.md         # Version change log
├── .env                 # Environment variables configuration
├── .gitignore           # Git ignore file
├── Dockerfile           # Docker container configuration
├── .dockerignore        # Docker build ignore file
├── docker-compose.yml   # Docker Compose orchestration
├── tools/               # Tools implementation directory
├── resources/           # Resources implementation directory
└── prompts/             # Prompt template directory

💬 使用示例

一旦连接到Claude Desktop或其他MCP客户端,您就可以自然地进行交互:

集装箱管理:

  • “启动我的docker编写服务”
  • “显示我的应用程序容器的日志”
  • “当前正在运行哪些容器?”
  • “重新启动数据库容器”

监控:

  • “nginx正在运行吗?”
  • “什么在使用端口8080?”
  • “显示系统资源使用情况”

Docker编写:

  • “打开我的应用程序堆栈”
  • “显示所有服务的状态”
  • “查看web服务的日志”

PaaS部署:

  • “将我的应用程序部署到铁路”
  • “检查我的铁路部署状态”
  • “将此Docker镜像推送到Docker Hub”
  • “将我的MCP服务器部署到Fly.io”

容器注册表:

  • “构建并推送我的应用程序:v1.0到Docker Hub”
  • “显示我的所有本地Docker映像”
  • “标记我的图像以供制作”

🛠️ 发展

服务器会自动从中发现工具 tools/ 目录结构:

tools/
├── docker/
│   ├── compose.py      # Docker Compose tools
│   └── container.py    # Container management tools
├── process/
│   └── monitor.py      # Process monitoring tools
├── deployment/
│   └── mcp_deploy.py   # MCP server deployment
├── paas/
│   ├── railway.py      # Railway deployment
│   ├── render.py       # Render deployment
│   └── flyio.py        # Fly.io deployment
└── registry/
    └── dockerhub.py    # Docker Hub operations

要添加新工具,请在相应的目录中创建Python文件,并用 @tool()

部署

Docker部署(推荐)

使用docker编写(最简单)

# 1. Start the service
docker-compose up -d

# 2. View logs
docker-compose logs -f

# 3. Stop the service
docker-compose down

使用Docker命令

# Build image
docker build -t devops-mcp-server .

# Run container
docker run -d \
  --name devops-mcp-server \
  --env-file .env \
  -v $(pwd)/data:/app/data \
  -v $(pwd)/logs:/app/logs \
  devops-mcp-server

本地开发

# Install dependencies
uv sync

# Run server
uv run python server.py

生产部署

对于生产部署,请确保:

  1. 在中配置环境变量 .env
  2. 设置适当的日志记录和监控
  3. 使用 restart: unless-stopped 在docker compose中(已配置)
  4. 装载数据的持久卷

健康检查

# Check if container is running
docker ps | grep devops-mcp-server

# View container logs
docker logs devops-mcp-server

# Check service status with docker-compose
docker-compose ps

高级用法

有关高级功能和示例,请参阅 示例目录 在mcp工厂存储库中。


产生于 MCP工厂