docker-mcp

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Enables container and Docker Compose stack management, including creation of standalone containers, deployment of compose stacks, retrieval of container logs, and listing of container status and information.

🐳 docker-mcp

A powerful Model Context Protocol (MCP) server for Docker operations, enabling seamless container and compose stack management through Claude AI.

✨ Features

  • πŸš€ Container creation and instantiation
  • πŸ“¦ Docker Compose stack deployment
  • πŸ” Container logs retrieval
  • πŸ“Š Container listing and status monitoring

🎬 Demos

Deploying a Docker Compose Stack

https://github.com/user-attachments/assets/b5f6e40a-542b-4a39-ba12-7fdf803ee278

Analyzing Container Logs

https://github.com/user-attachments/assets/da386eea-2fab-4835-82ae-896de955d934

πŸš€ Quickstart

To try this in Claude Desktop app, add this to your claude config files:

{ "mcpServers": { "docker-mcp": { "command": "uvx", "args": [ "docker-mcp" ] } } }

Installing via Smithery

To install Docker MCP for Claude Desktop automatically via Smithery:

npx @smithery/cli install docker-mcp --client claude

Prerequisites

  • UV (package manager)
  • Python 3.12+
  • Docker Desktop or Docker Engine
  • Claude Desktop

Installation

Claude Desktop Configuration

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

{ "mcpServers": { "docker-mcp": { "command": "uv", "args": [ "--directory", "<path-to-docker-mcp>", "run", "docker-mcp" ] } } }
{ "mcpServers": { "docker-mcp": { "command": "uvx", "args": [ "docker-mcp" ] } } }

πŸ› οΈ Development

Local Setup

  1. Clone the repository:
git clone https://github.com/QuantGeekDev/docker-mcp.git cd docker-mcp
  1. Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
  1. Install dependencies:
uv sync

πŸ” Debugging

Launch the MCP Inspector for debugging:

npx @modelcontextprotocol/inspector uv --directory <path-to-docker-mcp> run docker-mcp

The Inspector will provide a URL to access the debugging interface.

πŸ“ Available Tools

The server provides the following tools:

create-container

Creates a standalone Docker container

{ "image": "image-name", "name": "container-name", "ports": {"80": "80"}, "environment": {"ENV_VAR": "value"} }

deploy-compose

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'" }

get-logs

Retrieves logs from a specific container

{ "container_name": "my-container" }

list-containers

Lists all Docker containers

{}

🚧 Current Limitations

  • 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

🀝 Contributing

  1. Fork the repository from docker-mcp
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

✨ Authors


Made with ❀️

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

A powerful Model Context Protocol (MCP) server for Docker operations, enabling seamless container and compose stack management through Claude AI.

  1. ✨ Features
    1. 🎬 Demos
  2. πŸš€ Quickstart
    1. Installing via Smithery
    2. Prerequisites
    3. Installation
  3. πŸ› οΈ Development
    1. Local Setup
    2. πŸ” Debugging
  4. πŸ“ Available Tools
    1. create-container
    2. deploy-compose
    3. get-logs
    4. list-containers
  5. 🚧 Current Limitations
    1. 🀝 Contributing
      1. πŸ“œ License
        1. ✨ Authors