Skip to main content
Glama

mcp-server-docker

README.md5.66 kB
# Docker MCP Server The Docker MCP Server is a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) server that provides seamless integration with Docker Desktop on Windows, enabling advanced automation and interaction capabilities for developers and tools. <div align="center"> <a href="https://glama.ai/mcp/servers/@nideil/mcp-server-docker"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@nideil/mcp-server-docker/badge" /> </a> </div> ## Prerequisites 1. Install Docker Desktop for Windows from Docker's official [download page](https://docs.docker.com/desktop/setup/install/windows-install/). 2. In Docker Desktop, go to **Settings > General** and check the box for **"Expose daemon on tcp://localhost:2375 without TLS"**. This is required for the MCP server to communicate with Docker Desktop. > 💡 **Tip:** You can verify that the port is exposed successfully by opening > `http://localhost:2375/version` in your browser. If the setup is correct, > you should see a JSON response with Docker version information. > If you're having trouble, check this discussion for a possible solution: > [WSL and Docker for Windows: Cannot connect to the Docker daemon](https://forums.docker.com/t/wsl-and-docker-for-windows-cannot-connect-to-the-docker-daemon-at-tcp-localhost-2375-is-the-docker-daemon-running/63571/13) ## Installation ### Usage with Claude Desktop ```json { "mcpServers": { "docker-mcp-stdio": { "command": "docker", "args": [ "run", "-i", "--rm", "freezeolo/docker-mcp-server" ] } } } ``` ## Tools ✅ **Completed** 🛠️ **In Progress** ❌ **Plan** ### Container Lifecycle Management ✅ - **list_containers** - Get the list of containers ✅ - **get_container_info** - Get details of a specific container ✅ - `container_id`: Container ID (string, required) - **start_container** - Start a container ✅ - `container_id`: Container ID (string, required) - **restart_container** - Restart a container ✅ - `container_id`: Container ID (string, required) - **stop_container** - Stop a container ✅ - `container_id`: Container ID (string, required) - **remove_container** - Remove a container ✅ - `container_id`: Container ID (string, required) - **create_container** - Create a new container ✅ - `imageName`: Image name (string, required) - `containerName`: Container name (string, required) - `command`: Command to run (string, optional) - `env`: Environment variables (string[], optional) - `ports`: Port bindings (string[], optional) - `volumes`: Volume bindings (string[], optional) - `network`: Network name (string, optional) - `restartPolicy`: Restart policy (string, optional) ### Network Management ✅ - **list_networks** - List all networks ✅ - **get_network_info** - Get network information ✅ - `networkId`: Network ID (string, required) - **create_network** - Create a new network ✅ - `networkName`: Network name (string, required) - `driver`: Network driver (string, required) - `subnet`: Subnet CIDR (string, required) - `gateway`: Gateway IP (string, required) - **connect_container_to_network** - Connect container to network ✅ - `containerId`: Container ID (string, required) - `networkId`: Network ID (string, required) - **disconnect_container_from_network** - Disconnect container from network ✅ - `containerId`: Container ID (string, required) - `networkId`: Network ID (string, required) - **remove_network** - Remove a network ✅ - `networkId`: Network ID (string, required) - **get_network_containers** - Get containers in a network ✅ - `networkId`: Network ID (string, required) ### Image Management ✅ - **list_images** - List all images ✅ - **pull_image** - Pull an image from registry ✅ - `imageName`: Image name with tag (string, required) - **push_image** - Push an image to registry ✅ - `imageName`: Image name with tag (string, required) - **remove_image** - Remove an image ✅ - `imageId`: Image ID (string, required) - `force`: Force removal (boolean, optional) - **tag_image** - Tag an image with multiple tags ✅ - `imageId`: Image ID (string, required) - `repository`: Repository name (string, required) - `tags`: Array of tags (string[], required) - **build_image** - Build an image from Dockerfile ✅ - `dockerfilePath`: Path to Dockerfile (string, required) - `repository`: Repository name (string, required) - `tags`: Array of tags (string[], required) - **get_image_details** - Get image details ✅ - `imageId`: Image ID (string, required) ### Logs Management ✅ - **get_container_logs** - Get container logs ✅ - `containerId`: Container ID (string, required) - `follow`: Follow log output (boolean, optional, default: false) - `stdout`: Show stdout (boolean, optional, default: true) - `stderr`: Show stderr (boolean, optional, default: true) - `since`: Show logs since timestamp (string, optional) - `until`: Show logs until timestamp (string, optional) - `tail`: Number of lines to show from the end (integer, optional) - `timestamps`: Show timestamps (boolean, optional, default: false) ## FAQ ### Q: How do I install the project? A: Follow the steps in the [Installation](#installation) section. Make sure you have the required dependencies. ## License This project is licensed under the terms of the MIT open source license. Please refer to [MIT](./LICENSE) for the full terms.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nideil/mcp-server-docker'

If you have feedback or need assistance with the MCP directory API, please join our Discord server