关于 sandboxrun
sandboxrun 是用于在短期 E2B 沙箱中运行代码的命令行工具及 MCP 服务,代码不会在本机执行。它面向需要执行代码片段并获取打印输出、结构化结果、日志和错误的 Agent。
主要功能
- 01在全新 E2B 沙箱中运行代码
- 02接受内联代码或文件内容
- 03返回打印输出和结果
- 04包含日志与执行错误
- 05命令行与 stdio MCP 模式
适用场景
- 01执行 Agent 编写的代码片段
- 02在沙箱中运行本地脚本内容
- 03检查执行结果和错误
MCP 相关
它以 stdio MCP 服务运行,仅提供一个 `run_code` 工具,在全新的 E2B 沙箱中执行 Jupyter notebook 语法并返回执行详情。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | string | 是 | 要在安全的 E2B 沙箱中运行的 Python 代码,使用 Jupyter Notebook 语法。 |
详细介绍
sandboxrun
sandboxrun 为 Agent 提供一个安全的环境,用于运行刚编写的代码。 提供一段代码片段,它就会返回该片段打印的内容、 生成的值以及遇到的错误——所有执行都在 短时运行的 E2B 沙箱中进行,绝不会在你自己的机器上运行。它可以通过 命令行运行,也可以作为面向 Agent 的 MCP 服务运行。
需要 E2B API 密钥。将密钥放入 E2B_API_KEY 环境
变量中;密钥会作为 X-API-Key 标头发送到 API,
不会出现在输出中。如果缺少该变量,每次运行
都会失败,并显示指出该变量的错误。
安装
npx @reneturcios/sandboxrun run "print(6 * 7)"
或者运行容器映像:
docker run -i -e E2B_API_KEY ghcr.io/cloudcorprecords/sandboxrun
容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。
CLI
export E2B_API_KEY="your E2B API key"
# Run a snippet inline
sandboxrun run "print('hello from the sandbox')"
# Run a file's contents
sandboxrun run --file analysis.py
# Machine-readable output
sandboxrun run "import math; print(math.pi)" --json
sandboxrun --version
退出代码:成功时为 0,运行失败时为 1(包括缺少
E2B_API_KEY、API 错误或代码本身引发的错误),用法错误时为 2。
MCP 服务
一个可执行文件同时支持这两种用法。mcp 子命令会启动一个 stdio MCP
服务:
npx -y @reneturcios/sandboxrun mcp
MCP 客户端配置:
{
"mcpServers": {
"sandboxrun": {
"command": "npx",
"args": ["-y", "@reneturcios/sandboxrun", "mcp"],
"env": { "E2B_API_KEY": "your E2B API key" }
}
}
}
工具
| 工具 | 输入 | 返回内容 |
|---|---|---|
run_code | code(字符串,必填) | 以文本块形式返回执行结果:沙箱 ID、打印的输出、结构化结果、日志行以及代码引发的任何错误。代码使用 Jupyter notebook 语法。 |
文档中介绍的 E2B MCP 服务只提供这一个工具,而 sandboxrun 也恰好只提供这一个工具,不含其他功能。
在底层,每次调用都会从
code-interpreter 模板创建一个全新的沙箱(POST https://api.e2b.app/sandboxes),
然后在其中执行代码。上游 SDK 通过 websocket 通道与
沙箱的 Jupyter 内核通信;此重建版本将执行封装为同一接口背后的 REST 请求,
并在构建报告中记录了这项传输方式的简化。
开发
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。