Servidor Sandbox de código MCP
Un servidor de Protocolo de Comunicación de Mensajes (MCP) extensible que proporciona capacidades de ejecución segura de código en entornos aislados. Este servidor sigue el estándar MCP, lo que lo hace compatible con Claude for Desktop y otros clientes MCP.
Características
Crear entornos sandbox aislados para la ejecución de código
Ejecutar código Python de forma segura
Realizar operaciones con archivos (enumerar, leer, escribir)
Instalar paquetes de Python en el entorno sandbox
Arquitectura extensible con interfaz de intérprete de código abstracto
Diseño modular con clara separación de preocupaciones
Arquitectura
El servidor está construido con una arquitectura modular y extensible:
Componentes principales
Interfaz de intérprete abstracto : permite integrar diferentes backends de ejecución de código
Administración de Sandbox : Herramientas para crear y administrar entornos Sandbox
Ejecución de código : herramientas para ejecutar código e instalar paquetes
Operaciones con archivos : herramientas para gestionar archivos dentro de entornos sandbox
Estructura del proyecto
Prerrequisitos
Python 3.10 o superior
Clave API E2B (para el intérprete E2B predeterminado)
Instalación
Clonar este repositorio:
git clone https://github.com/yourusername/mcp-code-sandbox.git cd mcp-code-sandboxConfigurar un entorno virtual:
# Using venv python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # Or using uv (recommended) uv init uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activateInstalar los paquetes necesarios:
# Using pip pip install fastmcp python-dotenv e2b-code-interpreter # Or using uv uv add fastmcp python-dotenv e2b-code-interpreterConfigurar variables de entorno:
# Create a .env file with the following variables E2B_API_KEY=your_e2b_api_key_here INTERPRETER_TYPE=e2b # Default, can be changed to other implemented interpreters
Uso
Ejecución del servidor independiente
Puede ejecutar el servidor directamente desde la línea de comandos:
Esto iniciará el servidor usando el transporte stdio, haciéndolo compatible con Claude for Desktop.
Uso con Claude para escritorio
Asegúrate de tener instalada la última versión de Claude for Desktop
Abra el archivo de configuración de Claude for Desktop:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Ventanas:
%APPDATA%\Claude\claude_desktop_config.json
Agregue la configuración de su servidor sandbox de código:
{ "mcpServers": { "code-sandbox": { "command": "python", "args": [ "/ABSOLUTE/PATH/TO/main.py" ] } } }O si estás usando
uv
:{ "mcpServers": { "code-sandbox": { "command": "uv", "args": [ "--directory", "/ABSOLUTE/PATH/TO/PROJECT_DIRECTORY", "run", "main.py" ] } } }Guarde el archivo y reinicie Claude for Desktop
Herramientas disponibles
El servidor proporciona las siguientes herramientas:
Administración de Sandbox
create_sandbox : Crea un nuevo entorno sandbox
close_sandbox : Cierra y limpia un sandbox
get_sandbox_status : Verificar el estado de los entornos sandbox
Ejecución de código
execute_code : Ejecutar código Python en un entorno aislado
install_package : Instalar un paquete de Python
create_run_close : Herramienta todo en uno que crea un espacio aislado, ejecuta código y limpia
Operaciones con archivos
list_files : Lista los archivos en el sandbox
read_file : Lee el contenido de un archivo
write_file : Escribe contenido en un archivo
upload_file : Sube un archivo al sandbox
Ampliación con nuevos intérpretes
El sistema está diseñado para ser extensible. Para añadir un nuevo intérprete de código:
Cree un nuevo directorio en
src/sandbox/
para la implementación de su intérpreteImplementar las interfaces definidas en
src/sandbox/code_interpreter.py
ysrc/sandbox/file_interface.py
Agregue el nuevo tipo de intérprete a
src/sandbox/interpreter_factory.py
Configure la variable de entorno
INTERPRETER_TYPE
para su nuevo intérprete
Ejemplo de implementación de un nuevo intérprete:
Descripciones de los módulos
Núcleo de Sandbox ( src/sandbox/
)
code_interpreter.py
: Clase base abstracta para intérpretes de códigofile_interface.py
: Interfaz abstracta para operaciones con archivosinterpreter_factory.py
: Fábrica para crear instancias de intérprete de código
Implementación E2B ( src/sandbox/e2b/
)
e2b_interpreter.py
: implementación E2B del intérprete de códigoe2b_file_interface.py
: implementación E2B de operaciones con archivos
Herramientas ( tools/
)
sandbox_tools.py
: Herramientas para la administración de sandboxcode_execution_tools.py
: Herramientas para la ejecución de códigofile_tools.py
: Herramientas para operaciones con archivos
Aplicación principal
main.py
: punto de entrada de la aplicación principal
Solución de problemas
Si encuentra problemas:
Asegúrese de tener la clave API correcta para el intérprete elegido
Consulte los registros para ver mensajes de error detallados
Verifique que todos los paquetes necesarios estén instalados
Asegúrese de que Claude for Desktop esté configurado con la ruta correcta a su script
Consideraciones de seguridad
La ejecución del código se realiza en entornos aislados por seguridad.
No utilice este servidor para ejecutar código no confiable en entornos de producción
El servidor actualmente no implementa autenticación: solo debe usarse en entornos confiables
Licencia
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Un servidor de protocolo de comunicación de mensajes extensible que proporciona capacidades de ejecución de código seguro en entornos sandbox aislados, compatible con Claude for Desktop y otros clientes MCP.
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server built with mcp-framework that allows users to create and manage custom tools for processing data, integrating with the Claude Desktop via CLI.Last updated -325
- AsecurityFlicenseAqualityAn MCP server that allows Claude to interact with Discord by providing tools for sending/reading messages and managing server resources through Discord's API.Last updated -1930
- AsecurityFlicenseAqualityA server built with mcp-framework that allows users to extend Claude's capabilities by adding custom tools that can be used through the Claude Desktop client.Last updated -331
- -securityFlicense-qualityA server implementation of the Model Context Protocol that allows users to extend Claude's capabilities by creating custom tools that can be used within the Claude Desktop client.