Docker Sandbox

Docker Sandbox

🚀 砂箱 MCP 服务器

砂箱 MCP 服务器提供隔离的 Docker 环境,用于执行代码。其具备以下能力:

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

🚀 快速开始

✨ 主要特性

  • 提供隔离的 Docker 环境执行代码。
  • 支持多种 Docker 镜像创建容器。
  • 支持多语言代码编写与执行。
  • 可安装包并设置开发环境。
  • 提供多种保存和重现实验环境的方法。

📦 安装指南

先决条件

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

安装步骤

  1. 克隆此仓库:
git clone 
cd sandbox_server
  1. 创建并激活带有 uv 的虚拟环境:
uv venv
source .venv/bin/activate  # 在 Unix/MacOS 上
# 或在 Windows 上:
#.venv\Scripts\activate
  1. 安装依赖项:
uv pip install .

📚 详细文档

集成到 Claude Desktop

  1. 打开 Claude Desktop 的配置文件:

    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%\Claude\claude_desktop_config.json%
  2. 添加砂箱服务器的配置:

{
"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 容器并编写一个简单的 "你好,世界" 程序吗?
  1. 在不同语言中运行代码:
你能创建一个计算斐波那契数列的 C 程序并在其中运行它吗?
  1. 安装包并使用它们:
你能创建一个使用 numpy 生成和绘制一些随机数据的 Python 脚本吗?

保存和重现实验环境

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

创建持久容器

在创建容器时,可以将其设为持久化:

你能创建一个持久的 Python 容器,安装 numpy 和 pandas 吗?

这将创建一个容器,它具备以下特点:

  • 在 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. create_container_environment:创建指定镜像的新 Docker 容器。
  2. create_file_in_container:在容器中创建文件。
  3. execute_command_in_container:在容器中运行命令。
  4. save_container_state:将容器状态保存到持久化容器。
  5. export_dockerfile:导出一个 Docker 文件以创建持久化环境。
  6. exit_container:关闭容器以清理环境。
  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-10-01 20:48

相似服务问题

相关AI产品