Docker Code Sandbox

Docker Code Sandbox

🚀 MCP Docker沙箱解释器

MCP Docker沙箱解释器是一个基于Docker的安全代码执行环境,专为模型上下文协议(MCP)打造。它能让AI助手在不直接访问主机系统的情况下运行代码,所有代码都在隔离的Docker容器中执行,保障了代码执行的安全性。

🚀 快速开始

该项目提供了一个安全的沙箱,用于通过Model Context Protocol (MCP) 执行代码。它允许AI助手在无需直接访问主机系统的情况下运行代码,所有代码均在隔离的Docker容器中执行。其运行流程如下:

graph LR
A[Claude/Cursor] -->|发送代码| B[MCP服务器]
B -->|执行代码| C[Docker沙箱]
C -->|返回结果| A

✨ 主要特性

  • 安全执行:代码在具有严格安全限制的隔离Docker容器中运行
  • 多语言支持:目前支持Python,其他语言易于扩展
  • 资源限制:CPU和内存限制以防止滥用
  • MCP集成:完全兼容Model Context Protocol
  • 自动设置:处理容器创建、依赖安装和清理

📦 安装指南

安装需求

  • Docker(桌面或引擎)
  • Python 3.10+
  • MCP SDK (pip install mcp)
  • Docker Python SDK (pip install docker)

安装步骤

  1. 克隆此仓库:

    git clone https://github.com/yourusername/mcp-docker-interpreter.git
    cd mcp-docker-interpreter
    
  2. 创建并激活虚拟环境:

    python -m venv .venv
    source .venv/bin/activate  # 在Windows上:.venv\Scripts\activate
    
  3. 安装依赖项:

    pip install -r requirements.txt
    

💻 使用示例

启动MCP服务器

运行以下命令启动服务器:

# 对于Colima用户:
export DOCKER_HOST="unix:///Users/username/.colima/default/docker.sock"

# 运行服务器
uv run mcp dev main.py

与AI助手连接

你可以将此MCP服务器连接到支持Model Context Protocol的AI助手:

Cursor

在Cursor中,将以下内容添加到你的MCP设置中:

{
"mcpServers": {
"docker-sandbox": {
"command": "python",
"args": ["/绝对路径/到/your/main.py"],
"env": {
"DOCKER_HOST": "unix:///path/to/your/docker.sock"
}
}
}
}

将路径替换为你的实际文件路径。

Claude Desktop

与Cursor类似,将配置添加到Claude Desktop的MCP设置中。

MCP工具

此MCP服务器暴露了三个主要工具:

  1. initialize_sandbox:创建一个新的Docker容器用于代码执行

    参数:
    - image: 要使用的Docker镜像(默认:"alpine:latest")
    
  2. execute_code:在已初始化的沙箱中运行代码

    参数:
    - code: 要执行的代码字符串
    - language: 代码的语言(默认:"python")
    
  3. clean_container:清理不再需要的容器

    无参数
    

📚 详细文档

工作原理

  1. 初始化阶段

    • 创建并启动一个Docker容器。
    • 配置基本的开发环境。
  2. 执行阶段

    • 将代码发送到容器中。
    • 在指定语言的环境中运行代码。
    • 返回执行结果或错误信息。
  3. 清理阶段

    • 定期检查并清理不再需要的容器,以释放资源。

安全考虑

  • 隔离:所有代码均在独立的Docker容器中运行,防止恶意代码影响主机系统。
  • 限制:对CPU和内存使用设置上限,防止资源滥用。
  • 监控:支持实时监控和终止异常行为的进程。

开发信息

  • 该项目基于Docker SDK for Python构建,提供了强大的容器管理功能。
  • 完全兼容Model Context Protocol,可与其他MCP工具和服务集成。
  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-30 04:24

相似服务问题