MCP-Sandbox(可译为“MCP沙盒”或根据具体语境调整为更贴切的表述)
MCP-Sandbox 提供容器镜像,这些镜像封装了模型上下文协议(MCP)服务器,并对其网络和文件系统访问进行了严格控制。这些镜像被设计为可由配套的软件开发工具包(SDK)嵌入,以便 MCP 服务器能够在无需直接访问主机的情况下安全运行。
概述
- 沙箱基础镜像提供了核心运行时环境,并且可以扩展以支持额外的包管理器或定制工具。
- 针对特定语言的变体基于基础镜像来安装依赖项、运行设置脚本,然后使用iptables和经过挑选的文件系统挂载来锁定容器。
- 配套软件开发工具包(SDKs)使用这些镜像在可预测且封闭的环境中运行MCP服务器。
基础镜像
基础镜像包含了所有沙盒变体所需的共享工具,包括运行时用户、日志记录实用程序以及应用网络和文件系统限制的脚本。团队可以在此镜像基础上进行扩展,以添加其他包管理器或语言运行时,同时继承沙盒的安全态势。
- 安装完成后,该镜像会配置iptables规则,以阻止除白名单中的DNS或IP目标以外的所有出站流量。
- 文件系统挂载仅暴露MCP服务器需要读取或写入的目录,从而阻止对更广泛的主机文件系统的访问。
Node.js(npm)沙盒
- 安装在声明中指定的MCP服务器
PACKAGE环境变量。 - 适用于在npm上发布的MCP服务器,无需额外的框架支持即可运行。
Python(PyPI)沙盒
- 用途
uv在密封环境之前,从 PyPI 安装依赖项。 - 非常适合运行作为Python项目分发的MCP服务器。
使用图像
伴侣SDK包会拉取相应的沙箱镜像(基础镜像、npm镜像或PyPI镜像),并在容器内启动MCP服务器。在出站流量受限且文件系统访问最小化的情况下,服务器以最小权限运行,同时仍能获取其所需的依赖项。
