Sandbox Mcp

by pottekkat

118 stars
750 downloads
Not rated
GitHub

About

A Model Context Protocol (MCP) server that enables LLMs to run ANY code safely in isolated Docker containers.

Details

Author
pottekkat
GitHub stars
118
Downloads
750
Categories
Other

- Runs code in secure, isolated Docker containers
- Supports multiple languages: Python, Rust, Go, JavaScript, Java, and more
- Includes a shell sandbox for Linux commands
- Provides a network-tools sandbox for diagnostics
- Allows creation of custom sandboxes (Dockerfile + JSON config)
- Pulls and builds default sandboxes automatically

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Sandbox Mcp
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Download the appropriate binary for your OS from the Releases page, or install via Go (go install github.com/pottekkat/sandbox-mcp/cmd/sandbox-mcp@latest). Initialize with sandbox-mcp --pull and sandbox-mcp --build (Docker must be installed and running). Then configure your MCP host (e.g., Claude Desktop or Cursor IDE) to use the binary with the --stdio argument.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "sandbox mcp": {
            "sandbox-mcp": {
                "command": "path/to/sandbox-mcp",
                "args": [
                    "--stdio"
                ]
            }
        }
    }
}

McpServers

{
    "sandbox-mcp": {
        "command": "path/to/sandbox-mcp",
        "args": [
            "--stdio"
        ]
    }
}

Sandbox MCP Logo

GitHub Actions Workflow Status
GitHub Release
GitHub commits since latest release
GitHub License

Sandbox MCP is a Model Context Protocol (MCP) server that enables LLMs (MCP hosts/clients) to run code in secure, isolated Docker containers.

While LLMs are really good at generating code, most can't run the code they generate. You end up running this untested code directly on your machine, which could have drastic unintended consequences.

Giving LLMs the tools to test the code safely prevents such issues and helps you generate more accurate code in fewer iterations.

Sandbox MCP gives the LLMs an easy-to-use execution environment that anyone can create and configure through a simple, AI-native MCP server that runs locally.

_Inspired by Codapi. Some sandboxes are the same as Codapi sandboxes._

Use Cases

Sandbox MCP can be used for many different tasks, including but not limited to:

- Secure code execution: Run any code generated by an LLM in a secure, isolated environment, protecting your system from untrusted or potentially harmful code.
- Code testing: Automatically test and validate code in various languages and or configurations in various environments before integrating it into larger projects or production systems.
- User code validation: Safely execute and check user-submitted code or scripts, ensuring they behave as expected and do not perform malicious actions.
- Network troubleshooting: Diagnose connectivity issues, test endpoints, and analyze network performance using isolated network tools, all without exposing your system.
- Educational and interview coding: Instantly compile and run code snippets for learning, teaching, or technical interviews, providing immediate feedback in a safe, temporary environment.
- Automated code review and feedback: Enable LLMs to execute, test, and review code automatically, offering actionable feedback or suggestions before code is merged or deployed.

Demo

This demo shows how Sandbox MCP works with Claude Desktop.

Sandbox MCP demo GIF

Try the video if the GIF isn't clear.

Installation

Download Binary

You can download the appropriate binary for your operating system (for example, Darwin) and processor architecture (arm64) from the Releases page (sandbox-mcp_Darwin_arm64.tar.gz).

Install via Go

Prerequisites:

- Go 1.24 or higher

go install github.com/pottekkat/sandbox-mcp/cmd/sandbox-mcp@latest

Get the path to the sandbox-mcp binary:

which sandbox-mcp

Build from Source

See the Development section.

Usage

Initilization

Before you use sandbox-mcp with LLMs, you need to initialize its configuration:

# Create the configuration directory in

$XDG_CONFIG_HOME/sandbox-mcp and pull

the default sandboxes from GitHub

sandbox-mcp --pull

Build the Docker images for the sandboxes

sandbox-mcp --build

> [!NOTE]
> Make sure you have Docker installed and running.

With MCP Hosts/Clients

Add this to your claude_desktop_config.json for Claude Desktop or mcp.json for Cursor IDE:

{
    "mcpServers": {
        "sandbox-mcp": {
            "command": "path/to/sandbox-mcp",
            "args": [
                "--stdio"
            ]
        }
    }
}

> [!NOTE]
> Make sure to replace path/to/sandbox-mcp with the actual path to the sandbox-mcp binary.

Available Sandboxes

| Sandbox | Description |
|---------|-------------|
| shell | A secure, isolated Linux environment for running lightweight commands that does not require network access. |
| python | Safely execute Python code in a secure, isolated environment. |
| rust | Compile and run Rust code in an isolated environment. |
| network-tools | Use various network utilities in an isolated Linux sandbox. Perfect for network diagnostics and troubleshooting. See https://github.com/jonlabelle/docker-network-tools for a list of available tools. |
| go | Run Go code securely in an isolated environment with network access. |
| javascript | Run JavaScript code in an isolated environment using Node.js. |
| apisix | Run a lightweight instance of Apache APISIX, which can be configured through a YAML file and can be interacted through the curl command provided in the main.sh file. For example, curl -sI http://127.0.0.1:9080/ip. |
| java | Compile and run Java code in an isolated sandbox. Supports Java preview features. |

> [!IMPORTANT]
> ### Your Own Sandbox
>
> You can create and add your own sandboxes in $XDG_CONFIG_HOME/sandbox-mcp/sandboxes. A sandbox is essentially a Dockerfile and a JSON configuration. Check out the examples and the guide to learn more.

Development

Fork and clone the repository:

git clone https://github.com/username/sandbox-mcp.git

Change into the directory:

cd sandbox-mcp

Install dependencies:

make deps

Build the project:

make build

Update your MCP servers configuration to point to the local build:

{
    "mcpServers": {
        "sandbox-mcp": {
            "command": "/path/to/sandbox-mcp/dist/sandbox-mcp",
            "args": [
                "--stdio"
            ]
        }
    }
}

License

MIT License

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.