关于 Sandbox Mcp
Sandbox MCP 是一个 MCP 服务,让 LLM 能够在隔离的 Docker 容器中运行代码,避免直接在本机执行未经测试的生成代码。它以本地运行的方式提供,并允许用户创建和配置自己的沙箱环境。
主要功能
- 01在隔离的 Docker 容器中执行代码
- 02内置 shell、python、go、rust 等沙箱
- 03支持 network-tools 网络诊断沙箱
- 04可通过 Dockerfile 与 JSON 配置自定义沙箱
- 05提供 Go 安装、预编译二进制等安装方式
适用场景
- 01运行并验证 LLM 生成的代码
- 02在交互或面试场景中即时编译运行代码片段
- 03使用隔离的网络工具排查连通性问题
MCP 相关
该项目是一个 MCP 服务,通过 --stdio 方式接入 Claude Desktop、Cursor 等 MCP 客户端,为其提供代码执行环境。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍

Sandbox MCP 是一个模型上下文协议(MCP)服务,可让大模型(MCP 主机/客户端)在安全、隔离的 Docker 容器中运行代码。
大模型虽然非常擅长生成代码,但大多数无法运行自己生成的代码。于是,你只能直接在自己的机器上运行这些未经测试的代码,这可能会造成严重的意外后果。
为大模型提供安全测试代码的工具,可以避免此类问题,并帮助你用更少的迭代生成更准确的代码。
Sandbox MCP 为大模型提供了一个易于使用的执行环境,任何人都可以通过一个在本地运行的、简单且原生支持 AI 的 MCP 服务来创建和配置该环境。
灵感来自 Codapi。其中一些沙箱与 Codapi 沙箱相同。
使用场景
Sandbox MCP 可用于许多不同的任务,包括但不限于:
- 安全执行代码:在安全、隔离的环境中运行大模型生成的任何代码,保护你的系统免受不受信任或可能有害的代码影响。
- 代码测试:在将代码集成到大型项目或生产系统之前,在各种环境中自动测试和验证多种语言和/或配置下的代码。
- 验证用户代码:安全地执行并检查用户提交的代码或脚本,确保它们按预期运行,且不会执行恶意操作。
- 网络故障排查:使用隔离的网络工具诊断连接问题、测试端点并分析网络性能,而不会暴露你的系统。
- 编程教学与面试:即时编译和运行代码片段,用于学习、教学或技术面试,并在安全的临时环境中提供即时反馈。
- 自动化代码审查与反馈:让大模型自动执行、测试和审查代码,在代码合并或部署前提供可执行的反馈或建议。
演示
此演示展示了 Sandbox MCP 如何与 Claude Desktop 配合使用。

如果 GIF 不够清晰,请观看视频。
安装
下载二进制文件
你可以从 Releases 页面下载适用于你的操作系统(例如 Darwin)和处理器架构(arm64)的二进制文件(sandbox-mcp_Darwin_arm64.tar.gz)。
通过 Go 安装
前置条件:
- Go 1.24 或更高版本
go install github.com/pottekkat/sandbox-mcp/cmd/sandbox-mcp@latest
获取 sandbox-mcp 二进制文件的路径:
which sandbox-mcp
从源代码构建
请参阅开发部分。
用法
初始化
在使用 sandbox-mcp 和大模型之前,你需要初始化其配置:
# 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
说明
请确保已安装并运行 Docker。
使用 MCP 主机/客户端
将以下内容添加到 Claude Desktop 的 claude_desktop_config.json 或 Cursor IDE 的 mcp.json 中:
{
"mcpServers": {
"sandbox-mcp": {
"command": "path/to/sandbox-mcp",
"args": [
"--stdio"
]
}
}
}
说明
请将
path/to/sandbox-mcp替换为sandbox-mcp二进制文件的实际路径。
可用的沙箱
| 沙箱 | 描述 |
|---|---|
| shell | 安全、隔离的 Linux 环境,可运行无需网络访问的轻量级命令。 |
| python | 在安全、隔离的环境中安全地执行 Python 代码。 |
| rust | 在隔离的环境中编译并运行 Rust 代码。 |
| network-tools | 在隔离的 Linux 沙箱中使用各种网络实用工具。非常适合网络诊断和故障排除。可访问 https://github.com/jonlabelle/docker-network-tools 查看可用工具列表。 |
| go | 在可访问网络的隔离环境中安全地运行 Go 代码。 |
| javascript | 在隔离的环境中使用 Node.js 运行 JavaScript 代码。 |
| apisix | 运行轻量级的 Apache APISIX 实例,可通过 YAML 文件进行配置,并可通过 main.sh 文件中提供的 curl 命令与之交互。例如:curl -sI http://127.0.0.1:9080/ip。 |
| java | 在隔离的沙箱中编译并运行 Java 代码。支持 Java 预览功能。 |
重要
创建自己的沙箱
你可以在
$XDG_CONFIG_HOME/sandbox-mcp/sandboxes中创建并添加自己的沙箱。沙箱本质上由一个 Dockerfile 和一个 JSON 配置文件组成。请查看示例和指南了解详情。
开发
Fork 并克隆此仓库:
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"
]
}
}
}
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。