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 🐳
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
- Docker instalado e em execução
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á:
- Verificar a instalação do Docker
- Baixar o binário apropriado para o seu sistema
- Criar os arquivos de configuração necessários
Instalação Manual
- Baixe a versão mais recente para sua plataforma na página de versões
- Coloque o binário em um diretório no seu PATH
- 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_idque 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çãolocal_src_dir(string, obrigatório): Caminho para um diretório no sistema de arquivos localdest_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çãofile_name(string, obrigatório): Nome do arquivo a ser criadofile_contents(string, obrigatório): Conteúdo a ser escrito no arquivodest_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çãocommands(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çãolocal_src_file(string, obrigatório): Caminho para um arquivo no sistema de arquivos localdest_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.