Implementación de Novu MCP
Esta es una implementación de TypeScript de un servidor de Protocolo de Contexto de Modelo (MCP) para Novu, que permite a los agentes de IA interactuar con la infraestructura de notificación de Novu.
Configuración
Instalar dependencias:
npm installConstruir el proyecto:
npm run buildInicie el servidor MCP:
npm startPara el desarrollo, puedes utilizar:
npm run devRelated MCP server: New Relic MCP Server
Configuración
El servidor MCP requiere que se configure una clave API de Novu en smithery.yml . Puede obtenerla desde su panel de control de Novu.
Operaciones disponibles
El servidor MCP admite las siguientes operaciones de Novu:
Eventos
trigger_event: Envía una notificación a suscriptores específicosbroadcast_event: Envía una notificación a todos los suscriptorescancel_triggered_event: Cancelar una notificación activada
Notificaciones
get_notifications: Lista de notificaciones con paginaciónget_notification_stats: Obtener estadísticas de notificaciones
Suscriptores
get_subscribers: Lista de suscriptores con paginacióncreate_subscriber: Crea un nuevo suscriptorupdate_subscriber: Actualizar los detalles del suscriptordelete_subscriber: Eliminar un suscriptor
Temas
get_topics: Lista todos los temascreate_topic: Crea un nuevo temadelete_topic: Eliminar un tema existenteadd_subscribers_to_topic: Agregar suscriptores a un temaremove_subscribers_from_topic: Eliminar suscriptores de un tema
Ejemplo de uso
Para activar una notificación:
{
"type": "execute",
"payload": {
"operation": "trigger_event",
"params": {
"name": "welcome-email",
"to": "subscriber-id",
"payload": {
"name": "John Doe",
"company": "Acme Inc"
}
}
}
}Para crear un suscriptor:
{
"type": "execute",
"payload": {
"operation": "create_subscriber",
"params": {
"subscriberId": "unique-id",
"email": "john@example.com",
"firstName": "John",
"lastName": "Doe"
}
}
}Desarrollo
El código fuente está escrito en TypeScript y sigue prácticas de desarrollo modernas. La implementación principal se encuentra en src/index.ts , con la lógica específica de Novu en src/novu-service.ts .