mcpField
C
Code Sandbox MCP 🐳

Code Sandbox MCP 🐳

本地服务
github.com/Automata-Labs-team开发工具32683 周前更新

关于 Code Sandbox MCP 🐳

Code Sandbox MCP 是一个 MCP 服务,通过 Docker 容器为 AI 应用提供安全、隔离的代码执行环境。它支持自定义镜像,并可在容器内执行命令与传输文件。

主要功能

  1. 01基于 Docker 容器创建隔离的执行环境
  2. 02支持使用任意 Docker 镜像作为基础环境
  3. 03主机与容器之间的文件和目录传输
  4. 04在容器内执行 shell 命令
  5. 05实时流式输出容器日志与命令结果
  6. 06提供 Linux、macOS 和 Windows 版本

适用场景

  1. 01让 AI 应用在隔离容器中运行不受信任的代码
  2. 02在指定镜像中安装依赖并执行 Python 脚本
  3. 03将本地项目复制到沙箱中进行测试

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 sandbox_initialize、copy_project、write_file、sandbox_exec、copy_file、sandbox_stop 等工具,并提供 containers://{id}/logs 容器日志资源。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

Code Sandbox MCP 🐳

smithery badge

一个安全的沙箱环境,可在 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
# Run in 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(字符串,可选):在沙箱环境中保存 src 目录的路径
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 容器限制实现资源限制
  • 分离 stdout 和 stderr 流

🔧 配置

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 许可,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

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

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