O que é mcp-server-docker?
O mcp-server-docker, escrito por Christian Kreiling (usuário ckreiling no GitHub) e publicado no PyPI com o mesmo nome, permite que um agente gerencie um Docker engine por meio do Docker SDK para Python. Ele expõe 19 ferramentas para contêineres, imagens, redes e volumes, dois templates de recursos para logs e estatísticas ao vivo dos contêineres e um prompt docker_compose em que o modelo planeja e aplica um conjunto de contêineres com rótulos, no estilo do Terraform. Roda apenas via stdio.
Ele se conecta com o método from_env do Docker SDK, então usa por padrão o socket local em /var/run/docker.sock e respeita DOCKER_HOST, DOCKER_TLS_VERIFY e DOCKER_CERT_PATH. Definir DOCKER_HOST como uma URL ssh:// alcança um engine remoto via SSH, recurso adicionado na v0.2.0 em maio de 2025. Ele não edita nem lê arquivos docker-compose.yml, e não há ferramenta para fazer exec em um contêiner em execução; um pull request que adiciona isso está aberto desde julho de 2025.
O repositório tem licença GPL-3.0, cerca de 750 estrelas no GitHub e 98 forks. Tem uma única versão no GitHub, a v0.3.0 de 7 de agosto de 2026, que o migrou para a versão 2 do MCP Python SDK; antes disso, a última versão no PyPI era a 0.2.1, de junho de 2025. O pacote teve cerca de 7.900 downloads no mês até 28 de outubro. Não está listado no registro oficial do MCP.
Não deve ser confundido com o docker/mcp-gateway, o MCP Toolkit do próprio Docker, que roda servidores MCP do catálogo do Docker em contêineres em vez de deixar um agente gerenciar os seus contêineres. O QuantGeekDev/docker-mcp, ainda recomendado em algumas listas, não recebe commits desde 14 de dezembro de 2024.
Como instalar mcp-server-docker
uvx mcp-server-dockermcp-server-docker vale a pena?
Acesso ao socket do Docker é acesso ao host, e este servidor repassa isso por inteiro ao modelo. O guia de segurança do próprio Docker diz que só usuários confiáveis devem controlar o daemon, porque um contêiner pode montar o diretório raiz do host e alterá-lo sem restrições; a documentação de instalação diz que o grupo docker concede privilégios de nível root. O README do servidor observa que ele recusa --privileged e flags de capabilities, mas o argumento volumes de create_container, run_container e recreate_container aceita qualquer caminho do host. Um agente vítima de prompt injection pode, portanto, pedir um contêiner com / montado em /host, ou com o próprio socket do Docker montado dentro, e obter o mesmo resultado sem nenhuma das flags.
Não há como restringir isso. Das 19 ferramentas, cinco leem (list_containers, list_images, list_networks, list_volumes e fetch_container_logs) e as outras 14 gravam: criar, executar, iniciar, parar e recriar contêineres; baixar, enviar, construir e remover imagens; e criar e remover redes e volumes. O servidor define anotações de ferramentas MCP, marcando cinco ferramentas de remoção e recriação como destrutivas para que os clientes peçam confirmação, mas não tem flag de somente leitura, lista de permissões nem restrições de montagem. Um pull request aberto desde março de 2026 bloquearia montagens de /proc, /sys, /dev e sockets de runtime; ele não foi incorporado.
As entradas que um agente lê também são as que um atacante controla. Logs de contêineres, rótulos de imagens e os blocos de estado devolvidos pelas ferramentas de listagem voltam todos para o modelo, então uma linha de log em um contêiner baixado de um registro público é uma via plausível de injeção. Um pedido de divulgação aberto em abril de 2026 diz que o autor enviou por email, em março, detalhes de acesso ao sistema de arquivos do host e de fuga de contêiner e não recebeu resposta; um segundo pedido de contato de segurança privado foi aberto em 26 de outubro. Nenhum aviso de segurança foi publicado no GitHub.
A manutenção é lenta, mas não está morta. A versão de agosto de 2026 foi uma reescrita cuidadosa sobre a versão 2 do SDK Python, com testes para todas as ferramentas, mas veio 14 meses depois da anterior, e há 39 issues e pull requests abertos, 15 deles pull requests, incluindo correções para saída de log sem limite e para um resultado de list_containers que um usuário mediu em cerca de 103 KB para 22 contêineres. O Paramiko, usado para SSH, está fixado abaixo da 4.0, o que, segundo uma issue aberta, deixa um aviso conhecido sem correção.
O suporte a SSH é o recurso que o diferencia de rodar a CLI do Docker por uma ferramenta de shell, e o prompt de planejar e aplicar é um toque cuidadoso. Nenhum dos dois muda a troca central: ele serve para uma VM descartável ou um host Docker dedicado sem nada que valha a pena roubar, e o servidor do Kubernetes, com modos somente leitura e de lista de permissões, é a forma mais protegida de deixar um agente chegar perto de infraestrutura compartilhada.
Onde ele se destaca
Um desenvolvedor testando apps auto-hospedados em uma VM Linux sobrando
Subir um contêiner WordPress e um MySQL a partir de uma descrição em linguagem natural
Chame o prompt docker_compose com um nome de projeto; o modelo propõe um plano, espera o apply e depois chama run_container e create_volume com um rótulo de projeto para poder retomar ou destruir o conjunto mais tarde. É gratuito, e em uma VM que você pode reconstruir a exposição de nível root custa pouco.
Um fundador solo que roda um site de marketing em um único host Docker alugado
Verificar por que o contêiner do site fica reiniciando e reiniciá-lo a partir de uma janela de chat
Defina DOCKER_HOST como ssh://user@host e o agente poderá ler as contagens de reinício com list_containers e as últimas 100 linhas de log com fetch_container_logs. A mesma sessão também pode remover volumes ou montar o sistema de arquivos do host, então ela deve ficar em um host que não guarde nada além desse site.
Um líder de plataforma em uma empresa de 30 pessoas revisando quais servidores MCP a equipe pode instalar
Decidir se o servidor Docker é aceitável em notebooks de desenvolvedores
A resposta depende do socket: no Linux, qualquer chamada de ferramenta pode criar um contêiner que monta o diretório home ou /, e o servidor não tem nenhuma opção para impedir isso. Uma política que o limite a uma VM separada ou a um daemon Docker rootless sai mais barata do que auditar cada prompt.
Antes de decidir
- Configuração
- Adicione uvx mcp-server-docker à configuração do cliente (o README documenta o Claude Desktop); exige uv e Python 3.12 ou posterior. Há um Dockerfile, mas você mesmo constrói a imagem e monta /var/run/docker.sock dentro dela. Se docker ps funciona para o seu usuário, a primeira chamada de ferramenta funciona em minutos.
- Integrações
- 19 ferramentas: cinco somente leitura (list_containers, list_images, list_networks, list_volumes, fetch_container_logs) e 14 que gravam, de run_container e recreate_container a build_image, push_image e remove_volume. Dois recursos servem logs e estatísticas de contêineres; um prompt, docker_compose, roda um ciclo de planejar e aplicar sobre recursos com rótulos.
- Dados e privacidade
- Ele pode fazer tudo o que o daemon Docker pode, o que em uma instalação padrão é root no host, e via SSH o mesmo no host remoto. Logs, rótulos e estado de contêineres de imagens não confiáveis chegam ao modelo. Tudo roda localmente; não há avisos publicados, e dois pedidos públicos para relatar vulnerabilidades em privado estão sem resposta.
- Custo em escala
- Gratuito; o custo é o contexto. list_containers devolve o estado completo no nível de inspect, que um usuário mediu em cerca de 103 KB para 22 contêineres, e fetch_container_logs aceita tail=all sem limite de bytes.
- Limites
- Sem exec em contêineres em execução, sem suporte a arquivos do Docker Compose, sem tratamento de segredos (o README diz para não passar dados sensíveis) e sem opções --privileged ou de capabilities. Apenas stdio. recreate_container não preserva as configurações do contêiner antigo.
O que é bom
- 19 ferramentas cobrem contêineres, imagens, redes e volumes
- Engines remotos via SSH definindo DOCKER_HOST
- Ferramentas destrutivas trazem anotações MCP que os clientes podem controlar
- Testes para todas as ferramentas desde a reescrita da v0.3.0
O que não é
- Sem modo somente leitura, lista de permissões ou restrições de montagem
- Qualquer caminho do host pode ser montado, inclusive / e o socket
- Pedidos de divulgação de segurança sem resposta desde abril de 2026
- Uma única versão nos 16 meses até outubro de 2026
Ideal para
Desenvolvedores e usuários de home lab que querem um agente para rodar contêineres em um host Docker descartável ou dedicado que não se importariam de reconstruir.
Alternativas ao mcp-server-docker
mcp-server-docker: perguntas frequentes
- mcp-server-docker vale a pena?
- Um servidor Docker bem-feito para uma máquina descartável, mas ele dá a um agente controle equivalente a root sobre o host sem modo somente leitura, e o mantenedor não respondeu a dois relatos de segurança. Damos nota 3.3 de 5.
- Quanto custa mcp-server-docker?
- Gratuito e de código aberto (GPL-3.0). Você paga apenas pelos hosts que rodam o Docker.
- Quais são as desvantagens de mcp-server-docker?
- Sem modo somente leitura, lista de permissões ou restrições de montagem; qualquer caminho do host pode ser montado, inclusive / e o socket; pedidos de divulgação de segurança sem resposta desde abril de 2026; uma única versão nos 16 meses até outubro de 2026.
- Para quem mcp-server-docker é indicado?
- Desenvolvedores e usuários de home lab que querem um agente para rodar contêineres em um host Docker descartável ou dedicado que não se importariam de reconstruir.
- Quanto custa mcp-server-docker para uma equipe ou em produção?
- Gratuito; o custo é o contexto. list_containers devolve o estado completo no nível de inspect, que um usuário mediu em cerca de 103 KB para 22 contêineres, e fetch_container_logs aceita tail=all sem limite de bytes.
- mcp-server-docker é seguro para dados da empresa?
- Ele pode fazer tudo o que o daemon Docker pode, o que em uma instalação padrão é root no host, e via SSH o mesmo no host remoto. Logs, rótulos e estado de contêineres de imagens não confiáveis chegam ao modelo. Tudo roda localmente; não há avisos publicados, e dois pedidos públicos para relatar vulnerabilidades em privado estão sem resposta.
- Quais são as melhores alternativas ao mcp-server-docker?
- As alternativas mais próximas que analisamos são MCP Server Kubernetes, Filesystem (reference server) e Terraform MCP Server.
Respostas verificadas em 28 de out. de 2026.
