Code Sandbox MCP
Un entorno seguro de pruebas para ejecutar código en contenedores Docker, que proporciona un ambiente seguro para aplicaciones de IA.
Documentación
Code Sandbox MCP 🐳
Un entorno de sandbox seguro para ejecutar código dentro de contenedores Docker. Este servidor MCP proporciona a las aplicaciones de IA un entorno seguro y aislado para ejecutar código mientras mantiene la seguridad mediante la contenedorización.
🌟 Características
- Gestión flexible de contenedores: Crea y gestiona contenedores Docker aislados para la ejecución de código
- Soporte de entornos personalizados: Usa cualquier imagen Docker como tu entorno de ejecución
- Operaciones con archivos: Transferencia fácil de archivos y directorios entre el host y los contenedores
- Ejecución de comandos: Ejecuta cualquier comando de shell dentro del entorno contenedorizado
- Registros en tiempo real: Transmite los registros del contenedor y la salida de comandos en tiempo real
- Actualizaciones automáticas: Verificación de actualizaciones integrada y actualización automática de binarios
- Multiplataforma: Compatible con Linux, macOS y Windows
🚀 Instalación
Requisitos previos
- Docker instalado y en ejecución
Instalación 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
El instalador:
- Verificará la instalación de Docker
- Descargará el binario apropiado para tu sistema
- Creará los archivos de configuración necesarios
Instalación manual
- Descarga la última versión para tu plataforma desde la página de versiones
- Coloca el binario en un directorio que esté en tu PATH
- Hazlo ejecutable (solo sistemas tipo Unix):
chmod +x code-sandbox-mcp
🛠️ Herramientas disponibles
sandbox_initialize
Inicializa un nuevo entorno de cómputo para la ejecución de código. Crea un contenedor basado en la imagen Docker especificada.
Parámetros:
image(cadena, opcional): Imagen Docker para usar como entorno base- Predeterminado: 'python:3.12-slim-bookworm'
Devuelve:
container_idque se puede usar con otras herramientas para interactuar con este entorno
copy_project
Copia un directorio al sistema de archivos del sandbox.
Parámetros:
container_id(cadena, obligatorio): ID del contenedor devuelto por la llamada de inicializaciónlocal_src_dir(cadena, obligatorio): Ruta a un directorio en el sistema de archivos localdest_dir(cadena, opcional): Ruta para guardar el directorio src en el entorno del sandbox
write_file
Escribe un archivo en el sistema de archivos del sandbox.
Parámetros:
container_id(cadena, obligatorio): ID del contenedor devuelto por la llamada de inicializaciónfile_name(cadena, obligatorio): Nombre del archivo a crearfile_contents(cadena, obligatorio): Contenido a escribir en el archivodest_dir(cadena, opcional): Directorio donde crear el archivo (Predeterminado: ${WORKDIR})
sandbox_exec
Ejecuta comandos en el entorno del sandbox.
Parámetros:
container_id(cadena, obligatorio): ID del contenedor devuelto por la llamada de inicializacióncommands(matriz, obligatorio): Lista de comando(s) para ejecutar en el entorno del sandbox- Ejemplo: ["apt-get update", "pip install numpy", "python script.py"]
copy_file
Copia un solo archivo al sistema de archivos del sandbox.
Parámetros:
container_id(cadena, obligatorio): ID del contenedor devuelto por la llamada de inicializaciónlocal_src_file(cadena, obligatorio): Ruta a un archivo en el sistema de archivos localdest_path(cadena, opcional): Ruta para guardar el archivo en el entorno del sandbox
sandbox_stop
Detiene y elimina un contenedor sandbox en ejecución.
Parámetros:
container_id(cadena, obligatorio): ID del contenedor a detener y eliminar
Descripción: Detiene correctamente el contenedor especificado con un tiempo de espera de 10 segundos y lo elimina junto con sus volúmenes.
Recurso de registros del contenedor
Un recurso dinámico que proporciona acceso a los registros del contenedor.
Ruta del recurso: containers://{id}/logs
Tipo MIME: text/plain
Descripción: Devuelve todos los registros del contenedor especificado como un único recurso de texto.
🔐 Características de seguridad
- Entorno de ejecución aislado mediante contenedores Docker
- Limitaciones de recursos mediante restricciones de contenedores Docker
- Flujos separados de stdout y stderr
🔧 Configuración
Claude Desktop
El instalador crea automáticamente el archivo de configuración. Si necesitas configurarlo 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": {}
}
}
}
Otras aplicaciones de IA
Para otras aplicaciones de IA que admitan servidores MCP, configúralas para usar el binario code-sandbox-mcp como su backend de ejecución de código.
🛠️ Desarrollo
Si deseas compilar el proyecto localmente o contribuir a su desarrollo, consulta DEVELOPMENT.md.
📝 Licencia
Este proyecto está licenciado bajo la Licencia MIT: consulta el archivo LICENSE para más detalles.