返回 MCP 目录
public公开dns本地运行

Novu

Novu的MCP服务器实现,用于AI代理与通知系统交互

article

README

🚀 Novu MCP 实现

这是一个用 TypeScript 编写的 Novu 通知基础架构的模型上下文协议(MCP)服务器的实现,它允许 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 中。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端