Code Sandbox MCP

Code Sandbox MCP

一个 MCP 服务器,用于创建安全的代码沙箱环境,以便在 Docker 容器中执行代码。

Category
访问服务器

README

Code Sandbox MCP 🐳

smithery badge

一个安全的沙箱环境,用于在 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

安装程序将:

  1. 检查 Docker 是否已安装
  2. 下载适合您系统的二进制文件
  3. 创建必要的配置文件

手动安装

  1. 发布页面 下载适用于您平台的最新版本
  2. 将二进制文件放置在 PATH 中的目录中
  3. 使其可执行(仅限类 Unix 系统):
    chmod +x code-sandbox-mcp
    

🛠️ 可用工具

sandbox_initialize

初始化一个新的计算环境以执行代码。 基于指定的 Docker 镜像创建一个容器。

参数:

  • image (字符串,可选): 用作基础环境的 Docker 镜像
    • 默认值: 'python:3.12-slim-bookworm'

返回值:

  • container_id,可与其他工具一起使用以与此环境交互

copy_project

将目录复制到沙盒文件系统。

参数:

  • container_id (字符串,必需): 从初始化调用返回的容器 ID
  • local_src_dir (字符串,必需): 本地文件系统中目录的路径
  • dest_dir (字符串,可选): 将 src 目录保存在沙箱环境中的路径

write_file

将文件写入沙盒文件系统。

参数:

  • container_id (字符串,必需): 从初始化调用返回的容器 ID
  • file_name (字符串,必需): 要创建的文件名
  • file_contents (字符串,必需): 要写入文件的内容
  • dest_dir (字符串,可选): 在其中创建文件的目录 (默认值: ${WORKDIR})

sandbox_exec

在沙盒环境中执行命令。

参数:

  • container_id (字符串,必需): 从初始化调用返回的容器 ID
  • commands (数组,必需): 要在沙盒环境中运行的命令列表
    • 示例: ["apt-get update", "pip install numpy", "python script.py"]

copy_file

将单个文件复制到沙盒文件系统。

参数:

  • container_id (字符串,必需): 从初始化调用返回的容器 ID
  • local_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

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选