A powerful Model Context Protocol (MCP) server for Docker operations, enabling seamless container and compose stack management through Claude AI.
- π Container creation and instantiation
- π¦ Docker Compose stack deployment
- π Container logs retrieval
- π Container listing and status monitoring
docker-mcp-demo-1.mp4
docker-mcp-demo-2.mp4
To try this in Claude Desktop app, add this to your claude config files:
{ "mcpServers": { "docker-mcp": { "command": "uvx", "args": [ "docker-mcp" ] } } }To install Docker MCP for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install docker-mcp --client claude- UV (package manager)
- Python 3.12+
- Docker Desktop or Docker Engine
- Claude Desktop
Add the server configuration to your Claude Desktop config file:
MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
π» Development Configuration
{ "mcpServers": { "docker-mcp": { "command": "uv", "args": [ "--directory", "<path-to-docker-mcp>", "run", "docker-mcp" ] } } }π Production Configuration
{ "mcpServers": { "docker-mcp": { "command": "uvx", "args": [ "docker-mcp" ] } } }- Clone the repository:
git clone https://github.com/QuantGeekDev/docker-mcp.git cd docker-mcp- Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
uv syncLaunch the MCP Inspector for debugging:
npx @modelcontextprotocol/inspector uv --directory <path-to-docker-mcp> run docker-mcpThe Inspector will provide a URL to access the debugging interface.
The server provides the following tools:
Creates a standalone Docker container
{ "image": "image-name", "name": "container-name", "ports": {"80": "80"}, "environment": {"ENV_VAR": "value"} }Deploys a Docker Compose stack
{ "project_name": "example-stack", "compose_yaml": "version: '3.8'\nservices:\n service1:\n image: image1:latest\n ports:\n - '8080:80'" }Retrieves logs from a specific container
{ "container_name": "my-container" }Lists all Docker containers
{}- No built-in environment variable support for containers
- No volume management
- No network management
- No container health checks
- No container restart policies
- No container resource limits
- Fork the repository from docker-mcp
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Alex Andru - Initial work | Core contributor - @QuantGeekDev
- Ali Sadykov - Initial work | Core contributor - @md-archive
Made with β€οΈ