mcp_safe_local_python_executor

mcp_safe_local_python_executor:安全本地Python执行器,为AI模型集成提供安全、便捷的代码执行环境。

mcp_safe_local_python_executor
mcp_safe_local_python_executor能力展示

mcp_safe_local_python_executor 解决方案概述

mcp_safe_local_python_executor 是一款MCP服务器,它通过标准输入/输出(stdio)传输,为AI模型提供安全可靠的Python代码执行环境。它封装了Hugging Face的LocalPythonExecutor,无需Docker或虚拟机即可在本地安全地运行LLM生成的Python代码。

该解决方案的核心价值在于,它允许开发者通过MCP协议将Python执行器作为工具集成到LLM应用中,例如Claude Desktop和Cursor。它暴露了run_python工具,相比直接使用Python eval()函数,提供了更安全的执行环境,并通过uv在Python虚拟环境中运行,限制了文件I/O操作和导入列表,从而增强了安全性。

通过简单的配置,开发者可以轻松地将此工具集成到Claude Desktop等应用中,为LLM提供代码解释能力。mcp_safe_local_python_executor基于Hugging Face的smolagents框架构建,为LLM生成代码的快速安全执行提供了一种便捷的解决方案。

mcp_safe_local_python_executor 核心能力

安全的Python代码执行

mcp_safe_local_python_executor 的核心功能是提供一个安全的Python代码执行环境,用于运行由LLM生成的代码。它通过封装Hugging Face的 LocalPythonExecutor 实现,该执行器在受限的环境中运行Python代码,避免了直接使用Python eval() 函数可能带来的安全风险。与标准Python解释器不同,LocalPythonExecutor 限制了文件I/O操作和允许导入的模块列表,从而降低了恶意代码执行的可能性。例如,LLM可以生成代码来计算复杂的数学公式或处理文本数据,而无需担心代码会访问敏感文件或执行未授权的网络操作。这种安全执行环境对于在生产环境中部署LLM应用至关重要,因为它可以在保证功能的同时,最大限度地减少潜在的安全漏洞。

受限的模块导入

为了进一步增强安全性,mcp_safe_local_python_executor 限制了可以导入的Python模块列表。默认情况下,只允许导入 collections, datetime, itertools, math, queue, random, re, stat, statistics, time, unicodedata 这些模块。这意味着LLM生成的代码无法使用如 os, socket 等可能导致安全问题的模块。例如,如果LLM尝试生成使用 os 模块来删除文件的代码,LocalPythonExecutor 将阻止该操作,从而保护系统免受潜在的损害。这种限制导入机制允许开发者在可控的环境中运行LLM生成的代码,同时保持一定的灵活性,以执行常见的计算和数据处理任务。

本地venv环境隔离

mcp_safe_local_python_executor 使用 uv 在Python虚拟环境(venv)中运行代码,实现了环境隔离。每个LLM生成的代码都在独立的venv中执行,避免了不同代码之间的依赖冲突,并防止对全局Python环境造成污染。例如,如果一个LLM应用需要特定版本的库,它可以在自己的venv中安装,而不会影响其他应用。这种环境隔离机制提高了系统的稳定性和可维护性,使得开发者可以更轻松地管理和部署LLM应用。此外,使用 uv 可以快速创建和管理venv,简化了部署流程。

MCP协议集成

mcp_safe_local_python_executor 通过MCP协议与各种客户端集成,例如Claude Desktop和Cursor。它作为一个MCP服务器,通过标准输入/输出(stdio)进行通信,允许LLM应用通过标准的接口调用Python执行器。例如,在Claude Desktop中,用户可以使用自然语言提示词来指示LLM执行Python代码,并将结果返回给用户。这种集成方式使得LLM应用可以轻松地利用Python的强大功能,而无需关心底层的实现细节。通过MCP协议,mcp_safe_local_python_executor 可以与任何兼容的客户端无缝集成,扩展了LLM应用的能力。

易于配置和部署

mcp_safe_local_python_executor 的配置和部署过程相对简单,无需Docker或虚拟机。开发者只需要安装 uv,克隆仓库,然后运行 mcp_server.py 即可启动服务器。对于Claude Desktop,只需要编辑配置文件,添加 mcpServers 配置项,指定服务器的命令和参数。这种简便的部署方式降低了使用门槛,使得更多的开发者可以轻松地将Python执行器集成到他们的LLM应用中。此外,mcp_safe_local_python_executor 提供了详细的文档和示例,帮助开发者快速上手。