Docker
Executar e gerenciar containers Docker, Docker Compose e logs
Documentação
🐳 docker-mcp
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
- Clone o repositório:
git clone https://github.com/QuantGeekDev/docker-mcp.git
cd docker-mcp
- Crie e ative um ambiente virtual:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- 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
- Faça um fork do repositório de docker-mcp
- Crie sua branch de funcionalidade
- Faça commit das suas alterações
- Envie para a branch
- 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 ❤️