使用说明
项目简介
Sandbox MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型 (LLM) 提供安全隔离的代码执行环境。它利用 Docker 容器技术,允许 LLM 客户端创建和管理容器,在容器中执行代码,安装软件包,并保存和导出环境配置,从而扩展 LLM 的功能边界,使其能够安全地执行代码相关的任务。
主要功能点
- 隔离的代码执行环境: 使用 Docker 容器为 LLM 提供的代码执行请求创建隔离的环境,确保安全性和稳定性。
- 多语言支持: 支持多种编程语言,取决于你选择的 Docker 镜像。你可以根据需要创建 Python、C++、Node.js 等各种语言的容器。
- 环境配置与管理: 允许在容器中安装软件包、创建文件,配置开发环境,并能保存容器状态或导出 Dockerfile 以便环境复用和分享。
- 与 MCP 客户端集成: 通过标准的 MCP 协议与 LLM 客户端(如 Claude Desktop)通信,接收指令并返回结果。
- 工具化操作: 提供一系列工具,例如创建容器、执行命令、保存状态、导出 Dockerfile 和清理容器等,方便 LLM 客户端调用。
安装步骤
- 克隆仓库: 在你的本地机器上克隆 GitHub 仓库:
git clone https://github.com/Tsuchijo/sandbox-mcp cd sandbox-mcp - 创建并激活虚拟环境: 推荐使用 'uv' 包管理器创建 Python 虚拟环境:
uv venv source .venv/bin/activate # Linux/macOS # .venv\Scripts\activate # Windows - 安装依赖: 使用 'uv' 安装项目依赖:
确保你的系统上已经安装了 Docker 并正在运行。uv pip install .
服务器配置
要将 Sandbox MCP Server 集成到 MCP 客户端(例如 Claude Desktop),你需要配置客户端以连接到该服务器。配置信息通常以 JSON 格式提供,你需要指定服务器的启动命令和参数。以下是一个示例配置,你需要根据你的实际安装路径进行调整:
{ "mcpServers": { "sandbox": { "command": "uv", "args": [ "--directory", "/absolute/path/to/sandbox-mcp", // 替换为你的 sandbox-mcp 仓库的绝对路径 "run", "sandbox_server.py" ], "env": { "PYTHONPATH": "/absolute/path/to/sandbox-mcp" // 替换为你的 sandbox-mcp 仓库的绝对路径 } } } }
请注意:
- 将 '/absolute/path/to/sandbox-mcp' 替换为你克隆 'sandbox-mcp' 仓库的实际绝对路径。
- 上述配置假设你使用 'uv' 运行服务器。如果使用 'python' 直接运行,'command' 应设置为 'python','args' 应调整为 '["/absolute/path/to/sandbox-mcp/sandbox_server.py"]'。
- 'PYTHONPATH' 环境变量确保 Python 可以找到项目代码。
基本使用方法
成功配置并连接到 Sandbox MCP Server 后,你可以通过 MCP 客户端向服务器发送指令。例如,在 Claude Desktop 中,你可以使用自然语言指令来指示服务器执行各种操作:
- 创建 Python 容器并执行代码:
Could you create a Python container and write a simple hello world program? - 创建 C++ 程序并运行:
Could you create a C program that calculates the fibonacci sequence and run it? - 安装 Python 包并使用:
Could you create a Python script that uses numpy to generate and plot some random data?
服务器会解析这些指令,调用相应的工具来创建和管理 Docker 容器,并在容器中执行代码,最后将结果返回给 MCP 客户端。 你可以参考仓库的 README.md 文件中 "Usage Examples" 部分获取更多使用示例。
信息
分类
开发者工具