Novu AI通知管理器
启用 AI 代理与 Novu 的通知系统交互,便于执行发送通知、管理订阅者和组织主题等操作。
服务介绍
Novu MCP 实现
这是一个用于 Novu 的 Model Context Protocol (MCP) 服务器的 TypeScript 实现,允许 AI 代理与 Novu 的通知基础设施进行交互。
设置
- 安装依赖项:
npm install
- 构建项目:
npm run build
- 启动 MCP 服务器:
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。