返回 MCP 目录
public公开dns本地运行

sandbox-mcp-server

一个提供隔离Docker环境的MCP服务器,支持多种编程语言的代码执行、包安装和环境配置

article

README

🚀 砂箱 MCP 服务器

砂箱 MCP 服务器提供了一个隔离的 Docker 环境,用于代码执行。它允许用户使用任何 Docker 镜像创建容器,在多种编程语言中编写和执行代码,安装包并设置开发环境,还能在隔离的容器中运行命令。

🚀 快速开始

✨ 主要特性

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

📦 安装指南

先决条件

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

安装步骤

  1. 克隆此仓库:
git clone <your-repo-url>
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 脚本吗?

高级用法

保存和重现实验环境

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

创建持久化容器

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

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

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

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

服务器会提供以下指示:

  • 直接使用 docker exec 访问容器
  • 容器的停止和启动
  • 不再需要时删除它
保存容器状态
你能保存容器的状态到一个持久化容器中吗?
导出 Dockerfile
你能导出一个 docker 文件以创建持久化环境吗?
退出容器
你能关闭容器以便清理环境吗?

⚠️ 重要提示

  • 确保在运行外部命令时使用受信任的来源。
  • 避免在不受信任的环境中执行用户提供的代码。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端