mcpField
S
Sandbox Mcp

Sandbox Mcp

本地服务
github.com/pottekkatAI 与智能体12276 周前更新

关于 Sandbox Mcp

Sandbox MCP 是一个 MCP 服务,让 LLM 能够在隔离的 Docker 容器中运行代码,避免直接在本机执行未经测试的生成代码。它以本地运行的方式提供,并允许用户创建和配置自己的沙箱环境。

主要功能

  1. 01在隔离的 Docker 容器中执行代码
  2. 02内置 shell、python、go、rust 等沙箱
  3. 03支持 network-tools 网络诊断沙箱
  4. 04可通过 Dockerfile 与 JSON 配置自定义沙箱
  5. 05提供 Go 安装、预编译二进制等安装方式

适用场景

  1. 01运行并验证 LLM 生成的代码
  2. 02在交互或面试场景中即时编译运行代码片段
  3. 03使用隔离的网络工具排查连通性问题

MCP 相关

该项目是一个 MCP 服务,通过 --stdio 方式接入 Claude Desktop、Cursor 等 MCP 客户端,为其提供代码执行环境。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Sandbox MCP 徽标

GitHub Actions 工作流状态 GitHub 发布版本 GitHub 自最新发布以来的提交数 GitHub 许可证

Sandbox MCP 是一个模型上下文协议(MCP)服务,可让大模型(MCP 主机/客户端)在安全、隔离的 Docker 容器中运行代码。

大模型虽然非常擅长生成代码,但大多数无法运行自己生成的代码。于是,你只能直接在自己的机器上运行这些未经测试的代码,这可能会造成严重的意外后果。

为大模型提供安全测试代码的工具,可以避免此类问题,并帮助你用更少的迭代生成更准确的代码。

Sandbox MCP 为大模型提供了一个易于使用的执行环境,任何人都可以通过一个在本地运行的、简单且原生支持 AI 的 MCP 服务来创建和配置该环境。

灵感来自 Codapi。其中一些沙箱与 Codapi 沙箱相同。

使用场景

Sandbox MCP 可用于许多不同的任务,包括但不限于:

  • 安全执行代码:在安全、隔离的环境中运行大模型生成的任何代码,保护你的系统免受不受信任或可能有害的代码影响。
  • 代码测试:在将代码集成到大型项目或生产系统之前,在各种环境中自动测试和验证多种语言和/或配置下的代码。
  • 验证用户代码:安全地执行并检查用户提交的代码或脚本,确保它们按预期运行,且不会执行恶意操作。
  • 网络故障排查:使用隔离的网络工具诊断连接问题、测试端点并分析网络性能,而不会暴露你的系统。
  • 编程教学与面试:即时编译和运行代码片段,用于学习、教学或技术面试,并在安全的临时环境中提供即时反馈。
  • 自动化代码审查与反馈:让大模型自动执行、测试和审查代码,在代码合并或部署前提供可执行的反馈或建议。

演示

此演示展示了 Sandbox MCP 如何与 Claude Desktop 配合使用。

Sandbox MCP 演示 GIF

如果 GIF 不够清晰,请观看视频。

安装

下载二进制文件

你可以从 Releases 页面下载适用于你的操作系统(例如 Darwin)和处理器架构(arm64)的二进制文件(sandbox-mcp_Darwin_arm64.tar.gz)。

通过 Go 安装

前置条件:

  • Go 1.24 或更高版本
go install github.com/pottekkat/sandbox-mcp/cmd/sandbox-mcp@latest

获取 sandbox-mcp 二进制文件的路径:

which sandbox-mcp
从源代码构建

请参阅开发部分。

用法

初始化

在使用 sandbox-mcp 和大模型之前,你需要初始化其配置:

# 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 的 claude_desktop_config.json 或 Cursor IDE 的 mcp.json 中:

{
    "mcpServers": {
        "sandbox-mcp": {
            "command": "path/to/sandbox-mcp",
            "args": [
                "--stdio"
            ]
        }
    }
}

说明

请将 path/to/sandbox-mcp 替换为 sandbox-mcp 二进制文件的实际路径。

可用的沙箱

沙箱描述
shell安全、隔离的 Linux 环境,可运行无需网络访问的轻量级命令。
python在安全、隔离的环境中安全地执行 Python 代码。
rust在隔离的环境中编译并运行 Rust 代码。
network-tools在隔离的 Linux 沙箱中使用各种网络实用工具。非常适合网络诊断和故障排除。可访问 https://github.com/jonlabelle/docker-network-tools 查看可用工具列表。
go在可访问网络的隔离环境中安全地运行 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 配置文件组成。请查看示例和指南了解详情。

开发

Fork 并克隆此仓库:

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"
            ]
        }
    }
}

许可证

MIT 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。