PRIMS 是一个轻量级、开源的 Model Context Protocol(MCP)服务器,用于让 LLM 智能体在安全的、一次性(throw-away)沙箱中执行任意 Python 代码。
用途 PRIMS 面向需要让 LLM 智能体运行 Python 代码的场景,提供隔离且可复现的执行环境。它通过 MCP 协议向智能体暴露代码执行能力,使智能体能够提交并运行用户提供的 Python 代码,并获取执行输出。
主要能力
- 单一工具:只暴露一个 MCP 工具 run_code,用于执行用户提供的 Python 代码,并流式返回 stdout / stderr。
- 隔离且可复现:每次调用都会启动一个全新的虚拟环境,安装请求的 pip 包,按需挂载可选的只读文件,随后销毁工作区。
- 零配置:可通过 MCP/stdio 直接使用,也可放入 Docker 中运行。
- 文件与工件操作:提供 list_dir 和 preview_file 工具用于浏览代码生成的会话工作区文件;提供 persist_artifact 工具,将 output/ 目录中的文件上传到 presigned URL;小型工件可直接下载。
- 数据挂载复用:可通过 mount_file 挂载数据文件(如 CSV),随后在 run_code 中读取,无需重复提供来源。
使用方式
- 准备本地开发环境。
- 启动服务器。
- 列出可用工具:可使用提供的脚本列出服务器暴露的所有工具,预期输出(工具名称与描述可能不同)。
- 通过 MCP 服务器运行代码,即调用 run_code。
- 挂载数据集一次并复用:使用 mount_file 挂载 CSV,然后在 run_code 内读取,无需再次提供 URL。
- 检查会话工作区:使用 list_dir 和 preview_file 工具浏览代码创建的文件。
- 将工件持久化到永久存储:使用 persist_artifact 工具将 output/ 目录中的文件上传到 presigned URL(示例为 Python)。
- 下载工件:小型工件可直接获取。 更多端到端演示可参考仓库的 examples/ 目录。项目欢迎贡献,可提交 issue、建议功能或 pull request。
适用场景 适用于希望让 LLM 智能体在受控环境中执行 Python 代码、处理数据文件并生成可持久化工件的应用与开发场景。
限制 资料未提供关于具体运行环境要求、依赖版本、性能、配额、收费、价格或支持平台的更多细节,这些内容暂未提供。