ACNet-AI/devops-mcp-server
If you are the rightful owner of devops-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The DevOps MCP Server enables universal DevOps automation through natural language conversation, allowing users to deploy, monitor, and manage applications with AI assistants.
🚀 DevOps MCP Server
Universal DevOps automation through conversation. Deploy, monitor, and manage applications using natural language with AI assistants.
✨ Features
🐳 Docker & Docker Compose
- Container Management - Start, stop, restart, and monitor containers
- Compose Operations - Manage multi-container applications
- Log Viewing - Stream and search container logs
- Resource Monitoring - Track CPU, memory, and network usage
📊 Process Monitoring
- Service Status - Check if services are running
- System Info - View memory, disk, and CPU usage
- Port Management - List and check port usage
🚂 PaaS Platform Deployment
- Railway - Deploy to Railway with one command
- Render - Deploy web services and databases to Render
- Fly.io - Deploy to edge locations worldwide
📦 Container Registry
- Docker Hub - Build, tag, and push images to Docker Hub
- Multi-platform builds - Build for AMD64 and ARM64
🎯 Available Tools
Docker Compose (5 tools)
docker_compose_up- Start servicesdocker_compose_down- Stop and remove servicesdocker_compose_logs- View service logsdocker_compose_ps- List service statusdocker_compose_restart- Restart services
Docker Containers (7 tools)
docker_ps- List containersdocker_logs- View container logsdocker_start- Start a containerdocker_stop- Stop a containerdocker_restart- Restart a containerdocker_inspect- Get container detailsdocker_stats- View resource usage
Process Monitoring (3 tools)
check_service_status- Check if a service is runningget_system_info- Get system informationlist_ports_in_use- List ports in use
Universal Deployment (8 tools) - Works for any application
clone_from_git- Clone from Git (GitHub/GitLab/Gitea/Bitbucket)deploy_from_docker- Deploy from Docker image (any containerized app)deploy_from_pypi- Install from PyPI (Python applications)deploy_from_npm- Install from NPM (Node.js applications)deploy_from_local- Deploy from local directoryinstall_dependencies- Auto-detect and install dependenciesdeploy_mcp_server- Automated MCP deployment workflowcheck_mcp_server_health- Verify MCP server health
Railway Deployment (8 tools) 🆕
railway_login- Authenticate with Railwayrailway_init- Initialize new projectrailway_link- Link to existing projectrailway_deploy- Deploy to Railwayrailway_status- Check deployment statusrailway_logs- View application logsrailway_env_set- Set environment variablesrailway_env_list- List environment variables
Render Deployment (6 tools) 🆕
render_login- Authenticate with Renderrender_create_service- Create new servicerender_deploy- Deploy or redeploy servicerender_logs- View service logsrender_env_set- Set environment variablesrender_list_services- List all services
Fly.io Deployment (8 tools) 🆕
flyio_auth_login- Authenticate with Fly.ioflyio_launch- Initialize new applicationflyio_deploy- Deploy applicationflyio_status- Check application statusflyio_logs- View application logsflyio_scale- Scale instances or VM sizeflyio_secrets_set- Set secrets (env vars)flyio_secrets_list- List all secrets
Docker Registry (7 tools) 🆕
docker_login- Login to Docker Hub or registrydocker_build_image- Build image from Dockerfiledocker_tag_image- Tag image with new namedocker_push_image- Push image to registrydocker_build_and_push- Build and push in one commanddocker_list_local_images- List local imagesdocker_remove_image- Remove local image
Total: 52 DevOps tools ready to use!
Key Architecture:
- 🎯 Generic First: Most tools work for any application (web servers, databases, MCP)
- 🔌 Smart Detection: Auto-detect project type and use appropriate tools
- 🌍 Platform Agnostic: Deploy anywhere (local, remote, PaaS, containers)
Quick Start
# Install dependencies
uv sync
# Start server
uv run python server.py
Configuration
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"devops-mcp-server": {
"command": "uv",
"args": ["run", "python", "server.py"],
"cwd": "/path/to/devops-mcp-server"
}
}
}
Project Structure
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
💬 Usage Examples
Once connected to Claude Desktop or another MCP client, you can interact naturally:
Container Management:
- "Start my docker compose services"
- "Show me the logs for my-app container"
- "What containers are currently running?"
- "Restart the database container"
Monitoring:
- "Is nginx running?"
- "What's using port 8080?"
- "Show me system resource usage"
Docker Compose:
- "Bring up my application stack"
- "Show me the status of all services"
- "View the logs for the web service"
PaaS Deployment:
- "Deploy my app to Railway"
- "Check the status of my Railway deployment"
- "Push this Docker image to Docker Hub"
- "Deploy my MCP server to Fly.io"
Container Registry:
- "Build and push my-app:v1.0 to Docker Hub"
- "Show me all my local Docker images"
- "Tag my image for production"
🛠️ Development
The server automatically discovers tools from the tools/ directory structure:
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
To add new tools, create Python files in the appropriate directory with functions decorated with @tool()
Deployment
Docker Deployment (Recommended)
Using docker-compose (Easiest)
# 1. Start the service
docker-compose up -d
# 2. View logs
docker-compose logs -f
# 3. Stop the service
docker-compose down
Using Docker commands
# 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
Local Development
# Install dependencies
uv sync
# Run server
uv run python server.py
Production Deployment
For production deployment, ensure you:
- Configure environment variables in
.env - Set up proper logging and monitoring
- Use
restart: unless-stoppedin docker-compose (already configured) - Mount persistent volumes for data
Health Check
# 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
Advanced Usage
For advanced features and examples, see the in the mcp-factory repository.
Generated by MCP Factory