【由DeepSeek辅助编写】
MCP Run Python 是由 PydanticAI 提供的 MCP 服务器,能够在安全、隔离的沙盒环境中执行 Python 代码。它基于 Pyodide 和 Deno 技术栈,通过 WebAssembly 实现代码隔离,确保主机系统不受执行代码的影响。
核心特性
- 安全执行:在沙盒化的 WebAssembly 环境中运行 Python 代码
- 依赖管理:自动检测并安装代码所需的依赖包
- 完整输出:捕获标准输出、标准错误及返回值
- 异步支持:原生支持异步代码执行
- 错误处理:提供详细的错误报告,便于调试
快速开始
推荐使用 Deno 运行(替代原 npm/npx 方案):
deno run -N -R=node_modules -W=node_modules --node-modules-dir=auto jsr:@pydantic/mcp-run-python stdio
支持三种运行模式:
stdio
:通过标准输入输出通信(适合本地子进程)sse
:基于 HTTP 的服务器推送模式(支持远程连接)warmup
:预加载 Python 标准库
使用示例
通过 Python MCP 客户端调用:
from mcp import ClientSession
from mcp.client.stdio import stdio_client
code = """
import numpy as np
arr = np.array([1, 2, 3])
print(arr)
arr
"""
async with ClientSession(...) as session:
result = await session.call_tool('run_python_code', {'python_code': code})
print(result.content[0].text) # 输出执行结果
依赖管理
支持两种依赖声明方式:
- 自动推断:通过分析代码中的
import
语句 - 元数据注释:遵循 PEP 723 规范
# /// script
# dependencies = ["pydantic", "email-validator"]
# ///
适用场景
- 需要安全执行用户提交代码的 SaaS 平台
- 教育类应用的代码评测系统
- 自动化工作流中的动态脚本执行