Code Sandbox MCP

Um sandbox seguro para executar código em contêineres Docker, fornecendo um ambiente seguro para aplicações de IA.

Documentação

Code Sandbox MCP 🐳

smithery badge

Um ambiente de sandbox seguro para executar código dentro de contêineres Docker. Este servidor MCP fornece aplicações de IA com um ambiente seguro e isolado para executar código, mantendo a segurança por meio da conteinerização.

🌟 Recursos

  • Gerenciamento Flexível de Contêineres: Crie e gerencie contêineres Docker isolados para execução de código
  • Suporte a Ambientes Personalizados: Use qualquer imagem Docker como seu ambiente de execução
  • Operações de Arquivo: Transferência fácil de arquivos e diretórios entre o host e os contêineres
  • Execução de Comandos: Execute qualquer comando shell dentro do ambiente conteinerizado
  • Registros em Tempo Real: Transmita registros de contêineres e saída de comandos em tempo real
  • Atualizações Automáticas: Verificação de atualizações integrada e atualizações automáticas do binário
  • Multiplataforma: Suporta Linux, macOS e Windows

🚀 Instalação

Pré-requisitos

Instalação Rápida

Linux, MacOS

curl -fsSL https://raw.githubusercontent.com/Automata-Labs-team/code-sandbox-mcp/main/install.sh | bash

Windows

# Run in PowerShell
irm https://raw.githubusercontent.com/Automata-Labs-team/code-sandbox-mcp/main/install.ps1 | iex

O instalador irá:

  1. Verificar a instalação do Docker
  2. Baixar o binário apropriado para o seu sistema
  3. Criar os arquivos de configuração necessários

Instalação Manual

  1. Baixe a versão mais recente para sua plataforma na página de versões
  2. Coloque o binário em um diretório no seu PATH
  3. Torne-o executável (somente sistemas Unix-like):
    chmod +x code-sandbox-mcp
    

🛠️ Ferramentas Disponíveis

sandbox_initialize

Inicialize um novo ambiente de computação para execução de código. Cria um contêiner com base na imagem Docker especificada.

Parâmetros:

  • image (string, opcional): Imagem Docker a ser usada como ambiente base
    • Padrão: 'python:3.12-slim-bookworm'

Retornos:

  • container_id que pode ser usado com outras ferramentas para interagir com este ambiente

copy_project

Copie um diretório para o sistema de arquivos da sandbox.

Parâmetros:

  • container_id (string, obrigatório): ID do contêiner retornado pela chamada de inicialização
  • local_src_dir (string, obrigatório): Caminho para um diretório no sistema de arquivos local
  • dest_dir (string, opcional): Caminho para salvar o diretório src no ambiente sandbox

write_file

Escreva um arquivo no sistema de arquivos da sandbox.

Parâmetros:

  • container_id (string, obrigatório): ID do contêiner retornado pela chamada de inicialização
  • file_name (string, obrigatório): Nome do arquivo a ser criado
  • file_contents (string, obrigatório): Conteúdo a ser escrito no arquivo
  • dest_dir (string, opcional): Diretório para criar o arquivo (Padrão: ${WORKDIR})

sandbox_exec

Execute comandos no ambiente sandbox.

Parâmetros:

  • container_id (string, obrigatório): ID do contêiner retornado pela chamada de inicialização
  • commands (array, obrigatório): Lista de comando(s) para executar no ambiente sandbox
    • Exemplo: ["apt-get update", "pip install numpy", "python script.py"]

copy_file

Copie um único arquivo para o sistema de arquivos da sandbox.

Parâmetros:

  • container_id (string, obrigatório): ID do contêiner retornado pela chamada de inicialização
  • local_src_file (string, obrigatório): Caminho para um arquivo no sistema de arquivos local
  • dest_path (string, opcional): Caminho para salvar o arquivo no ambiente sandbox

sandbox_stop

Pare e remova um contêiner sandbox em execução.

Parâmetros:

  • container_id (string, obrigatório): ID do contêiner a ser parado e removido

Descrição: Para graciosamente o contêiner especificado com um tempo limite de 10 segundos e o remove junto com seus volumes.

Recurso de Registros do Contêiner

Um recurso dinâmico que fornece acesso aos registros do contêiner.

Caminho do Recurso: containers://{id}/logs
Tipo MIME: text/plain
Descrição: Retorna todos os registros do contêiner especificado como um único recurso de texto.

🔐 Recursos de Segurança

  • Ambiente de execução isolado usando contêineres Docker
  • Limitações de recursos por meio de restrições de contêineres Docker
  • Fluxos separados de stdout e stderr

🔧 Configuração

Claude Desktop

O instalador cria automaticamente o arquivo de configuração. Se você precisar configurá-lo manualmente:

Linux

// ~/.config/Claude/claude_desktop_config.json
{
    "mcpServers": {
        "code-sandbox-mcp": {
            "command": "/path/to/code-sandbox-mcp",
            "args": [],
            "env": {}
        }
    }
}

macOS

// ~/Library/Application Support/Claude/claude_desktop_config.json
{
    "mcpServers": {
        "code-sandbox-mcp": {
            "command": "/path/to/code-sandbox-mcp",
            "args": [],
            "env": {}
        }
    }
}

Windows

// %APPDATA%\Claude\claude_desktop_config.json
{
    "mcpServers": {
        "code-sandbox-mcp": {
            "command": "C:\\path\\to\\code-sandbox-mcp.exe",
            "args": [],
            "env": {}
        }
    }
}

Outras Aplicações de IA

Para outras aplicações de IA que suportam servidores MCP, configure-as para usar o binário code-sandbox-mcp como seu backend de execução de código.

🛠️ Desenvolvimento

Se você quiser construir o projeto localmente ou contribuir para o seu desenvolvimento, consulte DEVELOPMENT.md.

📝 Licença

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