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
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。