Skip to main content

🐳 docker-mcp

Python 3.12 License: MIT Code style: black

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

📝 Click on the images above to watch the demos

🚀 Quickstart

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

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

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

💻 Development Configuration
{
  "mcpServers": {
    "docker-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-docker-mcp>",
        "run",
        "docker-mcp"
      ]
    }
  }
}
🚀 Production Configuration
{
  "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

  • Alex Andru - Initial work | Core contributor - @QuantGeekDev
  • Ali Sadykov - Initial work | Core contributor - @md-archive

Made with ❤️

Metadata

Release files for docker-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for docker-mcp 0.2.0
File Size Uploaded
docker_mcp-0.2.0.tar.gz 17.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for docker-mcp 0.2.0
File Interpreter ABI Platform
docker_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 27.0 kB

Release files / docker_mcp-0.2.0.tar.gz

Download URL docker_mcp-0.2.0.tar.gz
Size 17.5 kB
Tags Source
SHA-256 checksum
How to use checksums
64994c35945bc51732c758c78e3936f378d90a4225cbfc4c3817b79361578822
BLAKE2b-256 checksum
How to use checksums
6ae3583ea356647286de668d2742920b1724604a26cee4a3a2ab90fa738a2883
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.5

Release files / docker_mcp-0.2.0-py3-none-any.whl

Download URL docker_mcp-0.2.0-py3-none-any.whl
Size 9.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd4464f23cc708ba3cc3672c7ffe13f1c1d6812b6b0f6f7616f4e06f35747c8c
BLAKE2b-256 checksum
How to use checksums
09ffffb8fee954bf09ad42e12a2fa4bd7b7b9a9110a59d32311f42faf380039c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.5

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page