README
🚀 本地 Python MCP 服务器
这是一个 MCP 服务器,它能够提供交互式的 Python 命令行环境(读取 - 评估 - 打印循环),方便用户进行 Python 代码的交互操作。
✨ 主要特性
资源
该服务器允许用户访问 REPL 会话历史记录:
- 采用自定义的
repl://URI 方案,便于用户访问会话历史。 - 每个会话的历史记录都能以纯文本资源的形式查看。
- 历史记录会清晰显示每个执行的输入代码及其对应的输出内容。
工具
服务器实现了一个实用工具:
python_repl:可在持久会话中执行 Python 代码。- 它要求传入
code(待执行的 Python 代码)和session_id这两个必填参数。 - 每个会话都能维护独立的状态。
- 既支持表达式,也支持语句。
- 能够捕获并返回 stdout/stderr 输出。
- 它要求传入
📦 安装指南
Claude Desktop
- MacOS:配置文件位于
~/Library/Application\ Support/Claude/claude_desktop_config.json。 - Windows:配置文件位于
%APPDATA%/Claude/claude_desktop_config.json%。
开发/未发布服务器配置
```json "mcpServers": { "python_local": { "command": "uv", "args": [ "--directory", "/path/to/python_local", "run", "python_local" ] } } ```已发布服务器配置
```json "mcpServers": { "python_local": { "command": "uvx", "args": [ "python_local" ] } } ```🔧 技术细节
构建与发布
若要准备分发包,可按以下步骤操作:
- 同步依赖项并更新锁定文件:
uv sync
- 构建包发行版:
uv build
执行上述命令后,会在 dist/ 目录中创建源代码和轮格式发行版。
3. 发布到 PyPI:
uv publish
⚠️ 重要提示
你需要通过环境变量或命令行参数设置 PyPI 凭据:
- 令牌:
--token或UV_PUBLISH_TOKEN- 或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
由于 MCP 服务器是通过标准输入输出运行的,调试工作可能会有一定难度。💡 使用建议:为了获得最佳的调试体验,我们强烈推荐使用 MCP Inspector。
你可以通过 npm 使用以下命令启动 MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /path/to/python_local run python-local
启动之后,Inspector 会显示一个 URL,你可以在浏览器中访问该 URL 来开始调试。
Scan to join WeChat group