使用说明

项目简介

Novu 是一个开源的通知基础设施,novu-ts 仓库是 Novu API 的 TypeScript SDK。除了作为 SDK 客户端使用,该仓库还提供了一个 MCP 服务器 实现,可以将 Novu API 的各项功能以 工具 (Tools) 的形式暴露出来,供支持 Model Context Protocol (MCP) 的 LLM 客户端(如 Claude、Cursor 等)调用。

主要功能点

  • 工具注册与执行: 将 Novu API 的各种操作(如触发通知、管理订阅者、集成管理等)注册为 MCP 工具 (Tools),允许 LLM 客户端通过标准的 JSON-RPC 协议调用这些工具,实现与 Novu 通知服务的集成。
  • 资源管理 (Resources): 虽然仓库描述中没有明确提及资源 (Resources) 的托管和管理,但根据 MCP 服务器的定义,可以推测该 MCP 服务器实现也支持对通知相关的资源进行管理和访问,具体实现可能需要进一步分析代码仓库。
  • Prompt 模板 (Prompts): 仓库描述中没有提及 Prompt 模板 (Prompts) 的功能。该 MCP 服务器主要侧重于将 Novu API 功能以工具形式暴露,可能不包含 Prompt 模板的定义和渲染功能。
  • 会话管理和能力声明: MCP 服务器负责会话管理,并声明其提供的工具能力,使得 LLM 客户端能够了解服务器的功能范围。
  • 支持多种传输协议: 该 MCP 服务器示例支持 Stdio 和 SSE 传输协议,可以通过命令行参数配置。

安装步骤

  1. 安装 Node.js: 确保你的环境中安装了 Node.js v20 或更高版本。
  2. 安装 @novu/api: 使用 npm, pnpm, bun 或 yarn 等包管理器安装 '@novu/api' 包。例如使用 npm:
    npm add @novu/api

服务器配置

MCP 服务器配置 (以 Claude 为例)

为了让 MCP 客户端(如 Claude)连接到 novu-ts 提供的 MCP 服务器,需要在客户端的配置文件中添加服务器定义。以下是 Claude 客户端的 'claude_desktop_config.json' 配置文件示例:

{
  "mcpServers": {
    "Novu": {
      "command": "npx",  // 启动服务器的命令,这里使用 npx 运行 npm 包
      "args": [         // 传递给启动命令的参数
        "-y", "--package", "@novu/api", // 自动安装 @novu/api 包(如果未安装)
        "--",                             // 分隔 npx 参数和 MCP 服务器参数
        "mcp", "start",                   // 启动 MCP 服务器的子命令
        "--secret-key", "YOUR_SECRET_KEY"  //  **重要**: 替换为你的 Novu Secret Key,用于 API 鉴权
      ]
    }
  }
}

MCP 服务器配置 (以 Cursor 为例)

对于 Cursor 客户端,需要在 Cursor 设置中手动添加 MCP 服务器。配置步骤如下:

  1. 打开 Cursor 设置 (Cursor Settings > Features > MCP Servers > Add new MCP server)。
  2. 填写以下配置信息:
    • Name: 'Novu' (服务器名称,自定义)
    • Type: 'command' (服务器类型为命令行命令)
    • Command:
      npx -y --package @novu/api -- mcp start --secret-key YOUR_SECRET_KEY
      注意: 将 'YOUR_SECRET_KEY' 替换为你的 Novu Secret Key。

基本使用方法

  1. 启动 MCP 服务器: 按照上述配置,当 MCP 客户端(Claude 或 Cursor)启动时,会自动尝试连接到 novu-ts 提供的 MCP 服务器。

  2. 在 LLM 客户端中使用工具: 连接成功后,你可以在 LLM 客户端中使用自然语言指令或客户端提供的界面来调用 Novu API 提供的 工具 (Tools),例如:

    • 触发通知事件
    • 查询订阅者列表
    • 管理集成
    • 等等

    具体的工具列表和使用方法可以参考仓库的 'README.md' 文档中 "Available Resources and Operations" 和 "Standalone functions" 章节,以及 'src/mcp-server/tools' 目录下的工具定义文件。

注意: 请务必将配置文件中的 'YOUR_SECRET_KEY' 替换为你实际的 Novu Secret Key,以确保 API 鉴权成功。

信息

分类

开发者工具