MCP Python解释器与Docker
叉子 这 该项目已被修改为在Docker容器内运行。
先决条件
- Docker已安装在您的系统上
特性
- 环境管理:列出并使用不同的Python环境(system和conda)
- 代码执行:在任何可用环境中运行Python代码或脚本
- 包管理:列出已安装的软件包并安装新的软件包
- 文件操作:
- 读取任何类型的文件(文本、源代码、二进制) - 编写文本和二进制文件
- Python提示:用于常见Python任务的模板,如函数创建和调试
安装
运行Docker容器
docker compose up -d这将启动Docker容器内的MCP服务器,并在端口8050上公开它。 所有必要的数据都存储在 data 文件夹。
服务器运行后,您可以在单独的终端中运行简单的客户端来测试服务器是否正在运行:
python client.py客户端将连接到服务器并列出可用工具,列出 data 目录和读取 test.py 文件。
停止Docker容器
docker compose down可用工具
Python解释器提供以下工具:
环境和包装管理
- list_pythonenvironments:列出所有可用的Python环境(系统和conda)
- list_installed_packages:列出在特定环境中安装的软件包
- 安装包:在特定环境中安装Python包
代码执行
- run_python_code:在特定环境中执行Python代码
- run_python_file:在特定环境中执行Python文件
文件操作
- read_file:读取任何文件类型的内容,有大小和安全限制
- 支持带有语法高亮显示的文本文件 - 显示二进制文件的十六进制表示
- write_file:使用文本或二进制内容创建或覆盖文件
- write_pythonfile:专门创建或覆盖Python文件
- list_directory:列出目录中的Python文件(默认情况下为
data目录)
可用资源
- python://environments:列出所有可用的Python环境
- python://packages/{env_name}:列出特定环境的已安装软件包
- python://file/{文件路径}:获取Python文件的内容
- python://directory/{directory_path}:列出目录中的所有Python文件
鼓励
- python_function_template:为Python函数生成模板
- 重构python代码:帮助重构Python代码
- debug_pythonerror:帮助调试Python错误
示例用法
以下是一些您可以要求LLM使用此MCP服务器的示例:
- “显示我系统上所有可用的Python环境”
- “在我的conda基础环境中运行这段Python代码:print(‘你好,世界!’)”
- “创建一个名为'hello.py'的新Python文件,其中包含一个说hello的函数”
- “读取我的'data.json'文件的内容”
- “使用这些设置编写新的配置文件…”
- “列出我的系统Python环境中安装的所有包”
- “在我的系统Python环境中安装请求包”
- “使用以下参数运行data_analysis.py:--input=data.csv--output=results.csv”
文件处理能力
MCP Python解释器现在支持全面的文件操作:
- 读取最大1MB的文本和二进制文件
- 编写文本和二进制文件
- 源代码文件的语法高亮显示
- 二进制文件的十六进制表示法
- 严格的文件路径安全(仅在工作目录内)
