返回市场
代码沙箱mcp

代码沙箱mcp

作者:Automata-Labs-team285 星标更新:2025-03-23

项目介绍

Code Sandbox MCP 🐳

smithery 徽章

一个在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

# 在PowerShell中运行
irm https://raw.githubusercontent.com/Automata-Labs-team/code-sandbox-mcp/main/install.ps1 | iex

安装程序将:

  1. 检查Docker是否已安装
  2. 下载适用于您系统的适当二进制文件
  3. 创建必要的配置文件

手动安装

  1. 发布页面下载适用于您平台的最新版本
  2. 将二进制文件放置在PATH中的目录下
  3. 使其可执行(仅限类Unix系统):
    chmod +x code-sandbox-mcp
    

🛠️ 可用工具

sandbox_initialize

初始化一个新的计算环境以执行代码。 基于指定的Docker镜像创建一个容器。

参数:

  • image (字符串,可选):用作基础环境的Docker镜像
    • 默认值:'python:3.12-slim-bookworm'

返回:

  • 可与其他工具一起使用的container_id,以与该环境交互

copy_project

将一个目录复制到沙箱文件系统中。

参数:

  • container_id (字符串,必需):从初始化调用返回的容器ID
  • local_src_dir (字符串,必需):本地文件系统中目录的路径
  • dest_dir (字符串,可选):保存源目录在沙箱环境中的路径

write_file

将文件写入沙箱文件系统中。

参数:

  • container_id (字符串,必需):从初始化调用返回的容器ID
  • file_name (字符串,必需):要创建的文件名
  • file_contents (字符串,必需):要写入文件的内容
  • dest_dir (字符串,可选):创建文件的目录(默认:${WORKDIR})

sandbox_exec

在沙箱环境中执行命令。

参数:

  • container_id (字符串,必需):从初始化调用返回的容器ID
  • commands (数组,必需):要在沙箱环境中运行的命令列表
    • 示例:["apt-get update", "pip install numpy", "python script.py"]

copy_file

将单个文件复制到沙箱文件系统中。

参数:

  • container_id (字符串,必需):从初始化调用返回的容器ID
  • local_src_file (字符串,必需):本地文件系统中文件的路径
  • dest_path (字符串,可选):在沙箱环境中保存文件的路径

sandbox_stop

停止并移除正在运行的容器沙箱。

参数:

  • container_id (字符串,必需):要停止并移除的容器ID

描述: 优雅地停止指定的容器,超时时间为10秒,并移除它及其卷。

容器日志资源

一个动态资源,提供对容器日志的访问。

资源路径: containers://{id}/logs
MIME类型: text/plain
描述: 返回指定容器的所有日志作为一个单一的文本资源。

🔐 安全特性

  • 使用Docker容器实现隔离执行环境
  • 通过Docker容器限制实现资源限制
  • 分离标准输出和标准错误流

🔧 配置

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文件。