mcpField
M
mcp-pyodide

mcp-pyodide

本地服务
github.com/yonaka15开发工具1975 周前更新

关于 mcp-pyodide

mcp-pyodide 是一个基于 Pyodide 的 MCP 服务,使 LLM 能通过 MCP 接口执行 Python 代码。它使用 TypeScript 编写,支持 stdio 和 SSE 两种传输模式,项目目前仍处于开发阶段。

主要功能

  1. 01基于 Pyodide 执行 Python 代码
  2. 02支持 stdio 与 SSE 传输模式
  3. 03使用 TypeScript 实现
  4. 04提供命令行工具

适用场景

  1. 01让 LLM 执行 Python 代码并返回结果
  2. 02在 SSE 模式下通过网页客户端连接服务

MCP 相关

该项目是一个 MCP 服务,向 LLM 客户端暴露 Python 代码执行能力,并通过 stdio 或 SSE 与客户端通信。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MseeP.ai Security Assessment Badge

mcp-pyodide

一个基于 Pyodide 的模型上下文协议(MCP)服务实现。此服务支持大模型通过 MCP 接口执行 Python 代码。

mcp-pyodide MCP 服务

功能

  • 使用 Pyodide 为大模型提供 Python 代码执行能力
  • 符合 MCP 规范的服务实现
  • 支持 stdio 和 SSE 两种传输模式
  • 使用 TypeScript 编写的健壮实现
  • 可作为命令行工具使用

安装

npm install mcp-pyodide

使用方法

作为服务运行
import { runServer } from "mcp-pyodide";

// Start the server
runServer().catch((error: unknown) => {
  console.error("Error starting server:", error);
  process.exit(1);
});
作为命令行工具运行

以 stdio 模式启动(默认):

mcp-pyodide

以 SSE 模式启动:

mcp-pyodide --sse
SSE 模式

以 SSE 模式运行时,服务会提供以下端点:

  • SSE 连接:http://localhost:3020/sse
  • 消息处理程序:http://localhost:3020/messages

客户端连接示例:

const eventSource = new EventSource("http://localhost:3020/sse");
eventSource.onmessage = (event) => {
  console.log("Received:", JSON.parse(event.data));
};

项目结构

mcp-pyodide/
├── src/
│   ├── formatters/    # Data formatting handlers
│   ├── handlers/      # Request handlers
│   ├── lib/          # Library code
│   ├── tools/        # Utility tools
│   ├── utils/        # Utility functions
│   └── index.ts      # Main entry point
├── build/            # Build artifacts
├── pyodide-packages/ # Pyodide-related packages
└── package.json

依赖项

  • @modelcontextprotocol/sdk:MCP SDK(^1.4.0)
  • pyodide:Python 运行时环境(^0.27.1)
  • arktype:类型验证库(^2.0.1)
  • express:支持 SSE 的 Web 框架
  • cors:支持 SSE 的 CORS 中间件

开发

要求
  • Node.js 18 或更高版本
  • npm 9 或更高版本
设置
# Clone the repository
git clone <repository-url>

# Install dependencies
npm install

# Build
npm run build
脚本
  • npm run build:编译 TypeScript 并设置执行权限
  • npm start:以 stdio 模式运行服务
  • npm run start:sse:以 SSE 模式运行服务

环境变量

  • PYODIDE_CACHE_DIR:Pyodide 缓存目录(默认值:"./cache")
  • PYODIDE_DATA_DIR:挂载数据目录(默认值:"./data")
  • PORT:SSE 服务端口(默认值:3020)

许可证

MIT

参与贡献

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -am 'Add some amazing feature')
  4. 推送到该分支(git push origin feature/amazing-feature)
  5. 创建 Pull Request

重要说明

  • 此项目仍在开发中,API 可能会发生变化
  • 在生产环境中使用前,请进行全面测试
  • 出于安全考虑,执行不受信任的代码时请务必谨慎
  • 使用 SSE 模式时,如有需要,请确保正确配置 CORS

支持

如有问题或疑问,请使用 Issue 跟踪器。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。