Skip to main content
Glama

Servidor MCP de Sandbox

Un servidor MCP que proporciona entornos Docker aislados para la ejecución de código. Este servidor permite:

  • Crea contenedores con cualquier imagen de Docker

  • Escribir y ejecutar código en múltiples lenguajes de programación.

  • Instalar paquetes y configurar entornos de desarrollo

  • Ejecutar comandos en contenedores aislados

Prerrequisitos

  • Python 3.9 o superior

  • Docker instalado y en ejecución

  • gestor de paquetes uv (recomendado)

  • Servidor Docker MCP (recomendado)

Related MCP server: Python MCP Sandbox

Instalación

  1. Clonar este repositorio:

git clone <your-repo-url> cd sandbox_server
  1. Crear y activar un entorno virtual con uv:

uv venv source .venv/bin/activate # On Unix/MacOS # Or on Windows: # .venv\Scripts\activate
  1. Instalar dependencias:

uv pip install .

Integración con Claude Desktop

  1. Abra el archivo de configuración de Claude Desktop:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Ventanas: %APPDATA%\Claude\claude_desktop_config.json

  1. Agregue la configuración del servidor sandbox:

{ "mcpServers": { "sandbox": { "command": "uv", "args": [ "--directory", "/absolute/path/to/sandbox_server", "run", "sandbox_server.py" ], "env": { "PYTHONPATH": "/absolute/path/to/sandbox_server" } } } }

Reemplace /absolute/path/to/sandbox_server con la ruta real al directorio de su proyecto.

  1. Reiniciar Claude Desktop

Ejemplos de uso

Uso básico

Una vez conectado a Claude Desktop, podrá:

  1. Crear un contenedor de Python:

Could you create a Python container and write a simple hello world program?
  1. Ejecutar código en diferentes idiomas:

Could you create a C program that calculates the fibonacci sequence and run it?
  1. Instalar paquetes y utilizarlos:

Could you create a Python script that uses numpy to generate and plot some random data?

Salvando y reproduciendo entornos

El servidor proporciona varias formas de guardar y reproducir sus entornos de desarrollo:

Creación de contenedores persistentes

Al crear un contenedor, puedes hacerlo persistente:

Could you create a persistent Python container with numpy and pandas installed?

Esto creará un contenedor que:

  • Sigue funcionando después de que Claude Desktop se cierra

  • Se puede acceder directamente a través de Docker

  • Conserva todos los paquetes y archivos instalados

El servidor proporcionará instrucciones para:

  • Acceder directamente al contenedor ( docker exec )

  • Parada y arranque del contenedor

  • Quitarlo cuando ya no sea necesario

Guardar el estado del contenedor

Después de configurar su entorno, puede guardarlo como una imagen de Docker:

Could you save the current container state as an image named 'my-ds-env:v1'?

Esto hará lo siguiente:

  1. Crea una nueva imagen de Docker con todos tus:

    • Paquetes instalados

    • Archivos creados

    • Cambios de configuración

  2. Proporcionar instrucciones para reutilizar el medio ambiente.

Luego puedes compartir esta imagen o usarla como punto de partida para nuevos contenedores:

Could you create a new container using the my-ds-env:v1 image?

Generando Dockerfiles

Para que su entorno sea totalmente reproducible, puede generar un Dockerfile:

Could you export a Dockerfile that recreates this environment?

El Dockerfile generado incluirá:

  • Especificación de la imagen base

  • Archivos creados

  • Plantilla para pasos de configuración adicionales

Puedes usar este Dockerfile para:

  1. Comparte la configuración de tu entorno con otros

  2. Control de versiones de su entorno de desarrollo

  3. Modificar y personalizar el proceso de construcción

  4. Implementar en diferentes sistemas

Flujo de trabajo recomendado

Para entornos de desarrollo reproducibles:

  1. Crear un contenedor persistente:

Create a persistent Python container for data science work
  1. Instale los paquetes necesarios y configure el entorno:

Install numpy, pandas, and scikit-learn in the container
  1. Pruebe su configuración:

Create and run a test script to verify the environment
  1. Guardar el estado:

Save this container as 'ds-workspace:v1'
  1. Exportar un Dockerfile:

Generate a Dockerfile for this environment

Esto le brinda múltiples opciones para recrear su entorno:

  • Utilice directamente la imagen de Docker guardada

  • Construir desde el Dockerfile con modificaciones

  • Acceda al contenedor original si es necesario

Notas de seguridad

  • Todo el código se ejecuta en contenedores Docker aislados

  • Los contenedores se retiran automáticamente después de su uso.

  • Los sistemas de archivos están aislados entre contenedores

  • El acceso al sistema host está restringido

Estructura del proyecto

sandbox_server/ ├── sandbox_server.py # Main server implementation ├── pyproject.toml # Project configuration └── README.md # This file

Herramientas disponibles

El servidor proporciona tres herramientas principales:

  1. create_container_environment : crea un nuevo contenedor Docker con la imagen especificada

  2. create_file_in_container : Crea un archivo en un contenedor

  3. execute_command_in_container : ejecuta comandos en un contenedor

  4. save_container_state : guarda el estado del contenedor en un contenedor persistente

  5. export_dockerfile : exporta un archivo docker para crear un entorno persistente

  6. exit_container : cierra un contenedor para limpiar el entorno cuando termina

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tsuchijo/sandbox-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server