T

Tsuchijo

@Tsuchijo/sandbox-mcp
0 Stars 328 次浏览 Tsuchijo 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

沙盒 MCP 服务器

提供隔离的 Docker 环境以执行代码的 MCP 服务器。该服务器允许您:

  • 使用任意 Docker 镜像创建容器
  • 在多种编程语言中编写和执行代码
  • 安装包并设置开发环境
  • 在隔离的容器中运行命令

先决条件

  • Python 3.9 或更高版本
  • 已安装并正在运行的 Docker
  • uv 包管理器(推荐)
  • Docker MCP 服务器(推荐)

安装

  1. 克隆此仓库:
    bash
    git clone
    cd sandbox_server

  2. 使用 uv 创建并激活虚拟环境:
    bash
    uv venv
    source .venv/bin/activate # 在 Unix/MacOS 上

或者在 Windows 上:

.venvScriptsactivate

  1. 安装依赖项:
    bash
    uv pip install .

与 Claude Desktop 的集成

  1. 打开 Claude Desktop 的配置文件:
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%Claudeclaude_desktop_config.json
  1. 添加沙盒服务器配置:
    json
    {
    "mcpServers": {
    "sandbox": {
    "command": "uv",
    "args": [
    "--directory",
    "/absolute/path/to/sandbox_server",
    "run",
    "sandbox_server.py"
    ],
    "env": {
    "PYTHONPATH": "/absolute/path/to/sandbox_server"
    }
    }
    }
    }

/absolute/path/to/sandbox_server 替换为您的项目目录的实际路径。

  1. 重启 Claude Desktop

使用示例

基本使用

一旦连接到 Claude Desktop,您可以:

  1. 创建一个 Python 容器:

能否创建一个 Python 容器并编写一个简单的“Hello World”程序?

  1. 在不同语言中运行代码:

能否创建一个计算斐波那契数列的 C 程序并运行它?

  1. 安装包并使用它们:

能否创建一个使用 numpy 生成并绘制一些随机数据的 Python 脚本?

保存和重现环境

服务器提供了几种方法来保存和重现您的开发环境:

创建持久化容器

在创建容器时,您可以使其持久化:

能否创建一个已安装 numpy 和 pandas 的持久化 Python 容器?

这将创建一个容器,该容器:

  • 在 Claude Desktop 关闭后仍然运行
  • 可以直接通过 Docker 访问
  • 保留所有已安装的包和文件

服务器将提供以下操作的说明:

  • 直接访问容器 (docker exec)
  • 停止和启动容器
  • 不再需要时删除它

保存容器状态

设置好环境后,可以将其保存为 Docker 镜像:

能否将当前容器状态保存为名为 my-ds-env:v1 的镜像?

这将:

  1. 创建一个新的 Docker 镜像,包含您的:
    • 已安装的包
    • 创建的文件
    • 配置更改
  2. 提供重新使用环境的说明

然后,您可以共享此镜像或将其作为新容器的起点:

能否使用 my-ds-env:v1 镜像创建一个新容器?

生成 Dockerfile

为了使您的环境完全可重现,您可以生成一个 Dockerfile:

能否导出一个可以重现此环境的 Dockerfile?

生成的 Dockerfile 将包括:

  • 基础镜像规格
  • 创建的文件
  • 附加设置步骤的模板

您可以使用此 Dockerfile 来:

  1. 与他人共享您的环境设置
  2. 对开发环境进行版本控制
  3. 修改和自定义构建过程
  4. 部署到不同的系统

推荐的工作流程

对于可重现的开发环境:

  1. 创建一个持久化容器:

创建一个用于数据科学工作的持久化 Python 容器

  1. 安装所需的包并设置环境:

在容器中安装 numpy、pandas 和 scikit-learn

  1. 测试您的设置:

创建并运行一个测试脚本来验证环境4. 保存状态:

将此容器保存为 ds-workspace:v1

  1. 导出 Dockerfile:

为此环境生成一个 Dockerfile

这为您重新创建环境提供了多种选择:

  • 直接使用保存的 Docker 镜像
  • 通过修改后的 Dockerfile 构建
  • 如有需要,访问原始容器

安全注意事项

  • 所有代码都在隔离的 Docker 容器中执行
  • 容器在使用后会自动删除
  • 容器之间的文件系统是隔离的
  • 对主机系统的访问受到限制

项目结构

sandbox_server/
├── sandbox_server.py # 主服务器实现
├── pyproject.toml # 项目配置
└── README.md # 此文件

可用工具

服务器提供了三个主要工具:

  1. create_container_environment: 使用指定镜像创建一个新的 Docker 容器
  2. create_file_in_container: 在容器中创建文件
  3. execute_command_in_container: 在容器中运行命令
  4. save_container_state: 将容器状态保存到持久化容器
  5. export_dockerfile: 导出 Dockerfile 以创建持久化环境
  6. exit_container: 关闭容器以清理环境

相关 MCP 服务