关于 SandboxAPI
SandboxAPI MCP Server 让 MCP 兼容的 AI 客户端在 gVisor 沙箱 Docker 容器中运行八种语言的代码。它支持单次和批量执行,并禁用网络访问、限制资源用量。
主要功能
- 01执行八种语言的代码
- 02在隔离沙箱中运行多个代码片段
- 03设置超时和标准输入
- 04查看语言版本与示例
- 05网络隔离且执行环境临时化
适用场景
- 01不在本机执行生成的代码
- 02测试不同语言的代码片段
- 03批量比较多个代码片段
- 04用标准输入测试程序行为
MCP 相关
向 MCP 客户端提供 execute_code、execute_batch 和 list_languages 工具。可通过托管远程端点访问,也可用 Docker 或从源码运行。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.sandboxapi.dev/mcpclaude mcp add --transport http michielderuiter-sandboxapi https://mcp.sandboxapi.dev/mcp{"mcpServers":{"michielderuiter-sandboxapi":{"type":"http","url":"https://mcp.sandboxapi.dev/mcp"}}}在 Cursor 中打开{"servers":{"michielderuiter-sandboxapi":{"type":"http","url":"https://mcp.sandboxapi.dev/mcp"}}}在 VS Code 中打开{"mcpServers":{"michielderuiter-sandboxapi":{"type":"http","url":"https://mcp.sandboxapi.dev/mcp"}}}{"mcpServers":{"michielderuiter-sandboxapi":{"serverUrl":"https://mcp.sandboxapi.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
SandboxAPI MCP 服务
让你的 AI Agent 能够安全地执行 8 种编程语言的代码。
SandboxAPI MCP 服务将任何兼容 MCP 的 AI 客户端(Claude、Cursor、VS Code、Windsurf 等)连接到安全的代码执行环境。每次执行都在经过 gVisor 沙盒隔离的 Docker 容器中运行,无法访问网络,具有严格的资源限制,并使用临时文件系统。
快速开始
选项 1:远程服务(无需配置)
直接连接到托管的端点。无需本地安装。
Claude Desktop(claude_desktop_config.json):
{
"mcpServers": {
"sandboxapi": {
"url": "https://mcp.sandboxapi.dev/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
VS Code(.vscode/mcp.json):
{
"servers": {
"sandboxapi": {
"url": "https://mcp.sandboxapi.dev/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Cursor(~/.cursor/mcp.json):
{
"mcpServers": {
"sandboxapi": {
"url": "https://mcp.sandboxapi.dev/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
选项 2:Docker
docker run -d \
-p 8081:8081 \
-e SANDBOXAPI_API_KEY=your_sandboxapi_key \
-e MCP_API_KEY=your_mcp_auth_key \
sandboxapi/mcp:latest
然后将客户端指向 http://localhost:8081/mcp。
选项 3:从源代码构建
git clone https://github.com/sandboxapi/sandboxapi-mcp.git
cd sandboxapi-mcp
go build -o sandboxapi-mcp .
export SANDBOXAPI_API_KEY=your_key
export MCP_API_KEY=optional_auth_key
./sandboxapi-mcp
可用工具
execute_code
在沙盒容器中执行代码。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
language | string | 是 | python3、javascript、typescript、bash、java、cpp、c、go |
code | string | 是 | 要执行的源代码(最大 1MB) |
timeout | number | 否 | 超时时间,单位为秒(默认:10,最大:300) |
stdin | string | 否 | 传递给程序的标准输入 |
execute_batch
执行多个代码片段。每个片段都在独立的沙盒中运行。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
executions | array | 是 | {language, code, timeout?, stdin?} 对象数组 |
list_languages
列出所有支持的编程语言及其版本和示例代码。无需参数。
支持的语言
| 语言 | 版本 | 别名 |
|---|---|---|
| Python | 3.12 | python3、python、py |
| JavaScript | Node 22 | javascript、js、node |
| TypeScript | 5.4 | typescript、ts |
| Go | 1.22 | go、golang |
| Java | 21 | java、jdk |
| C++ | GCC 14 | cpp、c++ |
| C | GCC 14 | c、gcc |
| Bash | 5.2 | bash、sh、shell |
环境变量
| 变量 | 必填 | 说明 |
|---|---|---|
SANDBOXAPI_API_KEY | 是 | SandboxAPI 后端的 API 密钥 |
MCP_API_KEY | 否 | MCP 端点的身份验证密钥(省略则开放访问) |
MCP_PORT | 否 | 监听端口(默认:8081) |
SANDBOXAPI_URL | 否 | API 基础 URL(默认:https://api.sandboxapi.dev) |
安全性
每次代码执行都通过纵深防御机制进行隔离:
- gVisor (runsc) — 用户空间内核拦截所有系统调用
- 网络隔离 — 执行的代码无法建立出站连接
- 资源限制 — 对 CPU、内存和磁盘使用量设定上限
- 临时容器 — 执行完成后立即销毁
- 只读文件系统 — 不同执行之间不会保留写入内容
- 代码大小限制 — 源代码大小上限为 1MB
- 超时强制执行 — 达到配置的超时时间后强制终止
API 密钥
在 sandboxapi.dev 或通过 RapidAPI 获取 API 密钥。
链接
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。