README
🚀 MCP Sandbox
MCP Sandbox 是一个基于 Docker 的安全沙盒环境,专为运行和管理 Python 代码设计。它利用容器化技术提供隔离的执行环境,确保各任务独立运行,同时支持 Python 包管理和文件处理,方便实用。
🚀 快速开始
你可以在 mcp sandbox 上尝试该项目。
✨ 主要特性
- Docker 隔离:每个执行的任务都在独立的 Docker 容器中运行,确保环境安全。
- 包管理:支持安装和管理常用的 Python 包(如 numpy、pandas 等)。
- 文件处理:能够生成和存储各种文件类型,并通过 HTTP 链接直接访问。
📦 安装指南
-
克隆仓库:
git clone https://github.com/yourusername/mcp-sandbox.git -
进入项目目录:
cd mcp-sandbox -
启动服务:
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 许可证。
扫码联系在线客服