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
Magic Component Platform (MCP)

Magic Component Platform (MCP)

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

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

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

官方
精选
本地
TypeScript
VeyraX

VeyraX

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

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

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

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

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

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

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

官方
精选