Files
novu-mcp-server/README.md
T

7.8 KiB

Novu MCP Server

An MCP (Model Context Protocol) server that provides full coverage of the Novu notification infrastructure API. Enables LLMs to manage subscribers, trigger notifications, configure workflows, and more through 78 tools across 11 API domains.

Features

  • Full API coverage: 78 tools spanning Events, Subscribers, Topics, Workflows, Notifications, Messages, Integrations, Environments, Translations, Contexts, and Channels
  • Dual transport: stdio (for local use with Claude Code, OpenCode, etc.) and Streamable HTTP (for remote/multi-client use)
  • Pagination support: Offset-based (v1) and cursor-based (v2) pagination
  • Error handling: Actionable error messages with HTTP status-specific guidance
  • Response truncation: Automatic truncation of large responses with pagination hints

Prerequisites

Installation

git clone <this-repo>
cd novu-mcp-server
npm install
npm run build

Configuration

Environment Variable Required Default Description
NOVU_SECRET_KEY Yes - Your Novu API key from the dashboard
NOVU_API_URL No https://api.novu.co API base URL. Use https://eu.api.novu.co for EU region
TRANSPORT No stdio Transport mode: stdio or http
PORT No 3000 HTTP server port (only used when TRANSPORT=http)

Usage

With Claude Code / OpenCode (stdio)

Add to your MCP configuration:

{
  "mcpServers": {
    "novu": {
      "command": "node",
      "args": ["/path/to/novu-mcp-server/dist/index.js"],
      "env": {
        "NOVU_SECRET_KEY": "your-api-key-here"
      }
    }
  }
}

With HTTP transport

NOVU_SECRET_KEY=your-key TRANSPORT=http PORT=3000 node dist/index.js

Then connect your MCP client to http://localhost:3000/mcp.

Available Tools (78)

Events (4 tools)

Tool Description
novu_trigger_event Trigger a notification workflow for specific subscribers
novu_bulk_trigger_event Trigger multiple notification events in a single request (max 100)
novu_broadcast_event Broadcast a notification to all subscribers
novu_cancel_event Cancel a pending triggered event by transaction ID

Subscribers (17 tools)

Tool Description
novu_create_subscriber Create a new subscriber (upserts if exists)
novu_get_subscriber Retrieve a subscriber by ID
novu_update_subscriber Update subscriber attributes
novu_delete_subscriber Delete a subscriber
novu_search_subscribers Search/list subscribers with filters
novu_bulk_create_subscribers Create multiple subscribers at once
novu_get_subscriber_preferences Get notification preferences for a subscriber
novu_update_subscriber_preferences Update notification preferences
novu_bulk_update_subscriber_preferences Bulk update preferences
novu_get_subscriber_subscriptions Get topic subscriptions for a subscriber
novu_get_subscriber_notifications List notifications for a subscriber
novu_update_notification_state Mark specific notifications as read/seen/etc
novu_update_all_notification_states Mark all notifications as read/seen/etc
novu_update_subscriber_online_status Set subscriber online/offline status
novu_update_provider_credentials Update push/chat provider credentials
novu_upsert_provider_credentials Upsert push/chat provider credentials
novu_delete_provider_credentials Delete provider credentials

Topics (11 tools)

Tool Description
novu_create_topic Create a new topic
novu_get_topic Retrieve a topic by key
novu_update_topic Update a topic's name
novu_delete_topic Delete a topic
novu_list_topics List all topics (cursor-based pagination)
novu_create_topic_subscriptions Subscribe subscribers to a topic
novu_delete_topic_subscriptions Unsubscribe subscribers from a topic
novu_update_topic_subscription Update a topic subscription
novu_list_topic_subscriptions List subscribers of a topic
novu_check_topic_subscriber Check if a subscriber belongs to a topic
novu_get_topic_subscription Get subscription details

Workflows (7 tools)

Tool Description
novu_create_workflow Create a new notification workflow
novu_get_workflow Retrieve a workflow by ID
novu_update_workflow Update a workflow
novu_delete_workflow Delete a workflow
novu_list_workflows List all workflows
novu_sync_workflow Sync a workflow between environments
novu_get_workflow_step Get details of a specific workflow step

Notifications (2 tools)

Tool Description
novu_list_notification_events List notification events with filters
novu_get_notification_event Get detailed notification event with execution logs

Messages (3 tools)

Tool Description
novu_list_messages List messages with filters
novu_delete_message Delete a specific message
novu_delete_messages_by_transaction Delete all messages for a transaction

Integrations (7 tools)

Tool Description
novu_list_integrations List all integrations
novu_list_active_integrations List only active integrations
novu_create_integration Create a new provider integration
novu_update_integration Update an integration
novu_delete_integration Delete an integration
novu_set_primary_integration Set an integration as primary for its channel
novu_generate_chat_oauth_url Generate OAuth URL for chat integrations

Environments (5 tools)

Tool Description
novu_list_environments List all environments
novu_create_environment Create a new environment
novu_update_environment Update an environment
novu_delete_environment Delete an environment
novu_list_environment_tags List tags across environments

Translations (7 tools)

Tool Description
novu_create_translation Create a translation
novu_get_translation Retrieve a translation
novu_delete_translation Delete a translation
novu_get_translation_group Get a translation group
novu_delete_translation_group Delete a translation group
novu_import_master_translations Import master translation JSON
novu_get_master_translations Get master translations JSON

Contexts (5 tools)

Tool Description
novu_list_contexts List all contexts
novu_create_context Create a new context
novu_get_context Retrieve a context
novu_update_context Update a context
novu_delete_context Delete a context

Channels (10 tools)

Tool Description
novu_list_channel_connections List channel connections
novu_create_channel_connection Create a channel connection
novu_get_channel_connection Get a channel connection
novu_update_channel_connection Update a channel connection
novu_delete_channel_connection Delete a channel connection
novu_list_channel_endpoints List channel endpoints
novu_create_channel_endpoint Create a channel endpoint
novu_get_channel_endpoint Get a channel endpoint
novu_update_channel_endpoint Update a channel endpoint
novu_delete_channel_endpoint Delete a channel endpoint

Development

# Watch mode with auto-reload
npm run dev

# Build
npm run build

# Test with MCP Inspector
NOVU_SECRET_KEY=your-key npx @modelcontextprotocol/inspector node dist/index.js

License

MIT