mcp-pyodide

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Used as the web framework for SSE (Server-Sent Events) support, providing endpoints for SSE connection and message handling

  • The server runs on Node.js, requiring version 18 or higher for development

  • Used for package management and running scripts for the MCP server

mcp-pioduro

Implementación del servidor Pyodide para el Protocolo de Contexto de Modelo (MCP). Este servidor permite que los Modelos de Lenguaje Grandes (LLM) ejecuten código Python a través de la interfaz MCP.

Características

  • Capacidad de ejecución de código Python para LLM mediante Pyodide
  • Implementación de servidor compatible con MCP
  • Compatibilidad con los modos de transporte stdio y SSE
  • Implementación robusta escrita en TypeScript
  • Disponible como herramienta de línea de comandos

Instalación

npm install mcp-pyodide

Uso

Como servidor

import { runServer } from "mcp-pyodide"; // Start the server runServer().catch((error: unknown) => { console.error("Error starting server:", error); process.exit(1); });

Como herramienta de línea de comandos

Iniciar en modo stdio (predeterminado):

mcp-pyodide

Iniciar en modo SSE:

mcp-pyodide --sse

Modo SSE

Cuando se ejecuta en modo SSE, el servidor proporciona los siguientes puntos finales:

  • Conexión SSE: http://localhost:3020/sse
  • Manejador de mensajes: http://localhost:3020/messages

Ejemplo de conexión de cliente:

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

Estructura del proyecto

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

Dependencias

  • @modelcontextprotocol/sdk : SDK de MCP (^1.4.0)
  • pyodide : entorno de ejecución de Python (^0.27.1)
  • arktype : Biblioteca de validación de tipos (^2.0.1)
  • express : marco web para soporte SSE
  • cors : middleware CORS para compatibilidad con SSE

Desarrollo

Requisitos

  • Node.js 18 o superior
  • npm 9 o superior

Configuración

# Clone the repository git clone <repository-url> # Install dependencies npm install # Build npm run build

Guiones

  • npm run build : compila TypeScript y establece permisos de ejecución
  • npm start : Ejecutar el servidor en modo stdio
  • npm run start:sse : Ejecutar el servidor en modo SSE

Variables de entorno

  • PYODIDE_CACHE_DIR : Directorio para la caché de Pyodide (predeterminado: "./cache")
  • PYODIDE_DATA_DIR : Directorio para datos montados (predeterminado: "./data")
  • PORT : Puerto para el servidor SSE (predeterminado: 3020)

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Contribuyendo

  1. Bifurcar el repositorio
  2. Crear una rama de características ( git checkout -b feature/amazing-feature )
  3. Confirme sus cambios ( git commit -am 'Add some amazing feature' )
  4. Empujar a la rama ( git push origin feature/amazing-feature )
  5. Crear una solicitud de extracción

Notas importantes

  • Este proyecto está en desarrollo y la API puede cambiar.
  • Pruebe exhaustivamente antes de usar en producción.
  • Tenga cuidado al ejecutar código no confiable por razones de seguridad.
  • Al utilizar el modo SSE, asegúrese de que la configuración CORS sea adecuada si es necesario

Apoyo

Utilice el Rastreador de problemas para problemas y preguntas.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Un servidor Pyodide para ejecutar código Python mediante modelos de lenguaje grandes (LLM) a través del protocolo de contexto de modelo (MCP).

  1. Features
    1. Installation
      1. Usage
        1. As a Server
        2. As a Command-line Tool
        3. SSE Mode
      2. Project Structure
        1. Dependencies
          1. Development
            1. Requirements
            2. Setup
            3. Scripts
          2. Environment Variables
            1. License
              1. Contributing
                1. Important Notes
                  1. Support
                    ID: pxls43joly