logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

smithy-mcp-gateway

A specialized TypeScript-based Model Context Protocol (MCP) endpoint designed to interface AI agents seamlessly with Novu's comprehensive notification delivery mechanisms, facilitating the initiation and lifecycle management of external communications.

Author

smithy-mcp-gateway logo

novuhq

No License

Quick Info

GitHub GitHub Stars 2
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

mcptypescriptagentsmcp typescriptai agentstools novuhq

Novu Communication Protocol Bridge

This repository contains the complete TypeScript source code for an MCP server instance, specifically engineered to broker interactions between autonomous software agents and the Novu notification platform infrastructure.

Initial Setup Procedures

  1. Install required package dependencies:
npm install
  1. Compile the source code into executable JavaScript:
npm run build
  1. Commence operation of the MCP service endpoint:
npm start

For iterative development cycles, utilize:

npm run dev

Configuration Requirements

The gateway mandates the presence of a valid Novu API authentication token, which must be configured within the smithery.yml configuration file. Obtain this credential from your designated Novu administrative portal.

Supported Functional Interfaces

The MCP gateway exposes the following interfaces mirroring Novu's capabilities:

Event Dispatching Module

  • trigger_event: Mechanism for dispatching targeted notifications to designated subscriber identifiers.
  • broadcast_event: Functionality to disseminate a singular notification across the entire subscriber base.
  • cancel_triggered_event: Operation to revoke or halt a previously dispatched notification instance.

Notification Retrieval Module

  • get_notifications: Endpoint for retrieving paginated records of sent notifications.
  • get_notification_stats: Accessor for summary statistics pertaining to notification delivery performance.

Subscriber Management Module

  • get_subscribers: Utility for fetching paginated lists of registered users/endpoints.
  • create_subscriber: Routine for provisioning a new unique subscriber entity.
  • update_subscriber: Method for modifying extant subscriber profile attributes.
  • delete_subscriber: Procedure for the permanent removal of a subscriber record.

Topic Management Module

  • get_topics: Retrieval of all currently defined communication topics.
  • create_topic: Operation to establish a novel topic for grouping subscribers.
  • delete_topic: Procedure to decommission an existing topic structure.
  • add_subscribers_to_topic: Functionality to associate subscribers with a specified topic.
  • remove_subscribers_from_topic: Functionality to disassociate subscribers from a specified topic.

Operational Examples

To initiate an informational alert:

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

To onboard a new user identity:

{
  "type": "execute",
  "payload": {
    "operation": "create_subscriber",
    "params": {
      "subscriberId": "unique-id",
      "email": "john@example.com",
      "firstName": "John",
      "lastName": "Doe"
    }
  }
}

Development Context

The core logic is implemented using modern TypeScript standards. Primary execution flow resides in src/index.ts, with all direct Novu API interactions encapsulated within src/novu-service.ts.

See Also

`