一个安全的 Python 代码执行服务器,允许大语言模型(LLMs)在隔离的 Docker 容器中安全地运行 Python 代码。该服务器支持:
要开始开发,请按照以下步骤操作:
分叉并克隆仓库:
git clone https://github.com/username/python_sandbox_mcp_server.git
进入项目目录:
cd python_sandbox_mcp_server
安装所需的依赖项:
pip install -r requirements.txt
拉取 Snekbox 容器镜像:
docker pull ghcr.io/python-discord/snekbox:latest
使用安全参数启动容器:
docker run -d --ipc=none --privileged -p 8060:8060 ghcr.io/python-discord/snekbox
安装额外的依赖项(可选):
docker exec <container_id> /bin/sh -c \
'PYTHONUSERBASE=/snekbox/user_base /snekbox/python/default/bin/python -m pip install --user <package_name>'
<container_id> 替换为您正在运行的 Snekbox 容器的 ID,并将 <package_name> 替换为所需的包。更新您的 MCP 服务器配置以指向本地构建:
{
"mcpServers": {
"python-sandbox-sse": {
"command": "mcp-proxy",
"args": [
"http://localhost:8060/eval"
],
"ssePath": "/eval"
}
}
}
服务器可以通过环境变量或修改 Config 类来配置:
MCP_SERVER_NAME:服务器标识符(默认:"python-sandbox-mcp-sse")SNEKBOX_URL:Snekbox API 端点(默认:"http://localhost:8060/eval")TEMP_DIR:临时文件存储目录