MCP ExplorerExplorer

Smithery Mcp

@novuhqon 10 months ago
1 MIT
FreeCommunity
AI Systems
A TypeScript MCP server for Novu enabling AI agents to manage notifications.

Overview

What is Smithery Mcp

smithery-mcp is a TypeScript implementation of a Model Context Protocol (MCP) server designed for Novu, enabling AI agents to interact seamlessly with Novu’s notification infrastructure.

Use cases

Use cases for smithery-mcp include sending welcome emails to new subscribers, managing subscriber lists for targeted notifications, and broadcasting updates or alerts to all users within a system.

How to use

To use smithery-mcp, install the dependencies using ‘npm install’, build the project with ‘npm run build’, and start the server using ‘npm start’. For development, use ‘npm run dev’. Ensure to configure your Novu API key in the ‘smithery.yml’ file.

Key features

Key features of smithery-mcp include support for various Novu operations such as triggering and broadcasting events, managing subscribers, and handling topics. It also provides functionalities for retrieving notifications and their statistics.

Where to use

smithery-mcp can be utilized in applications that require notification management, such as customer engagement platforms, marketing automation tools, and any system needing real-time communication with users.

Content

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.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers