Back to MCP directory
publicPublicdnsLocal runtime

python_mcp

一个提供交互式Python REPL环境的MCP服务器

article

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" ] } } ```

🔧 技术细节

构建与发布

若要准备分发包,可按以下步骤操作:

  1. 同步依赖项并更新锁定文件:
uv sync
  1. 构建包发行版:
uv build

执行上述命令后,会在 dist/ 目录中创建源代码和轮格式发行版。 3. 发布到 PyPI:

uv publish

⚠️ 重要提示

你需要通过环境变量或命令行参数设置 PyPI 凭据:

  • 令牌:--tokenUV_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 来开始调试。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client