
Container-MCP

2025.03.25
4
Python安全执行环境沙箱工具开发效率
Container-MCP 是一个基于容器的模型上下文协议(MCP)实现,旨在为大型语言模型提供安全的工具执行环境。它通过多层次的隔离和安全措施,确保在沙箱环境中安全地执行代码、运行命令、访问文件和进行网络操作。
View on GitHub
Overview
基本能力
产品定位
Container-MCP 是一个安全、容器化的工具执行平台,专为大型语言模型设计,提供安全的代码执行、文件操作和网络访问能力。
核心功能
- 多层次的隔离和安全措施:包括容器隔离(Podman/Docker)、AppArmor 配置文件、Firejail 沙箱、资源限制(CPU、内存、执行时间)等。
- MCP 协议实现:支持标准化的工具发现和执行、资源管理和异步执行。
- 领域特定的管理器:
BashManager
:安全的命令执行。PythonManager
:沙箱化的 Python 代码执行。FileManager
:安全的文件操作。WebManager
:安全的网页浏览和抓取。- 可配置的环境:通过环境变量进行广泛配置,支持自定义环境和开发/生产模式。
适用场景
- 安全执行代码:在隔离环境中运行 Python 或 Bash 代码。
- 文件操作:安全地读写、移动、删除文件。
- 网络操作:安全的网页搜索、抓取和浏览。
- 开发与测试:为开发者和测试人员提供安全的沙箱环境。
工具列表
- 系统操作
system_run_command
:在沙箱中执行 Bash 命令。system_run_python
:在沙箱中执行 Python 代码。system_env_var
:获取环境变量值。- 文件操作
file_read
:安全读取文件内容。file_write
:安全写入文件内容。file_list
:安全列出目录内容。file_delete
:安全删除文件。file_move
:安全移动或重命名文件。- 网络操作
web_search
:使用搜索引擎查找信息。web_scrape
:抓取特定 URL 的内容。web_browse
:使用 Playwright 交互式浏览网页。
常见问题解答
- 如何配置环境变量?:通过
volume/config/custom.env
文件设置环境变量。 - 如何运行测试?:使用
pytest
命令运行单元测试或集成测试。 - 如何启动开发服务器?:运行
python -m cmcp.main --test-mode
。
使用教程
使用依赖
- Linux 系统:需安装 Podman 或 Docker。
- Python 3.12+:确保系统已安装 Python 3.12 或更高版本。
- Firejail:安装命令:
bash apt install firejail # Debian/Ubuntu dnf install firejail # Fedora/CentOS
- AppArmor:安装命令:
bash apt install apparmor apparmor-utils # Debian/Ubuntu dnf install apparmor apparmor-utils # Fedora/CentOS
安装教程
- 克隆仓库:
bash git clone https://github.com/container-mcp/container-mcp.git cd container-mcp
- 运行一键安装脚本:
bash chmod +x bin/00-all-in-one.sh ./bin/00-all-in-one.sh
- 或分步安装:
bash ./bin/01-init.sh ./bin/02-build-container.sh ./bin/03-setup-environment.sh ./bin/04-run-container.sh ./bin/05-run-tests.sh # 可选
调试方式
- 启动容器:
bash ./bin/04-run-container.sh
- 连接 MCP 客户端:
- 使用 MCP 客户端连接到
http://127.0.0.1:8000/sse
(默认端口为 8000)。 - 执行工具:
- 使用
system_run_command
或system_run_python
测试沙箱环境。 - 使用
file_read
或file_write
测试文件操作。 - 使用
web_search
或web_scrape
测试网络操作。