mcpField
S
SandboxAPI

SandboxAPI

远程服务
github.com/sandboxapi开发工具230 周前更新
代码仓库

关于 SandboxAPI

SandboxAPI MCP Server 让 MCP 兼容的 AI 客户端在 gVisor 沙箱 Docker 容器中运行八种语言的代码。它支持单次和批量执行,并禁用网络访问、限制资源用量。

主要功能

  1. 01执行八种语言的代码
  2. 02在隔离沙箱中运行多个代码片段
  3. 03设置超时和标准输入
  4. 04查看语言版本与示例
  5. 05网络隔离且执行环境临时化

适用场景

  1. 01不在本机执行生成的代码
  2. 02测试不同语言的代码片段
  3. 03批量比较多个代码片段
  4. 04用标准输入测试程序行为

MCP 相关

向 MCP 客户端提供 execute_code、execute_batch 和 list_languages 工具。可通过托管远程端点访问,也可用 Docker 或从源码运行。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.sandboxapi.dev/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

SandboxAPI MCP 服务

MCP Languages License

让你的 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

在沙盒容器中执行代码。

参数类型必填说明
languagestring是python3、javascript、typescript、bash、java、cpp、c、go
codestring是要执行的源代码(最大 1MB)
timeoutnumber否超时时间,单位为秒(默认:10,最大:300)
stdinstring否传递给程序的标准输入
execute_batch

执行多个代码片段。每个片段都在独立的沙盒中运行。

参数类型必填说明
executionsarray是{language, code, timeout?, stdin?} 对象数组
list_languages

列出所有支持的编程语言及其版本和示例代码。无需参数。

支持的语言

语言版本别名
Python3.12python3、python、py
JavaScriptNode 22javascript、js、node
TypeScript5.4typescript、ts
Go1.22go、golang
Java21java、jdk
C++GCC 14cpp、c++
CGCC 14c、gcc
Bash5.2bash、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

评论

支持 Markdown

第一次接触 MCP?

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

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