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-pyodideUso
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-pyodideIniciar en modo SSE:
mcp-pyodide --sseModo SSE
Cuando se ejecuta en modo SSE, el servidor proporciona los siguientes puntos finales:
Conexión SSE:
http://localhost:3020/sseManejador 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.jsonDependencias
@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 SSEcors: 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 buildGuiones
npm run build: compila TypeScript y establece permisos de ejecuciónnpm start: Ejecutar el servidor en modo stdionpm 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
Bifurcar el repositorio
Crear una rama de características (
git checkout -b feature/amazing-feature)Confirme sus cambios (
git commit -am 'Add some amazing feature')Empujar a la rama (
git push origin feature/amazing-feature)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.