Sandbox MCP

MIT License
1
  • Linux
  • Apple

Integrations

  • Uses Docker containers to provide secure, isolated execution environments for code generated by LLMs

  • Pulls default sandboxes from GitHub during initialization of the MCP server

  • Provides a sandbox to execute JavaScript code using Node.js in an isolated environment

沙盒 MCP

Sandbox MCP 是一个模型上下文协议 (MCP) 服务器,它允许 LLM(MCP 主机/客户端)在安全、隔离的 Docker 容器中运行代码和配置。

虽然 LLM 非常擅长生成代码,但大多数 LLM 无法运行它们生成的代码。这可能会导致你直接在机器上运行未经测试的代码,从而产生意想不到的后果。

Sandbox MCP 为 LLM 提供了一个易于使用的执行环境,任何人都可以通过在本地运行的简单的 AI 原生 MCP 服务器创建和配置该环境。

Codapi启发。一些沙箱与Codapi 沙箱相同。

演示

下方演示展示了 MCP 如何与 Claude Desktop 配合使用。如果下方 GIF 动图看不清楚,请观看视频

安装

下载二进制文件

您可以从“发布”页面下载并使用适合您的操作系统和处理器架构的二进制文件。

通过 Go 安装

先决条件:

  • Go 1.24 或更高版本
go install github.com/pottekkat/sandbox-mcp/cmd/sandbox-mcp@latest

获取sandbox-mcp二进制文件的路径:

which sandbox-mcp

从源代码构建

请参阅下面的开发部分。

用法

初始化

在将sandbox-mcp与 LLM 一起使用之前,您需要初始化其配置:

# Create the configuration directory and # pull the default sandboxes from GitHub sandbox-mcp --pull # Build the Docker images for the sandboxes sandbox-mcp --build

[!NOTE] 确保已安装并正在运行 Docker。

使用 MCP 主机/客户端

将其添加到 Claude Desktop 的claude_desktop_config.json或 Cursor 的mcp.json中:

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

[!NOTE] 确保将path/to/sandbox-mcp替换为sandbox-mcp二进制文件的实际路径。

可用的沙盒

在具有严格安全和网络限制的 Linux 环境中运行 shell 命令。

Python

使用一组预安装的库运行 Python 代码。

[!重要的]

您自己的沙盒

您可以在sandboxes目录中创建一个以您的沙盒名称命名的新目录,并向其中添加Dockerfileconfig.json文件,从而创建您自己的沙盒。请参阅/sandboxes/中的示例。

网络工具

在隔离的 Linux 沙盒中使用各种网络工具。容器具有网络访问权限。

请参阅jonlabelle/docker-network-tools以获取可用工具的列表。

在隔离的沙箱中运行简单的 Go 代码。

JavaScript

使用 Node.js 运行 JavaScript 代码。

发展

分叉并克隆存储库:

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

进入目录:

cd sandbox-mcp

安装依赖项:

make deps

构建项目:

make build

更新您的 MCP 服务器配置以指向本地构建:

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

执照

MIT 许可证

ID: meacct2993