MCP Sandbox 是一个基于 Docker 的安全沙盒环境,专为运行和管理 Python 代码设计。它利用容器化技术提供隔离的执行环境,确保各任务独立运行,同时支持 Python 包管理和文件处理,方便实用。
你可以在 mcp sandbox 上尝试该项目。
克隆仓库:
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 代码,返回输出、错误和生成文件的链接。 |
{
"mcpServers": {
"mcpSandbox": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:8000/sse"]
}
}
}
{
"mcpServers": {
"mcpSandbox": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://115.190.87.78/sse?api_key=" ]
}
}
}
根据您的环境,可能需要调整 serverUrl
。
本项目采用 Apache 2.0 许可证。