项目简介
Python REPL MCP服务器是一个基于Model Context Protocol (MCP) 的后端服务,它为大型语言模型 (LLM) 客户端提供了一个交互式的Python REPL (Read-Eval-Print Loop) 环境。通过此服务器,LLM可以执行Python代码片段,并获取代码执行的输出结果和会话历史记录,从而扩展LLM的功能,使其能够进行代码执行、数据分析等任务。
主要功能点
- Python REPL 工具 (Tool): 提供 'python_repl' 工具,允许LLM客户端执行Python代码。服务器为每个会话维护独立的状态,支持执行表达式和语句,并返回标准输出和标准错误输出。
- 会话历史资源 (Resource): 通过自定义 'repl://' URI 方案提供对REPL会话历史的访问。每个会话的历史记录可以作为 'text/plain' 资源查看,展示每次执行的输入代码和对应的输出。
- 会话管理: 支持多会话管理,每个会话通过唯一的 'session_id' 标识,保持相互隔离的状态。
安装步骤
- 环境准备: 确保已安装 Python 环境和 uv 包管理器。uv 可以通过 pip 安装: 'pip install uv'
- 下载仓库: 从 GitHub 克隆或下载 'python_mcp' 仓库到本地。
- 安装依赖: 在仓库根目录下,使用 uv 同步依赖: 'uv sync'
服务器配置
要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),您需要提供服务器的启动命令和参数。以下是配置示例,请根据您的实际仓库路径进行调整。
针对 Claude Desktop 的配置 (以 Development/Unpublished Servers Configuration 为例):
"mcpServers": { "python_local": { "command": "uv", "args": [ "--directory", "/path/to/python_local", // 请替换为 python_mcp 仓库的本地路径 "run", "python_local" ] } }
- 'server name': 'python_local' (此名称在客户端配置中用于标识该服务器)
- 'command': 'uv' (用于启动 Python 虚拟环境和运行脚本的包管理器)
- 'args': 启动参数列表
- '--directory': 指定工作目录为 'python_local' 仓库根目录
- 'run': 使用 uv 运行 Python 脚本
- 'python_local': 运行 'python_local' 包,根据 'src/python_local/init.py' 中的 'main' 函数启动服务器
注意: 请将 '/path/to/python_local' 替换为您实际存放 'python_mcp' 仓库的本地路径。 Published Servers Configuration 通常用于发布后的服务器,此处 Development Configuration 更适合本地开发和测试。
基本使用方法
- 启动服务器: 配置完成后,MCP 客户端 (如 Claude Desktop) 应该能够启动 'python_local' MCP 服务器。
- 客户端请求: LLM 客户端可以通过 MCP 协议向服务器发送请求,例如:
- 调用 'python_repl' 工具: 请求执行 Python 代码,需要提供 'code' (要执行的代码) 和 'session_id' (会话ID)。
- 读取会话历史资源: 请求读取指定 'session_id' 的会话历史记录,通过 'repl://{session_id}/history' URI 访问。
- 服务器响应: 服务器会根据请求执行相应的操作,并返回 JSON-RPC 响应,例如代码执行结果或会话历史数据。
重要提示: 'python_repl' 工具的输出 (stdout/stderr) 默认不会直接显示给用户,需要在LLM的响应中进行格式化和总结,以便用户理解代码执行结果。
信息
分类
AI与计算