mcpField
S
sandboxrun

sandboxrun

本地服务
github.com/CloudCorpRecords开发工具02 周前更新

关于 sandboxrun

sandboxrun 是用于在短期 E2B 沙箱中运行代码的命令行工具及 MCP 服务,代码不会在本机执行。它面向需要执行代码片段并获取打印输出、结构化结果、日志和错误的 Agent。

主要功能

  1. 01在全新 E2B 沙箱中运行代码
  2. 02接受内联代码或文件内容
  3. 03返回打印输出和结果
  4. 04包含日志与执行错误
  5. 05命令行与 stdio MCP 模式

适用场景

  1. 01执行 Agent 编写的代码片段
  2. 02在沙箱中运行本地脚本内容
  3. 03检查执行结果和错误

MCP 相关

它以 stdio MCP 服务运行,仅提供一个 `run_code` 工具,在全新的 E2B 沙箱中执行 Jupyter notebook 语法并返回执行详情。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-sandboxrun": {
"command": "npx",
"args": [
"-y",
"@reneturcios/sandboxrun"
]
}
}
}
启动命令npx -y @reneturcios/sandboxrun

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/sandboxrun0.1.0
ocighcr.io/cloudcorprecords/sandboxrun:0.1.0

工具

1

收录的工具列表 · 更新于 2 周前

参数类型必填说明
codestring是要在安全的 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_codecode(字符串,必填)以文本块形式返回执行结果:沙箱 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。