Docker

Executar e gerenciar containers Docker, Docker Compose e logs

Documentação

🐳 docker-mcp

Python 3.12 License: MIT Code style: black smithery badge

Um poderoso servidor Model Context Protocol (MCP) para operações com Docker, permitindo gerenciamento contínuo de contêineres e stacks compose através do Claude AI.

✨ Recursos

  • 🚀 Criação e instanciação de contêineres
  • 📦 Implantação de stacks Docker Compose
  • 🔍 Recuperação de logs de contêineres
  • 📊 Listagem de contêineres e monitoramento de status

🎬 Demonstrações

Implantando uma Stack Docker Compose

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

Analisando Logs de Contêineres

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

🚀 Início Rápido

Para testar no aplicativo Claude Desktop, adicione isto aos seus arquivos de configuração do claude:

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

Instalação via Smithery

Para instalar o Docker MCP para Claude Desktop automaticamente via Smithery:

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

Pré-requisitos

  • UV (gerenciador de pacotes)
  • Python 3.12+
  • Docker Desktop ou Docker Engine
  • Claude Desktop

Instalação

Configuração do Claude Desktop

Adicione a configuração do servidor ao seu arquivo de configuração do Claude Desktop:

MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json

💻 Configuração de Desenvolvimento
{
  "mcpServers": {
    "docker-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-docker-mcp>",
        "run",
        "docker-mcp"
      ]
    }
  }
}
🚀 Configuração de Produção
{
  "mcpServers": {
    "docker-mcp": {
      "command": "uvx",
      "args": [
        "docker-mcp"
      ]
    }
  }
}

🛠️ Desenvolvimento

Configuração Local

  1. Clone o repositório:
git clone https://github.com/QuantGeekDev/docker-mcp.git
cd docker-mcp
  1. Crie e ative um ambiente virtual:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Instale as dependências:
uv sync

🔍 Depuração

Inicie o MCP Inspector para depuração:

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

O Inspector fornecerá uma URL para acessar a interface de depuração.

📝 Ferramentas Disponíveis

O servidor fornece as seguintes ferramentas:

create-container

Cria um contêiner Docker autônomo

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

deploy-compose

Implanta uma stack Docker Compose

{
    "project_name": "example-stack",
    "compose_yaml": "version: '3.8'\nservices:\n  service1:\n    image: image1:latest\n    ports:\n      - '8080:80'"
}

get-logs

Recupera logs de um contêiner específico

{
    "container_name": "my-container"
}

list-containers

Lista todos os contêineres Docker

{}

🚧 Limitações Atuais

  • Sem suporte integrado a variáveis de ambiente para contêineres
  • Sem gerenciamento de volumes
  • Sem gerenciamento de redes
  • Sem verificações de saúde de contêineres
  • Sem políticas de reinicialização de contêineres
  • Sem limites de recursos para contêineres

🤝 Contribuindo

  1. Faça um fork do repositório de docker-mcp
  2. Crie sua branch de funcionalidade
  3. Faça commit das suas alterações
  4. Envie para a branch
  5. Abra um Pull Request

📜 Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.

✨ Autores

  • Alex Andru - Trabalho inicial | Contribuidor principal - @QuantGeekDev
  • Ali Sadykov - Trabalho inicial | Contribuidor principal - @md-archive

Feito com ❤️