项目简介

Sandbox MCP 是一个实现了 Model Context Protocol (MCP) 标准的应用后端。它主要为大型语言模型 (LLM) 客户端提供服务,允许 LLM 在安全、隔离的 Docker 容器环境中执行代码和运行配置。这解决了 LLM 直接在用户机器上运行可能带来的安全风险问题。

主要功能点

  • 隔离的代码执行环境: 利用 Docker 容器为 LLM 提供一个独立的执行沙箱,防止潜在恶意或错误的生成代码影响宿主系统。
  • 支持多种语言和工具: 内置支持执行 Shell 命令、Python、Go、JavaScript 代码,以及网络工具等多种预配置的沙箱环境。
  • 可定制的沙箱: 用户可以根据自己的需求创建新的 Docker 镜像和配置文件,定义自己的沙箱环境。
  • MCP 标准接口: 通过标准的 MCP (JSON-RPC) 协议与支持 MCP 的 LLM 客户端通信。

安装步骤

安装 Sandbox MCP 有两种主要方式:

  1. 下载预编译二进制文件: 访问项目的 GitHub Releases 页面,下载对应你的操作系统和处理器架构的最新版本二进制文件。

  2. 通过 Go 工具链安装: 确保你的系统已安装 Go 1.24 或更高版本。然后运行以下命令:

    go install github.com/pottekkat/sandbox-mcp/cmd/sandbox-mcp@latest

    安装完成后,你可以使用 'which sandbox-mcp' 命令找到二进制文件的路径。

注意: Sandbox MCP 需要 Docker 运行环境。请确保你已经安装并启动了 Docker。

服务器配置(供MCP客户端使用)

MCP 服务器通常由 MCP 客户端(如某些 LLM 应用程序)启动和管理。你需要将 Sandbox MCP 配置到你的 MCP 客户端中。配置方式因客户端而异,但通常你需要提供服务器的可执行文件路径和启动参数。

以 JSON 格式为例(具体配置方式请参考你的 MCP 客户端文档):

{
    "mcpServers": {
        "sandbox-mcp": {
            "command": "这里填写 sandbox-mcp 可执行文件的完整路径",
            "args": [
                "--stdio" // 这个参数告诉 sandbox-mcp 使用标准输入输出进行通信
            ]
        }
    }
}

请将 '"这里填写 sandbox-mcp 可执行文件的完整路径"' 替换为你实际安装的 'sandbox-mcp' 二进制文件的路径。'--stdio' 参数是 MCP 客户端启动 Sandbox MCP 服务器时常用的通信方式。

基本使用方法

在使用 Sandbox MCP 与 LLM 客户端连接之前,你需要进行初始化设置:

  1. 初始化配置并拉取默认沙箱: 运行以下命令创建配置目录并下载默认的沙箱定义文件。

    sandbox-mcp --pull
  2. 构建沙箱对应的 Docker 镜像: 根据下载的沙箱定义文件构建所需的 Docker 镜像。

    sandbox-mcp --build

    构建过程可能需要一些时间,具体取决于你的网络和机器性能。

完成上述初始化步骤后,配置好你的 LLM 客户端指向 'sandbox-mcp' 可执行文件(如服务器配置部分所述)。当你的 LLM 客户端需要执行代码或调用沙箱功能时,它将通过 MCP 协议自动与 Sandbox MCP 服务器通信。LLM 可以通过 MCP Tools 的方式调用不同的沙箱(如 'shell', 'python' 等)并提供需要执行的代码作为参数。

信息

分类

开发者工具