Universal DevOps automation through conversation. Deploy, monitor, and manage applications using natural language with AI assistants.
- 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
- Service Status - Check if services are running
- System Info - View memory, disk, and CPU usage
- Port Management - List and check port usage
- Railway - Deploy to Railway with one command
- Render - Deploy web services and databases to Render
- Fly.io - Deploy to edge locations worldwide
- Docker Hub - Build, tag, and push images to Docker Hub
- Multi-platform builds - Build for AMD64 and ARM64
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_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
check_service_status- Check if a service is runningget_system_info- Get system informationlist_ports_in_use- List ports in use
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_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_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
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_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)
# Install dependencies
uv sync
# Start server
uv run python server.pyAdd 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"
}
}
}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
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"
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()
# 1. Start the service
docker-compose up -d
# 2. View logs
docker-compose logs -f
# 3. Stop the service
docker-compose down# 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.pyFor 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
# 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 psFor advanced features and examples, see the examples directory in the mcp-factory repository.
Generated by MCP Factory