Python MCP server for Docker container management
## Docker Python MCP Server: Container Management with Python The **Docker Python MCP Server** provides Python-native Docker integration for Google Antigravity, enabling developers to manage containers, images, networks, and volumes with type-safe Python interfaces. ### Why Docker Python MCP? - **Native Python** - Clean Python API for Docker operations - **Type safety** - Full type hints for better development experience - **Container lifecycle** - Create, start, stop, and remove containers - **Image management** - Build, pull, push, and manage images - **Network control** - Create and manage Docker networks ### Key Features #### 1. Container Management ```python # Create and start container container = await mcp.call("docker-python", "run_container", { "image": "nginx:latest", "name": "web-server", "ports": {"80/tcp": 8080}, "environment": {"NGINX_HOST": "localhost"}, "detach": True }) print(f"Container ID: {container[\"id\"]}") # Get container logs logs = await mcp.call("docker-python", "get_logs", { "container": "web-server", "tail": 100 }) ``` #### 2. Image Operations ```python # Build image from Dockerfile image = await mcp.call("docker-python", "build_image", { "path": "/app", "tag": "myapp:latest", "buildargs": {"NODE_ENV": "production"} }) # Pull image await mcp.call("docker-python", "pull_image", { "repository": "python", "tag": "3.11-slim" }) # List images images = await mcp.call("docker-python", "list_images", { "name": "myapp" }) ``` #### 3. Network Management ```python # Create network network = await mcp.call("docker-python", "create_network", { "name": "app-network", "driver": "bridge" }) # Connect container to network await mcp.call("docker-python", "connect_network", { "network": "app-network", "container": "web-server" }) # List networks networks = await mcp.call("docker-python", "list_networks", {}) ``` #### 4. Volume Management ```python # Create volume volume = await mcp.call("docker-python", "create_volume", { "name": "app-data", "driver": "local" }) # Mount volume to container container = await mcp.call("docker-python", "run_container", { "image": "postgres:15", "name": "database", "volumes": {"app-data": {"bind": "/var/lib/postgresql/data", "mode": "rw"}} }) ``` ### Configuration ```json { "mcpServers": { "docker-python": { "command": "python", "args": ["-m", "mcp_docker"], "env": { "DOCKER_HOST": "unix:///var/run/docker.sock" } } } } ``` ### Use Cases **Local Development**: Manage development containers with Python scripts. **Test Environments**: Spin up test databases and services programmatically. **CI/CD Integration**: Build and push images in Python-based pipelines. **Container Orchestration**: Manage container lifecycle in automation scripts. The Docker Python MCP Server provides Pythonic container management.
{
"mcpServers": {
"docker-python": {
"mcpServers": {
"docker": {
"args": [
"python-docker-mcp"
],
"command": "uvx"
}
}
}
}
}