安全的本地Python执行器
封装Hugging Face的MCP服务器(stdio传输) LocalPythonExecutor (从 smolagents 框架)。这是一个自定义的Python运行时 在本地运行LLM生成的Python代码时提供基本的隔离/安全性。它不需要Docker或VM。 此包允许通过MCP(模型上下文协议)公开Python执行器,作为Claude Desktop、Cursor或任何其他MCP兼容客户端等LLM应用程序的工具。 对于Claude Desktop,此工具是添加缺失的代码解释器的一种简单方法(作为ChatGPT中的插件已经有一段时间了)。
特性
- 暴露
run_python工具 - 与直接使用Python相比,更安全地执行Python代码
eva()l - 在Python venv中通过uv运行
- 不允许文件I/O操作
- 进口限制清单
- 收藏 - 日期时间 - itertools - 数学 - 队列 - 随机 - 关于 - 状态 - 统计 - 时间 - 独角兽数据
安全
在您的机器上执行LLM生成的代码时要小心,远离通过命令行或使用 eval()最安全的选择是使用VM或docker容器,尽管它需要一些努力来设置,消耗资源/速度较慢。有第三方服务提供Python运行时,尽管它们需要注册、API密钥等。
LocalPythonExecutor 在直接使用本地Python环境(更容易设置)和在Dokcer容器或VM/第三方服务中远程执行(更安全)之间提供了良好的平衡。Hugginng Face团队投入时间创建了一个快速安全的选项,用于运行其代码代理使用的LLM生成的代码。此MCP服务器在此基础上构建:
为了增加第一层安全性,smolagents中的代码执行不是由vanilla Python解释器执行的。我们从头开始重新构建了一个更安全的LocalPythonExecutor。
阅读更多 这里.
安装和执行
通过Smithery安装
通过以下方式自动安装Claude Desktop的安全本地Python执行器 史密瑟里:
npx -y @smithery/cli install @maxim-saplin/mcp_safe_local_python_executor --client claude手动安装
- 安装
uv(e.h。brew install uv在macOS上或使用 官方文件) - 克隆仓库,更改目录
cd mcp_safe_local_python_executor - 服务器可以通过命令行启动
uv run mcp_server.py,将自动创建venv,将安装依赖项(smollagents、mcp)
配置Claude桌面
- 确保您已安装Claude for Desktop(从下载 claude.ai)
- 编辑您的Claude for Desktop配置文件:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json - 或者打开克劳德桌面->设置->开发人员->点击“编辑配置”按钮
- 添加以下配置:
{
"mcpServers": {
"safe-local-python-executor": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp_local_python_executor/",
"run",
"mcp_server.py"
]
}
}
}- 重新启动桌面版的Claude
- Python执行器工具现在将在Claude中可用(您将在消息输入字段中看到锤子图标)
示例提示
配置后,您可以使用以下提示:
- “使用Python计算5的阶乘”
- “创建一个最多100的素数列表”
- “求解此方程(使用Python):x^2+5x+6=0”
发展
克隆仓库。使用 uv 要创建venv,安装dev依赖项,运行测试:
uv venv .venv
uv sync --group dev
python -m pytest tests/______________________________________________________________________
](https://smithery.ai/server/@maxim-saplin/mcp_safe_local_python_executor)
](https://mseep.ai/app/maxim-saplin-mcp-safe-local-python-executor)

