mcpField
P
Python Sandbox MCP Server

Python Sandbox MCP Server

本地服务
github.com/cloudywu0410AI 与智能体366 周前更新

关于 Python Sandbox MCP Server

Python Sandbox MCP Server 让 LLM 在隔离的 Docker 容器中执行 Python,适用于需要代码运行、输出捕获或绘图的 MCP 客户端。

主要功能

  1. 01执行 Python 并捕获标准输出
  2. 02生成 Matplotlib PNG 图像
  3. 03通过 Snekbox Docker 隔离
  4. 04使用 SSE 通信

适用场景

  1. 01运行 LLM 请求的 Python 代码
  2. 02从 Python 生成绘图图像
  3. 03向客户端返回捕获的输出

MCP 相关

它向 MCP 客户端提供 Python 执行能力,并支持 SSE 通信。服务器可配置为使用 Snekbox API 端点。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MseeP.ai 安全评估徽章

Python Sandbox MCP 服务

一个安全的 Python 代码执行服务,可让大模型在隔离的 Docker 容器中安全地运行 Python 代码。该服务支持:

  • 执行常规 Python 代码并捕获 stdout
  • 使用 Matplotlib 绘图并生成 PNG 图片
  • 通过 Snekbox Docker 容器实现安全沙箱
  • 使用 Server-Sent Events (SSE) 进行实时通信

开发

开始开发,请按照以下步骤操作:

第 1 步:克隆仓库

Fork 并克隆仓库:

git clone https://github.com/username/python_sandbox_mcp_server.git

进入项目目录:

cd python_sandbox_mcp_server
第 2 步:安装依赖项

安装所需的依赖项:

uv add -r requirements.txt
第 3 步:构建 Python 沙箱

拉取 Snekbox 容器镜像:

docker pull ghcr.io/python-discord/snekbox:latest

使用安全参数启动容器:

docker run -d --ipc=none --privileged -p 8060:8060 ghcr.io/python-discord/snekbox

安装其他依赖项(可选):

  • 如果需要其他 Python 包,可以按如下方式安装:
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> 替换为所需的软件包。
第 4 步:更新 MCP 服务配置

更新 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:临时文件存储目录

许可证

MIT 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。