Skip to main content
Glama

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

Related MCP server: Docker MCP Server

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.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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