这是一个用 TypeScript 编写的 Novu 通知基础架构的模型上下文协议(MCP)服务器的实现,它允许 AI 代理与 Novu 的通知系统进行交互,为开发者提供了便捷的通知管理方案。
npm install
npm run build
npm start
若您处于开发阶段,可以使用以下命令:
npm run dev
MCP 服务器需要在 smithery.yml
中配置 Novu API 密钥。您可以从您的 Novu 仪表板获取 API 密钥。
MCP 服务器支持以下 Novu 操作:
trigger_event
:向特定订阅者发送通知broadcast_event
:向所有订阅者发送通知cancel_triggered_event
:取消已触发的通知get_notifications
:分页列出通知get_notification_stats
:获取通知统计信息get_subscribers
:分页列出订阅者create_subscriber
:创建新订阅者update_subscriber
:更新订阅者详细信息delete_subscriber
:删除订阅者get_topics
:列出所有主题create_topic
:创建新主题delete_topic
:删除现有主题add_subscribers_to_topic
:将订阅者添加到主题remove_subscribers_from_topic
:从主题中移除订阅者{
"type": "execute",
"payload": {
"operation": "trigger_event",
"params": {
"name": "welcome-email",
"to": "subscriber-id",
"payload": {
"name": "John Doe",
"company": "Acme Inc"
}
}
}
}
{
"type": "execute",
"payload": {
"operation": "create_subscriber",
"params": {
"subscriberId": "unique-id",
"email": "john@example.com",
"firstName": "John",
"lastName": "Doe"
}
}
}
源代码用 TypeScript 编写,并遵循现代开发实践。主要实现位于 src/index.ts
,而 Novu 特定的逻辑在 src/novu-service.ts
中。