Skip to main content
Glama
yonaka15
by yonaka15

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

Related MCP server: didlogic_mcp

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.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yonaka15/mcp-pyodide'

If you have feedback or need assistance with the MCP directory API, please join our Discord server