mcp-pyodide

mcp-pyodide

site icon
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 模式下运行服务器。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。