项目简介
这是一个 Model Context Protocol (MCP) 服务器,旨在为大型语言模型(LLM)提供执行 Python 代码的能力。通过此服务器,LLM 可以调用 Python 脚本来完成计算任务、数据处理、图表生成等复杂操作,并访问操作过程中产生的文件。
主要功能点
- 代码执行: 允许 LLM 在服务器环境中运行指定的 Python 代码。
- 包管理: 支持在执行代码前自动安装所需的 Python 第三方库。
- 文件操作: 能够生成任意类型的文件(文本、图像、数据等),并允许 LLM 读取这些文件的内容。特别支持读取和显示由 Python 代码生成的图像文件。
- 隔离环境: 推荐使用 Docker 容器运行服务器,提供安全隔离的执行环境,保护本地系统。工作目录映射确保生成的文件保存在用户指定的位置。
安装步骤
推荐使用 Docker 进行安装和运行:
- 在您的计算机上安装 Docker Desktop。
- 无需手动拉取镜像。当您的 MCP 客户端首次启动并连接配置为此服务器时,客户端会根据配置自动拉取并运行 Docker 镜像。
不推荐本地安装,因为目前可能存在问题。
服务器配置(供 MCP 客户端参考)
此服务器是为 MCP 客户端(例如 Claude Desktop)提供服务的。要在客户端中使用此服务器,您需要在客户端的配置中添加相应的服务器信息。配置通常位于客户端的设置文件(如 'claude_desktop_config.json')中,需要指定一个服务器名称、启动服务器的命令及其参数。
以下是典型的配置信息说明(请根据您的 MCP 客户端具体要求进行配置,此处不提供代码块):
- 服务器名称: 您可以为此服务器指定一个唯一的名称,例如 'python-runner'。
- 启动命令 ('command'): 启动服务器的命令。对于 Docker 方式,通常是 'docker'。对于本地安装方式,通常是服务器的可执行文件名 'mcp-python-runner'。
- 命令参数 ('args'): 传递给启动命令的参数列表。
- Docker 方式: 参数包括 'run', '--rm', '-i' (保持标准输入打开), '-v' (用于将您的本地工作目录映射到 Docker 容器内的 '/project' 目录,例如 '-v /path/to/your/work/dir:/project') 等。 '-v' 参数至关重要,它决定了 Python 代码在哪里读写文件,并将这些文件保存在您的本地计算机上。
- 本地安装方式: 参数包括 '--dir',用于指定服务器使用的工作目录,例如 '--dir /path/to/your/work/dir'。
- 环境变量 ('env'): 可以设置一些环境变量,例如 'MCP_ALLOW_SYSTEM_ACCESS: 0' 用于增强安全性。
请根据您的操作系统和实际文件路径调整 '-v' 或 '--dir' 参数中的 '/path/to/your/work/dir'。
配置完成后,重启 MCP 客户端即可看到并使用此 Python Runner 服务器提供的能力。
基本使用方法
一旦服务器在 MCP 客户端中配置并启动,LLM 就可以通过调用服务器提供的工具来与它交互:
- 执行 Python 代码: LLM 可以调用 'execute_python_code' 工具,提供需要运行的 Python 代码作为参数。可以同时指定所需的 Python 依赖包。服务器会执行代码,返回标准输出文本,并识别代码在工作目录中生成的新文件(特别是图像)。
- 读取文件: 如果 'execute_python_code' 生成了文件,LLM 可以调用 'read_file' 工具来读取这些文件的文本内容,以便进一步分析。
- 读取图像文件: 对于 'execute_python_code' 生成的图像文件(如 '.png'),LLM 可以调用 'read_image_file' 工具。服务器会读取该图像文件并以 MCP 图像资源的形式返回,供客户端展示。
通过调用这些工具,LLM 可以有效地利用 Python 的强大功能来完成各种任务,并将结果(包括数据和可视化)反馈给用户。
信息
分类
AI与计算