砂箱 MCP 是一款模型上下文协议(MCP)服务器,它允许大型语言模型(LLM,也就是 MCP 主机/客户端)在 安全隔离的 Docker 容器中运行代码。
虽然大型语言模型在代码生成方面表现卓越,但大多数 无法执行它们所生成的代码。这就导致你可能会直接在机器上运行未经测试的代码,从而引发严重的意外后果。
而砂箱 MCP 赋予了大型语言模型安全测试代码的能力,不仅能避免此类问题,还能帮助你 更快地生成更准确的代码。它为大型语言模型提供了一个 易于使用的执行环境,任何人都可以通过简单、AI 原生的 MCP 服务器在本地创建和配置。
此演示展示了砂箱 MCP 如何与 Claude Desktop 一起使用:
如果 GIF 不清晰,请尝试观看视频 demo.mp4。
您可以从 发布页面 下载适合您操作系统(例如 Darwin
)和处理器架构(如 arm64
)的二进制文件(例如:sandbox-mcp_Darwin_arm64.tar.gz
)。
先决条件:
go install github.com/pottekkat/sandbox-mcp/cmd/sandbox-mcp@latest
获取 sandbox-mcp
二进制文件的路径:
which sandbox-mcp
请参见 开发部分。
在使用 sandbox-mcp
与 LLM 之前,需要初始化其配置:
# 创建配置目录 $XDG_CONFIG_HOME/sandbox-mcp 并从 GitHub 拉取
# 默认砂箱
sandbox-mcp --pull
# 构建砂箱的 Docker 镜像
sandbox-mcp --build
⚠️ 重要提示
请确保已安装并运行 Docker。
将以下内容添加到您的 claude_desktop_config.json
(适用于 Claude Desktop)或 mcp.json
(适用于 Cursor IDE)中:
{
"mcpServers": {
"sandbox-mcp": {
"command": "path/to/sandbox-mcp",
"args": [
"--stdio"
]
}
}
}
⚠️ 重要提示
请将
path/to/sandbox-mcp
替换为实际的sandbox-mcp
二进制文件路径。
在具有严格安全性和网络限制的 Linux 环境中运行 shell 命令。
在一个预装了特定库的环境中运行 Python 代码。
⚠️ 重要提示
您可以创建自己的砂箱以支持更多语言或工具,例如 Go、Java 或 SQL。
在受限制的网络环境中安全地执行网络相关任务。
# 叉取仓库并切换到项目目录
git clone https://github.com/pottekkat/sandbox-mcp.git && cd sandbox-mcp
# 安装依赖项
npm install
# 构建 Docker 镜像(位于 `docker/` 目录中)
docker build -t sandbox-mcp .
# 运行测试
npm test
砂箱 MCP 为安全执行 LLM 生成的代码提供了一个可靠的方法,对开发者和普通用户都有一定的价值。