Skip to content

novuhq/smithery-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Feb 11, 2025
4c5280a · Feb 11, 2025

History

2 Commits
Feb 11, 2025
Feb 11, 2025
Feb 11, 2025
Feb 11, 2025
Feb 11, 2025
Feb 11, 2025
Feb 11, 2025
Feb 11, 2025

Repository files navigation

Novu MCP Implementation

This is a TypeScript implementation of a Model Context Protocol (MCP) server for Novu, allowing AI agents to interact with Novu's notification infrastructure.

Setup

  1. Install dependencies:
npm install
  1. Build the project:
npm run build
  1. Start the MCP server:
npm start

For development, you can use:

npm run dev

Configuration

The MCP server requires a Novu API key to be configured in smithery.yml. You can obtain an API key from your Novu dashboard.

Available Operations

The MCP server supports the following Novu operations:

Events

  • trigger_event: Send a notification to specific subscribers
  • broadcast_event: Send a notification to all subscribers
  • cancel_triggered_event: Cancel a triggered notification

Notifications

  • get_notifications: List notifications with pagination
  • get_notification_stats: Get notification statistics

Subscribers

  • get_subscribers: List subscribers with pagination
  • create_subscriber: Create a new subscriber
  • update_subscriber: Update subscriber details
  • delete_subscriber: Remove a subscriber

Topics

  • get_topics: List all topics
  • create_topic: Create a new topic
  • delete_topic: Delete an existing topic
  • add_subscribers_to_topic: Add subscribers to a topic
  • remove_subscribers_from_topic: Remove subscribers from a topic

Example Usage

To trigger a notification:

{
  "type": "execute",
  "payload": {
    "operation": "trigger_event",
    "params": {
      "name": "welcome-email",
      "to": "subscriber-id",
      "payload": {
        "name": "John Doe",
        "company": "Acme Inc"
      }
    }
  }
}

To create a subscriber:

{
  "type": "execute",
  "payload": {
    "operation": "create_subscriber",
    "params": {
      "subscriberId": "unique-id",
      "email": "[email protected]",
      "firstName": "John",
      "lastName": "Doe"
    }
  }
}

Development

The source code is written in TypeScript and follows modern development practices. The main implementation is in src/index.ts, with Novu-specific logic in src/novu-service.ts.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published