使用说明
沙盒MCP 是一个模型上下文协议(MCP)服务器,它使LLM(MCP主机/客户端)能够 在安全、隔离的Docker容器中运行代码.
虽然LLM非常擅长生成代码,但大多数 无法运行它们生成的代码。您最终会直接在计算机上运行此未经测试的代码,这可能会产生严重的意外后果。
为LLM提供安全测试代码的工具可以防止此类问题,并帮助您 在更少的迭代中生成更准确的代码.
沙盒MCP为LLM提供 易于使用的执行环境,任何人都可以创建和配置 通过在本地运行的简单的AI原生MCP服务器。
用例
沙盒MCP可用于许多不同的任务,包括但不限于:
- 安全代码执行:在安全、隔离的环境中运行LLM生成的任何代码,保护您的系统免受不可信或潜在有害代码的侵害。
- 代码测试:在将代码集成到更大的项目或生产系统之前,在各种环境中自动测试和验证各种语言和/或配置的代码。
- 用户代码验证:安全地执行和检查用户提交的代码或脚本,确保它们按预期运行,不会执行恶意操作。
- 网络故障排除:使用隔离的网络工具诊断连接问题、测试端点和分析网络性能,所有这些都不会暴露您的系统。
- 教育和面试编码:立即编译和运行用于学习、教学或技术面试的代码片段,在安全、临时的环境中提供即时反馈。
- 自动代码审查和反馈:使LLM能够自动执行、测试和审查代码,在合并或部署代码之前提供可操作的反馈或建议。
演示
此演示展示了Sandbox MCP如何与Claude Desktop配合使用。
试试 视频 如果GIF不清晰。
安装
下载二进制文件
您可以下载适用于您的操作系统的适当二进制文件(例如, Darwin)处理器架构(arm64)从 发布页面 (sandbox-mcp_Darwin_arm64.tar.gz).
通过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 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_config.json 适用于Claude Desktop或 mcp.json 对于游标IDE:
{
"mcpServers": {
"sandbox-mcp": {
"command": "path/to/sandbox-mcp",
"args": [
"--stdio"
]
}
}
}
[!注意] 确保更换
path/to/sandbox-mcp与实际路径sandbox-mcp二元的。
可用沙盒
| 沙盒 | 描述 |
|---|---|
| 外壳 | 一个安全、隔离的Linux环境,用于运行不需要网络访问的轻量级命令。 |
| python | 在安全、隔离的环境中安全地执行Python代码。 |
| 锈 | 在隔离环境中编译和运行Rust代码。 |
| 网络工具 | 在隔离的Linux沙箱中使用各种网络实用程序。非常适合网络诊断和故障排除。看https://github.com/jonlabelle/docker-network-tools查看可用工具列表。 |
| 去 | 在具有网络访问权限的隔离环境中安全运行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配置。看看 示例和指南 了解更多。
发展
分叉并克隆存储库:
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"
]
}
}
}