MCP Docker Sandbox Interpreter
Intérprete de Docker Sandbox de MCP
Un entorno de ejecución de código seguro basado en Docker para el Protocolo de Contexto de Modelo (MCP).
Descripción general
Este proyecto proporciona un entorno de pruebas seguro para ejecutar código mediante MCP (Protocolo de Contexto de Modelo). Permite a los asistentes de IA ejecutar código de forma segura sin necesidad de acceder directamente al sistema host, ejecutando todo el código dentro de contenedores Docker aislados.
graph LR
A[Claude/Cursor] -->|Sends Code| B[MCP Server]
B -->|Executes Code| C[Docker Sandbox]
C -->|Returns Results| ARelated MCP server: SandboxRunner
Características
Ejecución segura : el código se ejecuta en contenedores Docker aislados con estrictas limitaciones de seguridad.
Compatibilidad con varios idiomas : actualmente es compatible con Python con fácil extensibilidad para otros idiomas.
Limitaciones de recursos : restricciones de CPU y memoria para evitar el abuso
Integración MCP : Totalmente compatible con el Protocolo de Contexto de Modelo
Configuración automática : maneja la creación de contenedores, la instalación de dependencias y la limpieza
Requisitos
Docker (Escritorio o Motor)
Python 3.10+
SDK de MCP (
pip install mcp)SDK de Python para Docker (
pip install docker)
Instalación
Clonar este repositorio:
git clone https://github.com/yourusername/mcp-docker-interpreter.git cd mcp-docker-interpreterCrear y activar un entorno virtual:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activateInstalar dependencias:
pip install -r requirements.txt
Uso
Iniciando el servidor MCP
Inicie el servidor ejecutando:
# For Colima users:
export DOCKER_HOST="unix:///Users/username/.colima/default/docker.sock"
# Run the server
uv run mcp dev main.pyConexión a un asistente de IA
Puede conectar este servidor MCP a asistentes de IA que admitan el Protocolo de contexto de modelo:
Cursor
En Cursor, agregue lo siguiente a la configuración de MCP:
{
"mcpServers": {
"docker-sandbox": {
"command": "python",
"args": ["/absolute/path/to/your/main.py"],
"env": {
"DOCKER_HOST": "unix:///path/to/your/docker.sock"
}
}
}
}Reemplace las rutas con sus rutas de archivo reales.
Escritorio de Claude
De manera similar a Cursor, agregue la configuración a la configuración MCP de Claude Desktop.
Herramientas MCP
Este servidor MCP expone tres herramientas principales:
initialize_sandbox : crea un nuevo contenedor Docker para la ejecución de código
Arguments: - image: The Docker image to use (default: "alpine:latest")execute_code : ejecuta el código en el espacio aislado inicializado
Arguments: - code: The code string to execute - language: Programming language (default: "python")stop_sandbox : detiene y elimina el contenedor
No arguments needed
Cómo funciona
Cuando se llama
initialize_sandbox, el sistema:Crea un contenedor Docker basado en Alpine Linux
Instala Python y otras dependencias
Establece restricciones de seguridad
Cuando se llama
execute_code:El código se ejecuta dentro del contenedor aislado
Se capturan la salida estándar y los errores.
Los resultados se devuelven a la aplicación que realiza la llamada.
Cuando se llama
stop_sandbox:Se detiene y se retira el contenedor.
Todos los recursos están liberados
Consideraciones de seguridad
Este sandbox implementa varias medidas de seguridad:
Los contenedores tienen un uso restringido de CPU y memoria
Los contenedores se ejecutan con privilegios mínimos
El acceso a la red está deshabilitado de forma predeterminada
Los contenedores son desechables y se limpian después de su uso.
Desarrollo
Estructura del proyecto
mcp-docker-interpreter/
├── main.py # Main implementation of MCP server and Docker sandbox
├── requirements.txt # Project dependencies
└── README.md # This fileAgregar nuevo soporte para idiomas
Para agregar soporte para un nuevo lenguaje de programación, modifique el método run_code en la clase DockerSandbox para manejar el nuevo lenguaje.
Solución de problemas
Problemas comunes
Error de conexión de Docker :
Asegúrese de que Docker se esté ejecutando
Compruebe que la variable de entorno DOCKER_HOST esté configurada correctamente para su instalación de Docker
La creación del contenedor falla :
Verifique que tenga permiso para crear contenedores Docker
Asegúrese de que la imagen base especificada sea accesible
La ejecución del código falla :
Compruebe que el entorno de ejecución del lenguaje esté instalado correctamente en el contenedor
Verifique que el código sea válido para el idioma especificado
Licencia
Expresiones de gratitud
Este proyecto utiliza el Protocolo de Contexto Modelo
Desarrollado con Docker SDK para Python
This server cannot be deployed
Maintenance
Related MCP Connectors
Run AI agent tasks in isolated sandboxes with a cost cap, saved workflows and scoped connections.
Remote Linux boxes for coding agents: Docker, a browser, screenshots, logs, human takeover.
Real Linux labs your AI agent deploys, routes and runs, with domains, TLS, DBs and an audit log.
Cloud Linux VMs for your agent: run code, Docker, files and HTTPS previews in a Sandboxer microVM.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to safely execute code in isolated Docker containers with resource limits and security controls, supporting session management and automatic dependency installation.22 PyPIMIT
- AlicenseAqualityCmaintenanceEnables AI assistants to securely execute Python and C++ code snippets inside disposable, isolated Docker containers and receive structured results.31MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to safely execute Python, JavaScript, and Bash code in an isolated Docker sandbox with strict security constraints.1-
- FlicenseAqualityCmaintenanceA secure, containerized workspace for LLMs to autonomously code, test, and debug projects without risking the host machine.61-