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

Python Sandbox

Python MCP沙盒是一个交互式代码执行工具,可在隔离的Docker容器中安全运行Python代码和管理包

article

README

🚀 MCP Sandbox

MCP Sandbox 是一个基于 Docker 的安全沙盒环境,专为运行和管理 Python 代码设计。它利用容器化技术提供隔离的执行环境,确保各任务独立运行,同时支持 Python 包管理和文件处理,方便实用。

🚀 快速开始

你可以在 mcp sandbox 上尝试该项目。

Python 版本 许可证 MCP

✨ 主要特性

  • Docker 隔离:每个执行的任务都在独立的 Docker 容器中运行,确保环境安全。
  • 包管理:支持安装和管理常用的 Python 包(如 numpy、pandas 等)。
  • 文件处理:能够生成和存储各种文件类型,并通过 HTTP 链接直接访问。

📦 安装指南

  1. 克隆仓库:

    git clone https://github.com/yourusername/mcp-sandbox.git
    
  2. 进入项目目录:

    cd mcp-sandbox
    
  3. 启动服务:

    npm run dev
    

💻 使用示例

基础用法

以下是一个示例工作流程:

# 1. 使用 list_sandboxes() 检查可用的沙盒环境。如果没有可用沙盒,使用 create_sandbox() 创建一个新的,获取 sandbox_id。
sandbox_id = None
sandboxes = list_sandboxes()
if not sandboxes:
    sandbox_id = create_sandbox()
else:
    sandbox_id = sandboxes[0]

# 2. 使用 install_package(sandbox_id, package_name) 安装所需的包(如 numpy、pandas 等)。
package_name = "numpy"
install_package(sandbox_id, package_name)

# 3. 使用 check_install_status(sandbox_id, package_name) 验证包的安装状态。如果正在安装中,请稍后再次检查。
status = check_install_status(sandbox_id, package_name)
while status == "installing":
    import time
    time.sleep(1)
    status = check_install_status(sandbox_id, package_name)

# 4. 使用 execute_code(sandbox_id, code) 执行代码,返回输出、错误和生成文件的链接。
code = "import numpy; print(numpy.__version__)"
output, error, file_links = execute_code(sandbox_id, code)

📚 详细文档

可用工具

以下是可用的主要工具及其功能描述: | 工具 | 功能 | | ---- | ---- | | list_sandboxes() | 列出所有现有的沙盒环境。 | | create_sandbox() | 创建一个新的沙盒环境,返回新的 sandbox_id。 | | delete_sandbox(sandbox_id) | 删除指定的沙盒环境。 | | install_package(sandbox_id, package_name) | 在指定的沙盒中安装指定的 Python 包。 | | check_install_status(sandbox_id, package_name) | 检查指定包的安装状态。 | | execute_code(sandbox_id, code) | 在指定的沙盒中执行提供的 Python 代码,返回输出、错误和生成文件的链接。 |

MCP 示例配置

适用于 Claude 的示例配置

{
  "mcpServers": {
    "mcpSandbox": {
      "command": "npx",
      "args": ["-y", "supergateway", "--sse",  "http://localhost:8000/sse"]
    }
  }
}

在线演示的 MCP 示例配置

{
  "mcpServers": {
    "mcpSandbox": {
      "command": "npx",
      "args": ["-y", "supergateway", "--sse",  "http://115.190.87.78/sse?api_key=<API_KEY>"]
    }
  }
}

根据您的环境,可能需要调整 serverUrl

📄 许可证

本项目采用 Apache 2.0 许可证

help

运行方式说明

cloud

托管运行

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

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

本地运行 / 其它方式

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

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