# NotifyHub — Unified Notification MCP Server

Dispatches messages across 23 communication channels using 36 built-in tools. Handy when an assistant needs to send emails or chat alerts.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 5
- Author: GabrielBBaldez
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/GabrielBBaldez/Notify-Hub
- Updated: 2026-03-23
- HTML: https://affpapa.org/en/nevibecode/mcp/notifyhub-unified-notification-mcp-server

## What it does

NotifyHub acts as a centralized notification gateway for coding agents. It provides 36 tools that talk to Telegram, Slack, Discord, and standard email. You interact with one consistent interface instead of wiring distinct SDKs for every messaging provider.

The architecture includes automatic fallback routing. If an email fails, delivery can switch directly to an SMS channel. Mustache templating, locale resolution, exponential retry backoff, and dead-letter queues help handle production workloads reliably.

Running the server requires Docker on the host machine because the runtime runs via `ghcr.io/gabrielbbaldez/notify-hub:1.1.0`. Missing SMTP environment variables will block email tools immediately.

## Requirements
- Needs: Docker
- Environment variables: `NOTIFY_CHANNELS_EMAIL_HOST`, `NOTIFY_CHANNELS_EMAIL_PORT`, `NOTIFY_CHANNELS_EMAIL_USERNAME`, `NOTIFY_CHANNELS_EMAIL_PASSWORD`, `NOTIFY_CHANNELS_EMAIL_FROM`, `NOTIFY_CHANNELS_SMS_ACCOUNTSID`, `NOTIFY_CHANNELS_SMS_AUTHTOKEN`, `NOTIFY_CHANNELS_SMS_FROMNUMBER`, `NOTIFY_CHANNELS_SLACK_WEBHOOKURL`, `NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env NOTIFY_CHANNELS_EMAIL_HOST=<NOTIFY_CHANNELS_EMAIL_HOST> --env NOTIFY_CHANNELS_EMAIL_PORT=<NOTIFY_CHANNELS_EMAIL_PORT> --env NOTIFY_CHANNELS_EMAIL_USERNAME=<NOTIFY_CHANNELS_EMAIL_USERNAME> --env NOTIFY_CHANNELS_EMAIL_PASSWORD=<NOTIFY_CHANNELS_EMAIL_PASSWORD> --env NOTIFY_CHANNELS_EMAIL_FROM=<NOTIFY_CHANNELS_EMAIL_FROM> --transport stdio notifyhub-unified-notification-mcp-server -- docker run -i --rm -e NOTIFY_CHANNELS_EMAIL_HOST -e NOTIFY_CHANNELS_EMAIL_PORT -e NOTIFY_CHANNELS_EMAIL_USERNAME -e NOTIFY_CHANNELS_EMAIL_PASSWORD -e NOTIFY_CHANNELS_EMAIL_FROM ghcr.io/gabrielbbaldez/notify-hub:1.1.0
```
Replace <…> with your own values. 45 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add notifyhub-unified-notification-mcp-server --env NOTIFY_CHANNELS_EMAIL_HOST=<NOTIFY_CHANNELS_EMAIL_HOST> --env NOTIFY_CHANNELS_EMAIL_PORT=<NOTIFY_CHANNELS_EMAIL_PORT> --env NOTIFY_CHANNELS_EMAIL_USERNAME=<NOTIFY_CHANNELS_EMAIL_USERNAME> --env NOTIFY_CHANNELS_EMAIL_PASSWORD=<NOTIFY_CHANNELS_EMAIL_PASSWORD> --env NOTIFY_CHANNELS_EMAIL_FROM=<NOTIFY_CHANNELS_EMAIL_FROM> -- docker run -i --rm -e NOTIFY_CHANNELS_EMAIL_HOST -e NOTIFY_CHANNELS_EMAIL_PORT -e NOTIFY_CHANNELS_EMAIL_USERNAME -e NOTIFY_CHANNELS_EMAIL_PASSWORD -e NOTIFY_CHANNELS_EMAIL_FROM ghcr.io/gabrielbbaldez/notify-hub:1.1.0
```
Replace <…> with your own values. 45 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "notifyhub-unified-notification-mcp-server": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "NOTIFY_CHANNELS_EMAIL_HOST",
                "-e",
                "NOTIFY_CHANNELS_EMAIL_PORT",
                "-e",
                "NOTIFY_CHANNELS_EMAIL_USERNAME",
                "-e",
                "NOTIFY_CHANNELS_EMAIL_PASSWORD",
                "-e",
                "NOTIFY_CHANNELS_EMAIL_FROM",
                "ghcr.io/gabrielbbaldez/notify-hub:1.1.0"
            ],
            "env": {
                "NOTIFY_CHANNELS_EMAIL_HOST": "<NOTIFY_CHANNELS_EMAIL_HOST>",
                "NOTIFY_CHANNELS_EMAIL_PORT": "<NOTIFY_CHANNELS_EMAIL_PORT>",
                "NOTIFY_CHANNELS_EMAIL_USERNAME": "<NOTIFY_CHANNELS_EMAIL_USERNAME>",
                "NOTIFY_CHANNELS_EMAIL_PASSWORD": "<NOTIFY_CHANNELS_EMAIL_PASSWORD>",
                "NOTIFY_CHANNELS_EMAIL_FROM": "<NOTIFY_CHANNELS_EMAIL_FROM>"
            }
        }
    }
}
```
Replace <…> with your own values. 45 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "notifyhub-unified-notification-mcp-server": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "NOTIFY_CHANNELS_EMAIL_HOST",
                "-e",
                "NOTIFY_CHANNELS_EMAIL_PORT",
                "-e",
                "NOTIFY_CHANNELS_EMAIL_USERNAME",
                "-e",
                "NOTIFY_CHANNELS_EMAIL_PASSWORD",
                "-e",
                "NOTIFY_CHANNELS_EMAIL_FROM",
                "ghcr.io/gabrielbbaldez/notify-hub:1.1.0"
            ],
            "env": {
                "NOTIFY_CHANNELS_EMAIL_HOST": "<NOTIFY_CHANNELS_EMAIL_HOST>",
                "NOTIFY_CHANNELS_EMAIL_PORT": "<NOTIFY_CHANNELS_EMAIL_PORT>",
                "NOTIFY_CHANNELS_EMAIL_USERNAME": "<NOTIFY_CHANNELS_EMAIL_USERNAME>",
                "NOTIFY_CHANNELS_EMAIL_PASSWORD": "<NOTIFY_CHANNELS_EMAIL_PASSWORD>",
                "NOTIFY_CHANNELS_EMAIL_FROM": "<NOTIFY_CHANNELS_EMAIL_FROM>"
            }
        }
    }
}
```
Replace <…> with your own values. 45 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e NOTIFY_CHANNELS_EMAIL_HOST=<NOTIFY_CHANNELS_EMAIL_HOST> -e NOTIFY_CHANNELS_EMAIL_PORT=<NOTIFY_CHANNELS_EMAIL_PORT> -e NOTIFY_CHANNELS_EMAIL_USERNAME=<NOTIFY_CHANNELS_EMAIL_USERNAME> -e NOTIFY_CHANNELS_EMAIL_PASSWORD=<NOTIFY_CHANNELS_EMAIL_PASSWORD> -e NOTIFY_CHANNELS_EMAIL_FROM=<NOTIFY_CHANNELS_EMAIL_FROM> notifyhub-unified-notification-mcp-server docker run -i --rm -e NOTIFY_CHANNELS_EMAIL_HOST -e NOTIFY_CHANNELS_EMAIL_PORT -e NOTIFY_CHANNELS_EMAIL_USERNAME -e NOTIFY_CHANNELS_EMAIL_PASSWORD -e NOTIFY_CHANNELS_EMAIL_FROM ghcr.io/gabrielbbaldez/notify-hub:1.1.0
```
Replace <…> with your own values. 45 more environment variables are in the server README

## When to use it
- deliver alerts to Telegram, Slack, or Discord channels
- route failed email messages automatically to an SMS fallback
- send transactional notifications using Mustache templates
- dispatch asynchronous messages with retry backoff

## Example prompts
- Send a test email to user@example.com with the subject System Update.
- Deliver an urgent alert to our Slack channel and fall back to SMS if it fails.
- Schedule a notification batch using the order confirmation template.

## Similar
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16730
- [PostHog MCP Server](https://affpapa.org/en/nevibecode/mcp/posthog-mcp-server.md) — MCP server · ★ 40459
- [OpenWork MCP Gateway](https://affpapa.org/en/nevibecode/mcp/openwork-mcp-gateway.md) — MCP server · ★ 24271
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18779

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
