返回市场
沙盒-MCP

沙盒-MCP

作者:pottekkat86 星标更新:2025-05-13

项目介绍

【技术文档摘要】: Sandbox MCP Logo

GitHub Actions Workflow Status GitHub Release GitHub commits since latest release GitHub License

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

虽然LLMs擅长生成代码,但大多数无法运行它们生成的代码。你最终会在自己的机器上直接运行这些未经测试的代码,这可能会导致严重的意外后果。

给LLMs提供安全测试代码的工具可以防止这些问题,并帮助你在更少的迭代中生成更准确的代码

Sandbox MCP 给LLMs提供了一个易于使用的执行环境,任何人都可以通过简单的AI原生MCP服务器创建和配置这个环境,该服务器本地运行。

灵感来自Codapi。某些沙箱与Codapi沙箱相同。

使用场景

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

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

演示

此演示展示了Sandbox MCP如何与Claude Desktop一起工作。

Sandbox MCP演示GIF

如果GIF不清楚,请尝试视频

安装

下载二进制文件

你可以从发布页面下载适用于你的操作系统(例如,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与LLMs之前,你需要初始化其配置:

# 在$XDG_CONFIG_HOME/sandbox-mcp中创建配置目录
# 并从GitHub拉取默认沙箱
sandbox-mcp --pull

# 构建沙箱的Docker镜像
sandbox-mcp --build

[!NOTE] 确保已安装并运行Docker。

与MCP主机/客户端一起使用

将以下内容添加到Claude Desktop的claude_desktop_config.json或Cursor IDE的mcp.json中:

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

[!NOTE] 确保将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预览特性。

[!IMPORTANT]

自定义沙箱

你可以在$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"
            ]
        }
    }
}

许可证

MIT许可证