Servidor MCP
Descripción general del proyecto
Basado en FastAPI y MCP (Protocolo de Contexto de Modelo), este proyecto permite la interacción contextual estandarizada entre modelos de IA y entornos de desarrollo. Mejora la escalabilidad y el mantenimiento de las aplicaciones de IA al simplificar la implementación de modelos, proporcionar endpoints API eficientes y garantizar la consistencia en la entrada y salida de los modelos, facilitando a los desarrolladores la integración y gestión de tareas de IA.
MCP (Protocolo de Contexto de Modelo) es un protocolo unificado para la interacción contextual entre modelos de IA y entornos de desarrollo. Este proyecto proporciona una implementación de servidor MCP basada en Python que admite funciones básicas del protocolo MCP, como la inicialización, el muestreo y la gestión de sesiones.
Related MCP server: OpenAI MCP Server
Características
JSON-RPC 2.0 : Comunicación de solicitud-respuesta basada en el protocolo estándar JSON-RPC 2.0
Conexión SSE : Compatibilidad con conexiones de eventos enviados por el servidor para notificaciones en tiempo real
Diseño modular : arquitectura modular para una fácil ampliación y personalización
Procesamiento asincrónico : servicio de alto rendimiento que utiliza FastAPI y E/S asincrónica
Cliente completo : incluye una implementación de cliente de prueba completa
Estructura del proyecto
Instalación
Clonar el repositorio:
Instalar dependencias:
Uso
Iniciando el servidor
De forma predeterminada, el servidor se iniciará en 127.0.0.1:12000 . Puede personalizar el host y el puerto mediante variables de entorno:
Ejecución del cliente
Ejecute el cliente en otra terminal:
Si el servidor no se ejecuta en la dirección predeterminada, puede configurar una variable de entorno:
Puntos finales de API
El servidor proporciona los siguientes puntos finales de API:
Ruta raíz (
/): proporciona información del servidorPunto final de API (
/api): maneja solicitudes JSON-RPCPunto final SSE (
/sse): maneja conexiones SSE
Implementación del protocolo MCP
Flujo de inicialización
El cliente se conecta al servidor a través de SSE
El servidor devuelve la URI del punto final de la API
El cliente envía una solicitud de inicialización con la versión del protocolo y las capacidades
El servidor responde a la solicitud de inicialización, devolviendo las capacidades del servidor.
Solicitud de muestreo
Los clientes pueden enviar solicitudes de muestreo con indicaciones:
El servidor devolverá los resultados del muestreo:
Cerrar una sesión
Los clientes pueden enviar una solicitud de apagado:
El servidor se apagará correctamente:
Extensiones de desarrollo
Agregar nuevos métodos
Para agregar nuevos métodos MCP, agregue una función de controlador a la clase MCPServer y regístrela en el método _register_methods :
Integración de modelos de IA
Para integrar modelos de IA reales, modifique el método handle_sample :
Solución de problemas
Problemas comunes
Errores de conexión : asegúrese de que el servidor esté en ejecución y que el cliente esté usando la URL del servidor correcta
405 Método no permitido : asegúrese de que el cliente esté enviando solicitudes al punto final de API correcto
Error de conexión SSE : Verifique las conexiones de red y la configuración del firewall
Explotación florestal
Tanto el servidor como el cliente proporcionan registros detallados. Consulte los registros para obtener más información:
Referencias
Licencia
Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo de LICENCIA para más detalles.