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.
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:
Conexió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:
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
Agregar 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 installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Un entorno seguro basado en Docker que permite a los asistentes de IA ejecutar código de forma segura sin acceso directo al sistema host ejecutando todo el código dentro de contenedores aislados.
Related MCP Servers
- -securityFlicense-qualityProvides isolated Docker environments for code execution, enabling users to create and manage containers, execute multi-language code, save and reproduce development environments, ensuring security and isolation.Last updated -11
- -securityAlicense-qualityAn interactive Python code execution environment that allows users and LLMs to safely execute Python code and install packages in isolated Docker containers.Last updated -27Apache 2.0
- -securityAlicense-qualityAn open-source self-hosted browser agent that provides a dockerized browser environment for AI automation, allowing other AI apps and agents to perform human-like web browsing tasks through natural language instructions.Last updated -6661Apache 2.0
- -securityFlicense-qualityA secure server that enables code execution in isolated Docker environments, supporting Python with strict security constraints including network isolation, limited filesystem access, and resource limitations.Last updated -