mcpField
D
Docker MCP Server

Docker MCP Server

Local
github.com/FreezeuCloud & Infra5Updated 77w ago

About Docker MCP Server

Docker MCP Server provides an automation interface to Docker Desktop on Windows for developers and tools. Its operations cover containers, networks, images, and logs.

Key features

  1. 01Manage container lifecycle
  2. 02Create and manage networks
  3. 03Pull, push, and build images
  4. 04View image details
  5. 05Retrieve container logs

Use cases

  1. 01Inspect and operate containers
  2. 02Configure container network connections
  3. 03Build or publish Docker images
  4. 04Review container logs

MCP support

As an MCP server, it exposes tools for managing Docker containers, networks, images, and logs to clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"docker-freezeu": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"freezeolo/docker-mcp-server"
]
}
}
}
Run commanddocker run -i --rm freezeolo/docker-mcp-server

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocifreezeolo/docker-mcp-server

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Docker MCP Server

The Docker MCP Server is a Model Context Protocol (MCP) server that provides seamless integration with Docker Desktop on Windows, enabling advanced automation and interaction capabilities for developers and tools.

Prerequisites

  1. Install Docker Desktop for Windows from Docker's official download page.

  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

Installation

Usage with Claude Desktop
{
  "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 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 for the full terms.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.