hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Enables building and deploying the Fledge MCP server using Docker containers, supporting deployment to Smithery.ai for enhanced scalability and availability.
Supports deployment behind an Nginx reverse proxy for production environments, enhancing security and performance for the Fledge MCP server.
Allows generation of React components for Fledge data visualization, enabling the creation of custom UI elements to display sensor data from Fledge instances.
Servidor MCP de Fledge
Este es un servidor de Protocolo de Contexto de Modelo (MCP) que conecta la funcionalidad de Fledge con Cursor AI, lo que permite que la IA interactúe con las instancias de Fledge a través de comandos de lenguaje natural.
Prerrequisitos
- Fledge instalado localmente o accesible a través de API (predeterminado: http://localhost:8081 )
- Cursor AI instalado
- Python 3.8+
Instalación
- Clonar este repositorio:
- Instalar las dependencias:
Ejecución del servidor
- Asegúrese de que Fledge se esté ejecutando:
- Inicie el servidor MCP:
Para una operación segura con autenticación de clave API:
- Verifique que esté funcionando accediendo al punto final de salud:
Debería recibir "Fledge MCP Server se está ejecutando" como respuesta.
Conectando al cursor
- En Cursor, vaya a Configuración > Servidores MCP
- Agregar un nuevo servidor:
- URL: http://localhost:8082/herramientas
- Archivo de herramientas: cargue el tools.json incluido o apunte a su ruta local
- Para el servidor seguro, configure el encabezado "X-API-Key" con el valor del archivo api_key.txt que se genera cuando se inicia el servidor seguro.
- Pruébelo: abra Cursor's Composer (Ctrl+I), escriba "Verificar si la API de Fledge es accesible" y la IA debería llamar a la herramienta
validate_api_connection
.
Herramientas disponibles
Acceso y gestión de datos
- get_sensor_data : obtiene datos del sensor de Fledge con filtrado opcional por rango de tiempo y límite
- list_sensors : Lista todos los sensores disponibles en Fledge
- ingest_test_data : Ingesta datos de prueba en Fledge, con recuento de lotes opcional
Control de servicio
- get_service_status : Obtener el estado de todos los servicios de Fledge
- start_stop_service : Iniciar o detener un servicio Fledge por tipo
- update_config : Actualizar los parámetros de configuración de Fledge
Generación de código frontend
- generate_ui_component : Genera componentes React para la visualización de datos de Fledge
- fetch_sample_frontend : Obtenga plantillas de interfaz de usuario de muestra para diferentes marcos
- suggests_ui_improvements : Obtenga sugerencias impulsadas por IA para mejorar el código de la interfaz de usuario
Transmisión de datos en tiempo real
- subscribe_to_sensor : Configurar una suscripción para actualizaciones de datos del sensor
- get_latest_reading : Obtener la lectura más reciente de un sensor específico
Depuración y validación
- validate_api_connection : Comprueba si la API de Fledge es accesible
- simulator_frontend_request : prueba solicitudes de API con diferentes métodos y cargas útiles
Documentación y esquema
- get_api_schema : obtener información sobre los puntos finales de la API de Fledge disponibles
- list_plugins : Lista de complementos de Fledge disponibles
Funciones avanzadas asistidas por IA
- generate_mock_data : Genera datos simulados de sensores realistas para realizar pruebas.
Probando la API
Puede probar el servidor utilizando los scripts de prueba incluidos:
Opciones de seguridad
El servidor seguro (secure_mcp_server.py) agrega autenticación de clave API:
- En la primera ejecución, genera una clave API almacenada en api_key.txt
- Todas las solicitudes deben incluir esta clave en el encabezado X-API-Key
- El punto final de verificación de estado permanece accesible sin autenticación
Solicitudes de API de ejemplo
Ampliación del servidor
Para agregar más herramientas:
- Agregue la definición de la herramienta a
tools.json
- Implementar el controlador de herramientas en
mcp_server.py
ysecure_mcp_server.py
Consideraciones de producción
Para la implementación de producción:
- Utilice HTTPS
- Implementar detrás de un proxy inverso como Nginx
- Implementar una autenticación más robusta (JWT, OAuth)
- Añadir limitación de velocidad
- Configurar el almacenamiento de datos persistente para las suscripciones
Implementación en Smithery.ai
El servidor Fledge MCP se puede implementar en Smithery.ai para mejorar la escalabilidad y la disponibilidad. Siga estos pasos para la implementación:
- Prerrequisitos
- Docker instalado en su máquina local
- Una cuenta de Smithery.ai
- La herramienta CLI de Smithery instalada
- Construir e implementarCopy
- Configuración El archivo
smithery.json
contiene la configuración para su implementación:- Transporte de WebSocket en el puerto 8082
- URL de API de Fledge configurable
- Definiciones y parámetros de herramientas
- Configuración de tiempo de espera
- Variables de entorno Configure las siguientes variables de entorno en su panel de Smithery.ai:
FLEDGE_API_URL
: Su punto final de la API de FledgeAPI_KEY
: Su clave API segura (si usa el modo seguro)
- Verificación Después de la implementación, verifique que su servidor esté funcionando:Copy
- Monitoreo Monitoree su implementación a través del panel de Smithery.ai:
- Registros en tiempo real
- Métricas de rendimiento
- Seguimiento de errores
- Uso de recursos
- Actualización Para actualizar su implementación:Copy
Compatibilidad con el protocolo JSON-RPC
El servidor implementa el Protocolo de Contexto de Modelo (MCP) mediante JSON-RPC 2.0 sobre WebSocket. Se admiten los siguientes métodos:
- inicializarRespuesta:CopyCopy
- herramientas/listaRespuesta: Devuelve la lista de herramientas disponibles y sus parámetros.Copy
- herramientas/llamadaCopy
Códigos de error
El servidor sigue los códigos de error estándar JSON-RPC 2.0:
- -32700: Error de análisis
- -32600: Solicitud no válida
- -32601: Método no encontrado
- -32602: Parámetros no válidos
- -32000: Error del servidor
This server cannot be installed
Conecta la funcionalidad de Fledge con Cursor AI, lo que permite la interacción con instancias de Fledge a través de comandos de lenguaje natural.