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.
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 servidor - Punto final de API (
/api
): maneja solicitudes JSON-RPC - Punto 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
- Especificación del protocolo MCP
- Documentación de FastAPI
- Especificación JSON-RPC 2.0
- Especificación SSE
Licencia
Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo de LICENCIA para más detalles.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Una implementación basada en FastAPI del Protocolo de contexto de modelo que permite la interacción estandarizada entre los modelos de IA y los entornos de desarrollo, lo que facilita a los desarrolladores la integración y la gestión de tareas de IA.
Related MCP Servers
- AsecurityAlicenseAqualityThis server implements the Model Context Protocol to facilitate meaningful interaction and understanding development between humans and AI through structured tools and progressive interaction patterns.Last updated -1322TypeScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that provides persistent task management capabilities for AI assistants, allowing them to create, update, and track tasks beyond their usual context limitations.Last updated -1TypeScript
- -securityFlicense-qualityA demonstration implementation of the Model Context Protocol server that facilitates communication between AI models and external tools while maintaining context awareness.Last updated -Python
- -securityAlicense-qualityA zero-configuration tool that automatically converts FastAPI endpoints into Model Context Protocol (MCP) tools, enabling AI systems to interact with your API through natural language.Last updated -1PythonMIT License