🐳 Docker Mcp
Um servidor MCP Docker (protocolo de contexto do modelo)
Visão geral
O que é Docker MCP?
Docker MCP (Model Context Protocol) é um servidor projetado para facilitar a gestão e orquestração de aplicações em contêineres. Ele fornece uma maneira padronizada de lidar com contextos de modelo, permitindo que os desenvolvedores implantem, gerenciem e escalem suas aplicações de forma eficiente usando contêineres Docker. O Docker MCP é particularmente útil para equipes que buscam otimizar seus processos de desenvolvimento e melhorar a colaboração em diferentes ambientes.
Recursos do Docker MCP
- Gestão de Contêineres: O Docker MCP simplifica a gestão de contêineres, permitindo que os usuários implantem, atualizem e escalem aplicações facilmente.
- Protocolo Padronizado: Ele utiliza um protocolo padronizado para contextos de modelo, garantindo compatibilidade e facilidade de integração com várias ferramentas e serviços.
- Escalabilidade: A arquitetura do Docker MCP permite a escalabilidade contínua das aplicações, acomodando cargas aumentadas sem comprometer o desempenho.
- Interface Amigável: O Docker MCP oferece uma interface intuitiva que facilita a interação dos desenvolvedores com suas aplicações em contêineres.
- Código Aberto: Sendo um projeto de código aberto, o Docker MCP incentiva contribuições e colaborações da comunidade, promovendo inovação e melhoria contínua.
Como Usar o Docker MCP
- Instalação: Comece instalando o Docker em sua máquina. Siga a documentação oficial do Docker para instruções de instalação.
- Clone o Repositório: Use o Git para clonar o repositório do Docker MCP do GitHub:
git clone https://github.com/QuantGeekDev/docker-mcp.git
- Configuração: Navegue até o diretório clonado e configure as definições necessárias nos arquivos de configuração conforme os requisitos do seu projeto.
- Execute o Servidor: Inicie o servidor Docker MCP usando comandos Docker. Certifique-se de que todas as dependências estejam atendidas e que o ambiente esteja configurado corretamente.
- Implantar Aplicações: Use a interface do Docker MCP para implantar suas aplicações, gerenciar contêineres e monitorar o desempenho.
- Escalabilidade: À medida que sua aplicação cresce, utilize os recursos de escalabilidade do Docker MCP para lidar com o aumento do tráfego e das demandas de recursos.
Perguntas Frequentes
Q1: Quais são os requisitos do sistema para o Docker MCP?
A1: O Docker MCP requer uma máquina com Docker instalado. Recomenda-se ter pelo menos 4GB de RAM e um processador multi-core para um desempenho ideal.
Q2: O Docker MCP é adequado para ambientes de produção?
A2: Sim, o Docker MCP é projetado para ser robusto e escalável, tornando-o adequado para ambientes de produção. No entanto, testes completos são recomendados antes da implantação.
Q3: Posso contribuir para o Docker MCP?
A3: Absolutamente! O Docker MCP é um projeto de código aberto, e contribuições são bem-vindas. Você pode enviar problemas, solicitações de recursos ou pull requests no repositório do GitHub.
Q4: Como o Docker MCP se compara a outras ferramentas de orquestração de contêineres?
A4: O Docker MCP foca na gestão de contextos de modelo e oferece uma interface amigável, facilitando para os desenvolvedores gerenciarem suas aplicações em comparação com algumas ferramentas de orquestração mais complexas.
Q5: Onde posso encontrar a documentação do Docker MCP?
A5: A documentação do Docker MCP pode ser encontrada no arquivo README do repositório e em recursos adicionais vinculados dentro do repositório.
Detalhe
🐳 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"
]
}
}
}
</details>
<details>
<summary>🚀 Production Configuration</summary>
{
"mcpServers": {
"docker-mcp": {
"command": "uvx",
"args": [
"docker-mcp"
]
}
}
}
</details>
🛠️ Development
Local Setup
- Clone the repository:
git clone https://github.com/QuantGeekDev/docker-mcp.git
cd docker-mcp
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- 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
- Fork the repository from docker-mcp
- Create your feature branch
- Commit your changes
- Push to the branch
- 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 ❤️
Configuração do Servidor
{
"mcpServers": {
"docker-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--quantgeekdev--docker-mcp--docker-mcp",
"docker-mcp"
],
"env": {}
}
}
}