Repository navigation
π Docker MCP β v1.0.0 (First release!)
Happy release day! This is the very first official release of Docker MCP β an MCP server that lets you manage Docker programmatically through the Model Context Protocol. This release focuses on stability, multi-server support, and making it easy to run via Docker.
Highlights
- Multi-server Docker management: connect to multiple daemons via sockets or TCP
- Container, image, network and volume tools (listed below)
- Ability to run the MCP server as a container (prebuilt image available)
- Simple configuration via
DOCKER_SERVERSenvironment variable
What the MCP provides (tools)
The Docker MCP exposes a rich set of tools to manage and inspect Docker resources across one or more daemons. Key tools include:
list_docker_serversβ list configured Docker serversadd_docker_server/remove_docker_serverβ add or remove server endpoints at runtime- Container tools:
list_containers,start_container,stop_container,restart_container,remove_container,inspect_container,get_container_logs,get_container_stats - Image tools:
list_images,pull_image,remove_image - Network & Volume tools:
list_networks,list_volumes - Compose helpers:
run_docker_compose,remove_docker_compose
These tools are available over MCP stdio and are designed to be used by editor integrations or other MCP clients.
Install & run via Docker
We've published a prebuilt image so you can try the MCP server immediately without building from source.
Pull the image:
docker pull ghcr.io/florentb974/docker-mcp:latestRun the container and point it at your local Docker socket:
docker run -d --name docker-mcp \
-v /var/run/docker.sock:/var/run/docker.sock \
-e DOCKER_SERVERS="local:socket:/var/run/docker.sock" \
ghcr.io/florentb974/docker-mcp:latest
docker logs --follow docker-mcpAlternatively, if you want your editor to start and attach to the container's stdio, configure your mcp.json to run docker as the command (example):
Configuration
Use DOCKER_SERVERS to specify one or several servers. Format:
- TCP:
name:host:port:protocol - Socket:
name:socket:/path/to/socket
Example: local:socket:/var/run/docker.sock,remote:192.168.1.14:2735:http
Known issues
Access to /var/run/docker.sock doesn't work well when MCP server running in docker. Use node instead. See README.md
Thanks
Big thanks to everyone who helped test and contributed. This first release is a joyful milestone β let's ship useful tooling for developer workflows!
Enjoy π
{ "servers": { "docker-agent": { "type": "stdio", "command": "docker", "args": [ "run", "-i", "--rm", "-e", "DOCKER_SERVERS", "ghcr.io/florentb974/docker-mcp:latest" ], "env": { "DOCKER_SERVERS": "remote:192.168.1.14:2735:http" } } } }