Python REPL MCP服务器
项目简介
本项目是一个Python REPL (Read-Eval-Print Loop) MCP服务器,它基于 Model Context Protocol (MCP) 构建,旨在为LLM客户端提供执行Python代码的能力。通过该服务器,LLM可以调用预设的工具来运行Python代码片段,并能保持会话状态,实现更复杂的编程和数据处理任务。
主要功能点
- 代码执行 (execute_python): 允许LLM客户端执行任意Python代码,并返回代码执行的输出结果。支持会话保持,即多次执行代码时,变量和状态会被保留。同时支持重置会话,清除所有已定义的变量。
- 变量列表 (list_variables): 允许LLM客户端查看当前会话中已定义的变量及其值,方便LLM理解当前上下文状态。
- 包安装 (install_package): 允许LLM客户端动态安装Python第三方库,扩展Python REPL的功能,满足更广泛的需求。
安装步骤
该项目无需复杂的安装步骤,依赖管理使用 'uv'。
- 克隆仓库: 首先,你需要克隆该GitHub仓库到本地。
git clone https://github.com/piplin-es/mcp-python.git cd mcp-python - 运行服务器: 使用 'uv' 运行服务器脚本。
或者,你也可以直接运行 'mcp_python' 包:uv run src/mcp_python/server.pyuv run mcp_python
服务器配置
为了让MCP客户端(例如 Claude Desktop)连接到此MCP服务器,你需要配置客户端的服务器设置。以下是 Claude Desktop 的配置示例,其他MCP客户端的配置方式类似。
在 Claude Desktop 的配置文件中,添加如下 'mcpServers' 配置:
{ "mcpServers": { "python-repl": { // 服务器名称,可以自定义 "command": "uv", // 启动服务器的命令,这里使用 uv "args": [ // 启动命令的参数列表 "run", // uv 的 run 命令 "mcp_python" // 运行 mcp_python 包 (或者 "src/mcp_python/server.py" 如果直接运行 server.py 脚本) ], // 如果你的 mcp-python 仓库不在用户根目录下,请指定仓库的绝对路径 // "directory": "/absolute/path/to/mcp-python" } } }
注意:
- '"server name"': 'python-repl' 可以自定义,用于在客户端中标识该服务器。
- '"command"': 必须是系统中可执行的命令,这里使用 'uv'。请确保你的环境中已安装 'uv'。
- '"args"': 参数列表需要根据实际情况调整。如果直接运行 'server.py' 脚本,则 'args' 可以是 '["run", "src/mcp_python/server.py"]'。
- '"directory"': (可选) 如果你的 MCP 客户端启动时的工作目录与 'mcp-python' 仓库根目录不同,可能需要指定 'directory' 参数,指向仓库的绝对路径,以确保服务器能够正确运行。
基本使用方法
配置完成后,在MCP客户端中选择配置的服务器(例如 'python-repl'),即可通过客户端界面或指令调用服务器提供的工具。
示例工具调用:
-
执行Python代码: 使用 'execute_python' 工具执行Python代码。例如,发送如下请求给服务器:
{ "jsonrpc": "2.0", "method": "execute_python", "params": { "code": "print('Hello, MCP!')\na = 10", "reset": false // 可选,默认为 false,设置为 true 时会重置会话 }, "id": 1 }服务器会执行代码 'print('Hello, MCP!')\na = 10',并返回执行结果。变量 'a' 将会被保存在会话中。
-
列出变量: 使用 'list_variables' 工具查看当前会话中的变量。
{ "jsonrpc": "2.0", "method": "list_variables", "params": {}, "id": 2 }服务器会返回当前会话中所有已定义变量的列表。
-
安装Python包: 使用 'install_package' 工具安装第三方库。
{ "jsonrpc": "2.0", "method": "install_package", "params": { "package": "requests" // 要安装的包名 }, "id": 3 }服务器会尝试安装 'requests' 库,安装成功后,你就可以在后续的 'execute_python' 调用中使用 'import requests' 了。
通过以上步骤,你可以成功搭建并使用 Python REPL MCP 服务器,为你的 LLM 应用提供强大的Python代码执行能力。
信息
分类
AI与计算