首页
学习
活动
专区
圈层
工具
发布
MCP广场 >详情页
MCP安全本地Python执行器2026-10-231.3K分享添加福利群:解决AI开发者的「MCP实战痛点」
标准I/O MCP服务器包装了来自Hugging Face的`smolagents`框架的自定义Python运行时(LocalPythonExecutor)。该运行时结合了易于设置的优点(与docker、虚拟机、云运行时相比),同时提供了保护措施,并限制了运行时内允许的操作和导入。
By maxim-saplin
2026-10-231.3K
github
详情内容

安全的本地 Python 执行器

这是一个基于 Hugging Face 的 LocalPythonExecutor(来自 smolagents 框架)的 MCP 服务器(stdio 传输)。它是一个自定义的 Python 运行时,能够在本地运行由 LLM 生成的 Python 代码时提供基本的隔离/安全性。它不需要 Docker 或虚拟机。该软件包允许通过 MCP(模型上下文协议)将 Python 执行器作为工具暴露给 LLM 应用程序,如 Claude Desktop、Cursor 或任何其他兼容 MCP 的客户端。对于 Claude Desktop 来说,这个工具是添加缺失的代码解释器(已经在 ChatGPT 中作为插件提供了一段时间)的简便方法。

image

功能

  • 暴露 run_python 工具
  • 相比直接使用 Python 的 eval(),执行 Python 代码更安全
  • 通过 uv 在 Python 虚拟环境中运行
  • 不允许文件 I/O 操作
  • 限制导入的模块列表
    • collections
    • datetime
    • itertools
    • math
    • queue
    • random
    • re
    • stat
    • statistics
    • time
    • unicodedata

安全性

在您的机器上执行由 LLM 生成的代码时要小心,避免使用通过命令行或 eval() 运行 Python 的 MCP 服务器。最安全的选择是使用虚拟机或 Docker 容器,尽管这需要一些设置工作,并且会消耗资源/速度较慢。还有一些第三方服务提供 Python 运行时,但它们需要注册、API 密钥等。

LocalPythonExecutor 在直接使用本地 Python 环境(更容易设置)和在 Docker 容器或虚拟机/第三方服务中远程执行(更安全)之间提供了一个良好的平衡。Hugging Face 团队投入了时间创建了一个快速且安全的选项,用于运行其代码代理使用的 LLM 生成的代码。这个 MCP 服务器基于此构建:

为了增加第一层安全性,smolagents 中的代码执行不是由普通的 Python 解释器执行的。我们从零开始重新构建了一个更安全的 LocalPythonExecutor。

阅读更多这里。

安装与执行

通过 Smithery 安装

要通过 Smithery自动为 Claude Desktop 安装安全的本地 Python 执行器:

npx -y @smithery/cli install @maxim-saplin/mcp_safe_local_python_executor --client claude

手动安装

  1. 安装 uv(例如在 macOS 上使用 brew install uv 或参考官方文档)
  2. 克隆仓库,进入目录 cd mcp_safe_local_python_executor
  3. 可以通过命令行启动服务器 uv run mcp_server.py,虚拟环境将自动创建,依赖项(smollagents, mcp)将自动安装

配置 Claude Desktop

  1. 确保已安装 Claude for Desktop(从 claude.ai 下载)

  2. 编辑您的 Claude for Desktop 配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • 或者打开 Claude Desktop -> 设置 -> 开发者 -> 点击“编辑配置”按钮
  3. 添加以下配置:

{
    "mcpServers": {
        "safe-local-python-executor": {
            "command": "uv",
            "args": [
                "--directory", 
                "/path/to/mcp_local_python_executor/",
                "run",
                "mcp_server.py"
            ]
        }
    }
}
  1. 重启 Claude for Desktop
  2. Python 执行器工具现在将在 Claude 中可用(您会在消息输入字段中看到锤子图标)

示例提示

配置完成后,您可以使用以下提示:

  • "使用 Python 计算 5 的阶乘"
  • "生成一个包含 100 以内的质数的列表"
  • "解这个方程(使用 Python):x^2 + 5x + 6 = 0"

开发

克隆仓库。使用 uv 创建虚拟环境,安装开发依赖项,运行测试:

uv venv .venv
uv sync --group dev
python -m pytest tests/

smithery badge

MseeP.ai Security Assessment Badge

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档