logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

sandbox-mcp

Isolated Docker environments for executing code in various programming languages, managing package installations, and running commands within containers.

Author

sandbox-mcp logo

Tsuchijo

No License

Quick Info

GitHub GitHub Stars 11
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

dockerdevopscontainersdocker environmentsisolated dockercommands containers

Sandbox MCP Server

An MCP server that provides isolated Docker environments for code execution. This server allows you to: - Create containers with any Docker image - Write and execute code in multiple programming languages - Install packages and set up development environments - Run commands in isolated containers

Prerequisites

  • Python 3.9 or higher
  • Docker installed and running
  • uv package manager (recommended)
  • Docker MCP server (recommended)

Installation

  1. Clone this repository:
git clone <your-repo-url>
cd sandbox_server
  1. Create and activate a virtual environment with uv:
uv venv
source .venv/bin/activate  # On Unix/MacOS
# Or on Windows:
# .venv\Scripts\activate
  1. Install dependencies:
uv pip install .

Integration with Claude Desktop

  1. Open Claude Desktop's configuration file:
  2. macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  3. Windows: %APPDATA%\Claude\claude_desktop_config.json

  4. Add the sandbox server configuration:

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

Replace /absolute/path/to/sandbox_server with the actual path to your project directory.

  1. Restart Claude Desktop

Usage Examples

Basic Usage

Once connected to Claude Desktop, you can:

  1. Create a Python container:
Could you create a Python container and write a simple hello world program?
  1. Run code in different languages:
Could you create a C program that calculates the fibonacci sequence and run it?
  1. Install packages and use them:
Could you create a Python script that uses numpy to generate and plot some random data?

Saving and Reproducing Environments

The server provides several ways to save and reproduce your development environments:

Creating Persistent Containers

When creating a container, you can make it persistent:

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

This will create a container that: - Stays running after Claude Desktop closes - Can be accessed directly through Docker - Preserves all installed packages and files

The server will provide instructions for: - Accessing the container directly (docker exec) - Stopping and starting the container - Removing it when no longer needed

Saving Container State

After setting up your environment, you can save it as a Docker image:

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

This will: 1. Create a new Docker image with all your: - Installed packages - Created files - Configuration changes 2. Provide instructions for reusing the environment

You can then share this image or use it as a starting point for new containers:

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

Generating Dockerfiles

To make your environment fully reproducible, you can generate a Dockerfile:

Could you export a Dockerfile that recreates this environment?

The generated Dockerfile will include: - Base image specification - Created files - Template for additional setup steps

You can use this Dockerfile to: 1. Share your environment setup with others 2. Version control your development environment 3. Modify and customize the build process 4. Deploy to different systems

For reproducible development environments:

  1. Create a persistent container:
Create a persistent Python container for data science work
  1. Install needed packages and set up the environment:
Install numpy, pandas, and scikit-learn in the container
  1. Test your setup:
Create and run a test script to verify the environment
  1. Save the state:
Save this container as 'ds-workspace:v1'
  1. Export a Dockerfile:
Generate a Dockerfile for this environment

This gives you multiple options for recreating your environment: - Use the saved Docker image directly - Build from the Dockerfile with modifications - Access the original container if needed

Security Notes

  • All code executes in isolated Docker containers
  • Containers are automatically removed after use
  • File systems are isolated between containers
  • Host system access is restricted

Project Structure

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

Available Tools

The server provides three main tools:

  1. create_container_environment: Creates a new Docker container with specified image
  2. create_file_in_container: Creates a file in a container
  3. execute_command_in_container: Runs commands in a container
  4. save_container_state: Saves the container state to a persistent container
  5. export_dockerfile: exports a docker file to create a persistant environment
  6. exit_container: closes a container to cleanup environment when finished

See Also

`