Code Sandbox MCP ๐ณ
A secure sandbox environment for executing code within Docker containers. This MCP server provides AI applications with a safe and isolated environment for running code while maintaining security through containerization.
๐ Features
- Flexible Container Management: Create and manage isolated Docker containers for code execution
- Custom Environment Support: Use any Docker image as your execution environment
- File Operations: Easy file and directory transfer between host and containers
- Command Execution: Run any shell commands within the containerized environment
- Real-time Logging: Stream container logs and command output in real-time
- Auto-Updates: Built-in update checking and automatic binary updates
- Multi-Platform: Supports Linux, macOS, and Windows
๐ Installation
Prerequisites
- Docker installed and running
Quick Install
Linux, MacOS
1curl -fsSL https://raw.githubusercontent.com/Automata-Labs-team/code-sandbox-mcp/main/install.sh | bash
Windows
1# Run in PowerShell 2irm https://raw.githubusercontent.com/Automata-Labs-team/code-sandbox-mcp/main/install.ps1 | iex
The installer will:
- Check for Docker installation
- Download the appropriate binary for your system
- Create necessary configuration files
Manual Installation
- Download the latest release for your platform from the releases page
- Place the binary in a directory in your PATH
- Make it executable (Unix-like systems only):
1chmod +x code-sandbox-mcp
๐ ๏ธ Available Tools
sandbox_initialize
Initialize a new compute environment for code execution. Creates a container based on the specified Docker image.
Parameters:
image
(string, optional): Docker image to use as the base environment- Default: 'python:3.12-slim-bookworm'
Returns:
container_id
that can be used with other tools to interact with this environment
copy_project
Copy a directory to the sandboxed filesystem.
Parameters:
container_id
(string, required): ID of the container returned from the initialize calllocal_src_dir
(string, required): Path to a directory in the local file systemdest_dir
(string, optional): Path to save the src directory in the sandbox environment
write_file
Write a file to the sandboxed filesystem.
Parameters:
container_id
(string, required): ID of the container returned from the initialize callfile_name
(string, required): Name of the file to createfile_contents
(string, required): Contents to write to the filedest_dir
(string, optional): Directory to create the file in (Default: ${WORKDIR})
sandbox_exec
Execute commands in the sandboxed environment.
Parameters:
container_id
(string, required): ID of the container returned from the initialize callcommands
(array, required): List of command(s) to run in the sandboxed environment- Example: ["apt-get update", "pip install numpy", "python script.py"]
copy_file
Copy a single file to the sandboxed filesystem.
Parameters:
container_id
(string, required): ID of the container returned from the initialize calllocal_src_file
(string, required): Path to a file in the local file systemdest_path
(string, optional): Path to save the file in the sandbox environment
sandbox_stop
Stop and remove a running container sandbox.
Parameters:
container_id
(string, required): ID of the container to stop and remove
Description: Gracefully stops the specified container with a 10-second timeout and removes it along with its volumes.
Container Logs Resource
A dynamic resource that provides access to container logs.
Resource Path: containers://{id}/logs
MIME Type: text/plain
Description: Returns all container logs from the specified container as a single text resource.
๐ Security Features
- Isolated execution environment using Docker containers
- Resource limitations through Docker container constraints
- Separate stdout and stderr streams
๐ง Configuration
Claude Desktop
The installer automatically creates the configuration file. If you need to manually configure it:
Linux
1// ~/.config/Claude/claude_desktop_config.json 2{ 3 "mcpServers": { 4 "code-sandbox-mcp": { 5 "command": "/path/to/code-sandbox-mcp", 6 "args": [], 7 "env": {} 8 } 9 } 10}
macOS
1// ~/Library/Application Support/Claude/claude_desktop_config.json 2{ 3 "mcpServers": { 4 "code-sandbox-mcp": { 5 "command": "/path/to/code-sandbox-mcp", 6 "args": [], 7 "env": {} 8 } 9 } 10}
Windows
1// %APPDATA%\Claude\claude_desktop_config.json 2{ 3 "mcpServers": { 4 "code-sandbox-mcp": { 5 "command": "C:\\path\\to\\code-sandbox-mcp.exe", 6 "args": [], 7 "env": {} 8 } 9 } 10}
Other AI Applications
For other AI applications that support MCP servers, configure them to use the code-sandbox-mcp
binary as their code execution backend.
๐ ๏ธ Development
If you want to build the project locally or contribute to its development, see DEVELOPMENT.md.
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.