使用说明
项目简介
E2B MCP Server 是一个 MCP 协议的服务器端实现,它集成了 E2B (Execution Environments and Backends) 的代码沙箱技术,为大型语言模型(LLM)客户端提供安全的代码执行环境。通过此服务器,LLM 应用可以调用预定义的工具,例如运行 Python 代码,从而扩展其能力边界,实现更复杂的功能。
主要功能点
- 代码执行工具: 提供 'run_code' 工具,允许 LLM 客户端提交 Python 代码在隔离的沙箱环境中执行。
- 安全沙箱环境: 使用 E2B Sandbox 技术,确保代码执行的安全性,防止恶意代码影响系统。
- 标准 MCP 协议: 遵循 Model Context Protocol 标准,易于与任何兼容 MCP 协议的 LLM 客户端集成。
- 多语言支持: 提供 JavaScript 和 Python 两个版本的服务器端实现。
- Stdio 传输协议: 默认使用标准输入输出 (Stdio) 作为 MCP 通信协议,方便部署和集成。
安装步骤
方法一:通过 Smithery CLI (推荐)
如果你的 LLM 客户端支持 Smithery,可以使用以下命令快速安装 E2B MCP Server:
npx @smithery/cli install e2b --client <你的客户端名称,例如 claude>
请将 '<你的客户端名称>' 替换为你的 LLM 客户端名称。Smithery 会自动完成安装和配置。
方法二:手动安装 (以 Python 版本为例)
-
前提条件:
- Python 3.8 或更高版本
- pip 包管理器
- 已安装 Node.js 和 npm (如果需要使用 JavaScript 版本)
-
克隆仓库:
git clone https://github.com/MCP-Mirror/e2b-dev_mcp-server.git cd e2b-dev_mcp-server -
进入 Python 版本目录:
cd packages/python -
创建并激活虚拟环境 (可选但推荐):
python3 -m venv venv source venv/bin/activate # 或 venv\Scripts\activate for Windows -
安装 Python 依赖:
pip install -r requirements.txt -
配置 E2B API 密钥: 设置环境变量 'E2B_API_KEY' 为你的 E2B API 密钥。你可以将 'E2B_API_KEY=your_api_key' 添加到 '.env' 文件中,或者直接在终端中设置。
# 示例 (Linux/macOS) export E2B_API_KEY=your_e2b_api_key # 示例 (Windows) set E2B_API_KEY=your_e2b_api_key注意: 你需要在 E2B 官网 获取 API 密钥。
-
运行服务器:
python -m e2b_mcp_server.server或者,如果你安装了 'e2b-mcp-server' 包,可以直接运行:
e2b-mcp-server-pythonJavaScript 版本安装类似,请参考 'packages/js/README.md'。
服务器配置 (MCP 客户端配置)
以下是 MCP 客户端连接 E2B MCP Server 所需的配置信息示例 (JSON 格式):
{ "serverName": "e2b-code-mcp-server", "command": "e2b-mcp-server-python", // 启动服务器的命令 (Python 版本) "args": [], // 启动参数,通常为空 "transport": "stdio" // 使用 Stdio 传输协议 }
参数说明:
- 'serverName': 服务器名称,用于标识和管理服务器连接,可以自定义,例如 "e2b-code-server"。
- 'command': 重要参数。指定启动 E2B MCP Server 的命令。
- 对于 Python 版本,如果通过 'python -m e2b_mcp_server.server' 运行,则 'command' 可以设置为 'python -m e2b_mcp_server.server'。
- 如果安装了 'e2b-mcp-server-python' 可执行文件,则 'command' 可以设置为 'e2b-mcp-server-python'。
- 对于 JavaScript 版本,如果全局安装了 '@e2b-dev/mcp-server-js',则 'command' 可以设置为 'e2b-mcp-server-js'。否则需要指定 'node' 和入口文件路径。
- 'args': 启动命令的参数,对于 E2B MCP Server 默认配置,通常不需要额外的参数,保持为空数组 '[]' 即可。
- 'transport': 传输协议,E2B MCP Server 默认使用 'stdio'。
请根据你选择的服务器版本 (Python 或 JavaScript) 以及具体的安装和部署方式,调整 'command' 字段的值。
基本使用方法
-
启动 E2B MCP Server: 按照上述安装步骤启动服务器。服务器将在后台运行,监听 Stdio 输入输出。
-
配置 LLM 客户端: 在你的 LLM 客户端中配置 MCP 服务器连接,使用上面提供的服务器配置 JSON。确保客户端能够正确连接到服务器。
-
调用 'run_code' 工具: 在 LLM 应用中,当需要执行代码时,调用名为 'run_code' 的工具。你需要提供符合 'ToolSchema' 定义的输入参数,即包含 'code' 字段的 JSON 对象,例如:
{ "code": "print('Hello from E2B Sandbox!')" } -
接收执行结果: 服务器执行代码后,会将结果通过 MCP 协议返回给 LLM 客户端。结果通常包含代码执行的 'stdout' (标准输出) 和 'stderr' (标准错误输出)。客户端可以解析这些结果并进行后续处理。
注意: 详细的工具调用和结果处理方式取决于你的 LLM 客户端实现。请参考你的 LLM 客户端文档,了解如何与 MCP 服务器交互。
信息
分类
开发者工具