MCP Docker沙箱解释器是一个基于Docker的安全代码执行环境,专为模型上下文协议(MCP)打造。它能让AI助手在不直接访问主机系统的情况下运行代码,所有代码都在隔离的Docker容器中执行,保障了代码执行的安全性。
该项目提供了一个安全的沙箱,用于通过Model Context Protocol (MCP) 执行代码。它允许AI助手在无需直接访问主机系统的情况下运行代码,所有代码均在隔离的Docker容器中执行。其运行流程如下:
graph LR
A[Claude/Cursor] -->|发送代码| B[MCP服务器]
B -->|执行代码| C[Docker沙箱]
C -->|返回结果| A
pip install mcp
)pip install docker
)克隆此仓库:
git clone https://github.com/yourusername/mcp-docker-interpreter.git
cd mcp-docker-interpreter
创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate # 在Windows上:.venv\Scripts\activate
安装依赖项:
pip install -r requirements.txt
运行以下命令启动服务器:
# 对于Colima用户:
export DOCKER_HOST="unix:///Users/username/.colima/default/docker.sock"
# 运行服务器
uv run mcp dev main.py
你可以将此MCP服务器连接到支持Model Context Protocol的AI助手:
在Cursor中,将以下内容添加到你的MCP设置中:
{
"mcpServers": {
"docker-sandbox": {
"command": "python",
"args": ["/绝对路径/到/your/main.py"],
"env": {
"DOCKER_HOST": "unix:///path/to/your/docker.sock"
}
}
}
}
将路径替换为你的实际文件路径。
与Cursor类似,将配置添加到Claude Desktop的MCP设置中。
此MCP服务器暴露了三个主要工具:
initialize_sandbox:创建一个新的Docker容器用于代码执行
参数:
- image: 要使用的Docker镜像(默认:"alpine:latest")
execute_code:在已初始化的沙箱中运行代码
参数:
- code: 要执行的代码字符串
- language: 代码的语言(默认:"python")
clean_container:清理不再需要的容器
无参数
初始化阶段:
执行阶段:
清理阶段: