
mcp-pyodide

2025.03.26
8
TypeScriptPython 代码执行LLM 开发工具开发效率
mcp-pyodide 是一个基于 Model Context Protocol (MCP) 的 Pyodide 服务器实现,旨在为大型语言模型 (LLMs) 提供通过 MCP 接口执行 Python 代码的能力。该服务器支持 stdio 和 SSE 两种传输模式,并提供了命令行工具和服务器两种使用方式。
View on GitHub
Overview
基本能力
产品定位
mcp-pyodide 是一个为大型语言模型 (LLMs) 提供 Python 代码执行能力的服务器实现,通过 MCP 接口实现与模型的交互。
核心功能
- Python 代码执行:通过 Pyodide 实现 Python 代码的执行能力。
- MCP 兼容:完全兼容 Model Context Protocol (MCP) 的服务器实现。
- 多传输模式支持:支持 stdio 和 SSE 两种传输模式。
- 命令行工具:提供命令行工具,方便快速启动和使用。
- SSE 支持:在 SSE 模式下提供 SSE 连接和消息处理端点。
适用场景
- LLM 开发:为大型语言模型提供 Python 代码执行能力。
- 代码沙箱:在安全的环境中执行 Python 代码。
- 教育与研究:用于教育和研究场景中的代码执行需求。
工具列表
- 命令行工具:支持 stdio 和 SSE 模式的快速启动。
- SSE 端点:提供
/sse
和/messages
端点,支持实时消息交互。
常见问题解答
- 安全问题:执行不受信任的代码时需谨慎,确保环境安全。
- SSE 模式配置:使用 SSE 模式时需确保正确的 CORS 配置。
- 开发状态:项目处于开发阶段,API 可能会有变动。
使用教程
使用依赖
- Node.js 18 或更高版本
- npm 9 或更高版本
安装教程
npm install mcp-pyodide
启动服务器
作为服务器启动
import { runServer } from "mcp-pyodide";
// 启动服务器
runServer().catch((error: unknown) => {
console.error("Error starting server:", error);
process.exit(1);
});
作为命令行工具启动
stdio 模式(默认)
mcp-pyodide
SSE 模式
mcp-pyodide --sse
调试方式
SSE 模式调试
const eventSource = new EventSource("http://localhost:3020/sse");
eventSource.onmessage = (event) => {
console.log("Received:", JSON.parse(event.data));
};
开发环境设置
# 克隆仓库
git clone <repository-url>
# 安装依赖
npm install
# 构建
npm run build
运行脚本
npm run build
:编译 TypeScript 并设置执行权限。npm start
:在 stdio 模式下运行服务器。npm run start:sse
:在 SSE 模式下运行服务器。