一种MCP服务器,用于在Docker容器内执行代码时创建安全的代码沙箱环境。
cloud-platformsvirtualizationsecurity-and-iam
695 查看 · 2026-07-07 更新
简介
一种MCP服务器,用于在Docker容器内执行代码时创建安全的代码沙箱环境。
简介
一种MCP服务器,用于在Docker容器内执行代码时创建安全的代码沙箱环境。
代码沙箱 MCP 🐳
一个在 Docker 容器内执行代码的安全沙箱环境。这个 MCP 服务器为 AI 应用程序提供了一个安全且隔离的运行代码环境,同时通过容器化保持安全性。
🌟 特性
- 灵活的容器管理:创建和管理用于代码执行的隔离 Docker 容器
- 自定义环境支持:使用任何 Docker 镜像作为你的执行环境
- 文件操作:轻松地在主机和容器之间传输文件和目录
- 命令执行:在容器化环境中运行任意 shell 命令
- 实时日志:实时流式传输容器日志和命令输出
- 自动更新:内置更新检查和自动二进制更新
- 多平台支持:支持 Linux、macOS 和 Windows
🚀 安装
先决条件
快速安装
Linux, MacOS
curl -fsSL https://raw.githubusercontent.com/Automata-Labs-team/code-sandbox-mcp/main/install.sh | bash
Windows
# Run in PowerShell irm https://raw.githubusercontent.com/Automata-Labs-team/code-sandbox-mcp/main/install.ps1 | iex
安装程序将:
- 检查 Docker 是否已安装
- 下载适用于您系统的适当二进制文件
- 创建必要的配置文件
手动安装
- 从 发布页面 下载适用于您的平台的最新版本
- 将二进制文件放置在您的 PATH 中的一个目录里
- 使其可执行(仅限类 Unix 系统):
chmod +x code-sandbox-mcp
🛠️ 可用工具
sandbox_initialize
初始化一个新的计算环境以供代码执行。 基于指定的 Docker 镜像创建一个容器。
参数:
image(字符串, 可选): 用作基础环境的 Docker 镜像- 默认: 'python:3.12-slim-bookworm'
返回值:
container_id可与其他工具一起使用以与此环境交互
copy_project
将目录复制到沙箱文件系统中。
参数:
container_id(字符串, 必需): 从初始化调用返回的容器 IDlocal_src_dir(字符串, 必需): 本地文件系统中的目录路径dest_dir(字符串, 可选): 在沙箱环境中保存源目录的路径
write_file
向沙箱文件系统写入文件。
参数:
container_id(字符串, 必需): 从初始化调用返回的容器 IDfile_name(字符串, 必需): 要创建的文件名file_contents(字符串, 必需): 写入文件的内容dest_dir(字符串, 可选): 创建文件的目录 (默认: ${WORKDIR})
sandbox_exec
在沙箱环境中执行命令。
参数:
container_id(字符串,必填):从初始化调用返回的容器IDcommands(数组,必填):要在沙箱环境中运行的命令列表- 示例:["apt-get update", "pip install numpy", "python script.py"]
copy_file
将单个文件复制到沙箱文件系统中。
参数:
container_id(字符串,必填):从初始化调用返回的容器IDlocal_src_file(字符串,必填):本地文件系统的文件路径dest_path(字符串,可选):在沙箱环境中保存文件的路径
sandbox_stop
停止并移除正在运行的容器沙箱。
参数:
container_id(字符串,必填):要停止和移除的容器ID
描述: 优雅地停止指定的容器,并设置10秒超时,同时移除其卷。
容器日志资源
提供访问容器日志的动态资源。
资源路径: containers://{id}/logs
MIME类型: text/plain
描述: 以单个文本资源的形式返回指定容器的所有日志。
🔐 安全特性
- 使用Docker容器实现隔离执行环境
- 通过Docker容器约束限制资源
- 分离stdout和stderr流
🔧 配置
Claude Desktop
安装程序会自动创建配置文件。如果您需要手动配置它:
Linux
// ~/.config/Claude/claude_desktop_config.json { "mcpServers": { "code-sandbox-mcp": { "command": "/path/to/code-sandbox-mcp", "args": [], "env": {} } } }
macOS
// ~/Library/Application Support/Claude/claude_desktop_config.json { "mcpServers": { "code-sandbox-mcp": { "command": "/path/to/code-sandbox-mcp", "args": [], "env": {} } } }
Windows
// %APPDATA%\Claude\claude_desktop_config.json { "mcpServers": { "code-sandbox-mcp": { "command": "C:\\path\\to\\code-sandbox-mcp.exe", "args": [], "env": {} } } }
其他AI应用程序
对于支持MCP服务器的其他AI应用程序,请将其配置为使用code-sandbox-mcp二进制文件作为代码执行后端。
🛠️ 开发
如果您希望本地构建项目或贡献于其开发,请参阅DEVELOPMENT.md。
📝 许可证
本项目根据MIT许可证发布 - 详情请参见LICENSE文件。