项目简介
mcp_safe_local_python_executor 是一个基于 Model Context Protocol (MCP) 的服务器实现,它将 Hugging Face 的 'LocalPythonExecutor' 封装成一个可以通过 MCP 协议调用的工具。'LocalPythonExecutor' 提供了一个相对安全的本地 Python 代码执行环境,避免了直接使用 'eval()' 等不安全的方法。该 MCP 服务器允许 LLM 应用(如 Claude Desktop、Cursor 等 MCP 客户端)安全地执行 Python 代码,实现代码解释器类似的功能。
主要功能点
- 提供 'run_python' 工具: 通过 MCP 协议暴露 'run_python' 工具,允许 LLM 客户端发送 Python 代码到服务器执行。
- 安全的代码执行环境: 使用 'LocalPythonExecutor' 在受限的 Python 环境中执行代码,禁止文件 I/O 操作,并限制了可导入的模块列表,提高了安全性。
- 基于 'uv' 和 Python venv 运行: 使用 'uv' 管理 Python 虚拟环境和依赖,简化了安装和运行过程。
- 易于集成到 MCP 客户端: 提供了 Claude Desktop 的配置示例,方便用户快速集成到支持 MCP 协议的 LLM 应用中。
安装步骤
- 安装 'uv': 按照 uv 官方文档 安装 'uv' 包管理器。例如,在 macOS 上可以使用 'brew install uv' 命令安装。
- 克隆仓库: 使用 'git clone https://github.com/maxim-saplin/mcp_safe_local_python_executor' 命令克隆仓库到本地。
- 进入仓库目录: 使用 'cd mcp_safe_local_python_executor' 命令进入仓库目录。
- 启动服务器: 在仓库目录下,运行 'uv run mcp_server.py' 命令启动 MCP 服务器。'uv' 会自动创建虚拟环境并安装依赖 ('smollagents', 'mcp')。
服务器配置
MCP 服务器需要配置到 MCP 客户端中才能使用。以 Claude Desktop 为例,需要在 Claude Desktop 的配置文件 ('claude_desktop_config.json') 中添加 'mcpServers' 配置项。以下是配置示例,请根据实际情况修改路径:
{ "mcpServers": { "safe-local-python-executor": { // 服务器名称,客户端用此名称引用 "command": "uv", // 启动服务器的命令 "args": [ // 启动服务器命令的参数 "--directory", // 指定工作目录 "/path/to/mcp_local_python_executor/", // **请替换为你的 mcp_safe_local_python_executor 仓库的本地路径** "run", // uv run 子命令,用于运行 Python 脚本 "mcp_server.py" // 要运行的 Python 脚本,即 MCP 服务器程序 ] } } }
注意: 请将上述配置中的 '/path/to/mcp_local_python_executor/' 替换为你实际克隆的 'mcp_safe_local_python_executor' 仓库的本地绝对路径。配置完成后,重启 Claude Desktop 或其他 MCP 客户端,即可识别并使用该 MCP 服务器提供的 'run_python' 工具。
基本使用方法
配置完成后,在支持 MCP 协议的 LLM 客户端中,可以使用自然语言提示词来调用 'run_python' 工具执行 Python 代码。例如,在 Claude Desktop 中,可以使用以下提示词:
- "使用 Python 计算 5 的阶乘"
- "用 Python 创建一个 100 以内的质数列表"
- "使用 Python 解决方程 x^2 + 5x + 6 = 0"
客户端会将这些提示转换为对 'run_python' 工具的 MCP 请求,服务器执行代码后会将结果返回给客户端。客户端通常会将结果整合到对话回复中。
信息
分类
AI与计算