Skip to main content

A docker MCP server

Project description

🐳 docker-mcp

Python 3.12 License: MIT Code style: black smithery badge

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

💻 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 ❤️

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_docker_mcp-0.1.1.tar.gz (20.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_docker_mcp-0.1.1-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_docker_mcp-0.1.1.tar.gz.

File metadata

File hashes

Hashes for iflow_mcp_docker_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e6ac0eacca7a93eccf00992bb3b2cab7dec146e1a7b492da7a202f2580bd4b40
MD5 4499f7fc0331dd967f20baab0b9bc7e8
BLAKE2b-256 38ecea7f7e587754eb243bd3bfccc06ae9e9521c617c89e25dec1db29609e027

See more details on using hashes here.

File details

Details for the file iflow_mcp_docker_mcp-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for iflow_mcp_docker_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f47ba7baff9890443c6cef70771288224f8b5d7f112a2e7001e2842d2b8106d4
MD5 3103e2993c8caf38227adb5d7fe4085f
BLAKE2b-256 d964b358e2828461463bbde5d8ef5439cd0436f3afd2bb53a77963651cb0fd1d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page