Code Sandbox MCP
一个 MCP 服务器,用于创建安全的代码沙箱环境,以便在 Docker 容器中执行代码。
README
Code Sandbox MCP 🐳
一个安全的沙箱环境,用于在 Docker 容器中执行代码。此 MCP 服务器为 AI 应用程序提供了一个安全且隔离的环境来运行代码,同时通过容器化保持安全性。
🌟 特性
- 灵活的容器管理: 创建和管理用于代码执行的隔离 Docker 容器
- 自定义环境支持: 使用任何 Docker 镜像作为您的执行环境
- 文件操作: 主机和容器之间轻松进行文件和目录传输
- 命令执行: 在容器化环境中运行任何 shell 命令
- 实时日志: 实时流式传输容器日志和命令输出
- 自动更新: 内置更新检查和自动二进制更新
- 多平台: 支持 Linux、macOS 和 Windows
🚀 安装
前提条件
快速安装
Linux, MacOS
curl -fsSL https://raw.githubusercontent.com/Automata-Labs-team/code-sandbox-mcp/main/install.sh | bash
Windows
# 在 PowerShell 中运行
irm https://raw.githubusercontent.com/Automata-Labs-team/code-sandbox-mcp/main/install.ps1 | iex
安装程序将:
- 检查 Docker 是否已安装
- 下载适合您系统的二进制文件
- 创建必要的配置文件
手动安装
- 从 发布页面 下载适用于您平台的最新版本
- 将二进制文件放置在 PATH 中的目录中
- 使其可执行(仅限类 Unix 系统):
chmod +x code-sandbox-mcp
🛠️ 可用工具
sandbox_initialize
初始化一个新的计算环境以执行代码。 基于指定的 Docker 镜像创建一个容器。
参数:
image(字符串,可选): 用作基础环境的 Docker 镜像- 默认值: 'python:3.12-slim-bookworm'
返回值:
container_id,可与其他工具一起使用以与此环境交互
copy_project
将目录复制到沙盒文件系统。
参数:
container_id(字符串,必需): 从初始化调用返回的容器 IDlocal_src_dir(字符串,必需): 本地文件系统中目录的路径dest_dir(字符串,可选): 将 src 目录保存在沙箱环境中的路径
write_file
将文件写入沙盒文件系统。
参数:
container_id(字符串,必需): 从初始化调用返回的容器 IDfile_name(字符串,必需): 要创建的文件名file_contents(字符串,必需): 要写入文件的内容dest_dir(字符串,可选): 在其中创建文件的目录 (默认值: ${WORKDIR})
sandbox_exec
在沙盒环境中执行命令。
参数:
container_id(字符串,必需): 从初始化调用返回的容器 IDcommands(数组,必需): 要在沙盒环境中运行的命令列表- 示例: ["apt-get update", "pip install numpy", "python script.py"]
copy_file
将单个文件复制到沙盒文件系统。
参数:
container_id(字符串,必需): 从初始化调用返回的容器 IDlocal_src_file(字符串,必需): 本地文件系统中文件的路径dest_path(字符串,可选): 将文件保存在沙箱环境中的路径
sandbox_stop
停止并删除正在运行的容器沙箱。
参数:
container_id(字符串,必需): 要停止和删除的容器 ID
描述: 使用 10 秒超时时间正常停止指定的容器,并将其及其卷一起删除。
容器日志资源
一种动态资源,提供对容器日志的访问。
资源路径: containers://{id}/logs
MIME 类型: text/plain
描述: 将指定容器中的所有容器日志作为单个文本资源返回。
🔐 安全特性
- 使用 Docker 容器的隔离执行环境
- 通过 Docker 容器约束的资源限制
- 单独的 stdout 和 stderr 流
🔧 配置
Claude Desktop
安装程序会自动创建配置文件。 如果您需要手动配置它:
Linux
// ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"code-sandbox-mcp": {
"command": "/path/to/code-sandbox-mcp",
"args": [],
"env": {}
}
}
}
macOS
// ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"code-sandbox-mcp": {
"command": "/path/to/code-sandbox-mcp",
"args": [],
"env": {}
}
}
}
Windows
// %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"code-sandbox-mcp": {
"command": "C:\\path\\to\\code-sandbox-mcp.exe",
"args": [],
"env": {}
}
}
}
其他 AI 应用程序
对于支持 MCP 服务器的其他 AI 应用程序,请将它们配置为使用 code-sandbox-mcp 二进制文件作为其代码执行后端。
🛠️ 开发
如果您想在本地构建项目或为其开发做出贡献,请参阅 DEVELOPMENT.md。
📝 许可证
该项目已获得 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。