使用说明

项目简介

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 版本为例)

  1. 前提条件:

    • Python 3.8 或更高版本
    • pip 包管理器
    • 已安装 Node.js 和 npm (如果需要使用 JavaScript 版本)
  2. 克隆仓库:

    git clone https://github.com/MCP-Mirror/e2b-dev_mcp-server.git
    cd e2b-dev_mcp-server
  3. 进入 Python 版本目录:

    cd packages/python
  4. 创建并激活虚拟环境 (可选但推荐):

    python3 -m venv venv
    source venv/bin/activate  # 或 venv\Scripts\activate for Windows
  5. 安装 Python 依赖:

    pip install -r requirements.txt
  6. 配置 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 密钥。

  7. 运行服务器:

    python -m e2b_mcp_server.server

    或者,如果你安装了 'e2b-mcp-server' 包,可以直接运行:

    e2b-mcp-server-python

    JavaScript 版本安装类似,请参考 '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' 字段的值。

基本使用方法

  1. 启动 E2B MCP Server: 按照上述安装步骤启动服务器。服务器将在后台运行,监听 Stdio 输入输出。

  2. 配置 LLM 客户端: 在你的 LLM 客户端中配置 MCP 服务器连接,使用上面提供的服务器配置 JSON。确保客户端能够正确连接到服务器。

  3. 调用 'run_code' 工具: 在 LLM 应用中,当需要执行代码时,调用名为 'run_code' 的工具。你需要提供符合 'ToolSchema' 定义的输入参数,即包含 'code' 字段的 JSON 对象,例如:

    {
      "code": "print('Hello from E2B Sandbox!')"
    }
  4. 接收执行结果: 服务器执行代码后,会将结果通过 MCP 协议返回给 LLM 客户端。结果通常包含代码执行的 'stdout' (标准输出) 和 'stderr' (标准错误输出)。客户端可以解析这些结果并进行后续处理。

注意: 详细的工具调用和结果处理方式取决于你的 LLM 客户端实现。请参考你的 LLM 客户端文档,了解如何与 MCP 服务器交互。

信息

分类

开发者工具