notifyd

Serveur MCP par rmzlb

Operate a self-hosted notifyd notification service: digest, jobs, retries, suppressions, projects and test sends.

S’exécute en local (Tourne sur votre machine : sa page donne la commande d’installation)S’exécute avec dockerClé API requise

Installer notifyd

Tourne sur votre machine. Votre client le lance avec cette commande :

docker run -i --rm ghcr.io/rmzlb/notifyd:0.4.0

Nécessite Docker sur votre ordinateur. Les étapes ci-dessous montrent où placer la commande dans chaque client.

  • DATABASE_URL secret PostgreSQL connection string
  • JWT_SECRET secret Secret for subscriber tokens
  • ADMIN_API_KEY secret Operator key; also the Bearer token for /mcp
  • EMAIL_PROVIDER facultatif resend | cloudflare | smtp | agentmail | log
  • EMAIL_FROM facultatif Default sender address

Partager ce serveur

Ouvre cette page, avec la commande d’installation et les étapes de configuration.

mcp.tc/i/notifyd

Présentation

notifyd is a self-hosted notification service written in Rust that sends email, SMS, WhatsApp, push and in-app messages through one API, backed only by PostgreSQL. Its built-in MCP server lets an assistant act as the operator: read a ranked digest of findings, inspect and retry failed jobs, manage suppressions, update project settings and send test messages.

It runs as a Docker image (ghcr.io/rmzlb/notifyd) and serves a Streamable HTTP endpoint at /mcp on your own host. Requests need an Authorization Bearer header: the admin key gives full access, and a read-only key exposes only the read tools.

Ce que vous pouvez faire

  • Get a ranked digest of what needs attention, with actions
  • List and inspect jobs by project, channel, status or recipient
  • Retry or cancel stuck or wrong sends
  • List and update project sender identity, channels and send windows
  • Manage the suppression list with all or marketing scope
  • View sent, failed, bounced and opened metrics per template
  • Send test notifications on any channel

Outils

notifyd ne présente ses outils qu’aux clients munis d’une clé, nous ne pouvons donc pas les afficher ici.

Exemples de prompts

  • Run the notifyd digest and tell me what needs attention.

  • List failed jobs from the last 24 hours and retry the ones that are safe.

  • Add user@example.com to the marketing suppression list.

  • Send a test email from the myapp project to me@example.com.

Configuration

Chaque client lance notifyd sur votre machine avec la même commande. Choisissez le vôtre ; la page retient votre choix.

Claude Code

  1. Lancez ceci dans un terminal, dans le dossier de votre projet :
claude mcp add --transport stdio notifyd --env "DATABASE_URL=<YOUR_DATABASE_URL>" --env "JWT_SECRET=<YOUR_JWT_SECRET>" --env "ADMIN_API_KEY=<YOUR_ADMIN_API_KEY>" -- docker run -i --rm ghcr.io/rmzlb/notifyd:0.4.0
  1. Démarrez Claude Code et tapez /mcp. notifyd devrait apparaître comme connecté.

Ajoutez --scope user pour le rendre disponible dans tous vos projets. Remplacez les espaces réservés par vos propres valeurs.

Claude Desktop

  1. Ouvrez Settings → Developer → Edit Config. Cela ouvre claude_desktop_config.json. Ajoutez :
claude_desktop_config.json
{
  "mcpServers": {
    "notifyd": {
      "command": "docker",
      "args": [
        "run",
        "-e",
        "DATABASE_URL",
        "-e",
        "JWT_SECRET",
        "-e",
        "ADMIN_API_KEY",
        "-i",
        "--rm",
        "ghcr.io/rmzlb/notifyd:0.4.0"
      ],
      "env": {
        "DATABASE_URL": "<YOUR_DATABASE_URL>",
        "JWT_SECRET": "<YOUR_JWT_SECRET>",
        "ADMIN_API_KEY": "<YOUR_ADMIN_API_KEY>"
      }
    }
  }
}
  1. Enregistrez le fichier et redémarrez Claude Desktop. Remplacez les espaces réservés par vos propres valeurs.

Nécessite Docker sur votre ordinateur. Le fichier se trouve dans ~/Library/Application Support/Claude/ sous macOS et dans %APPDATA%\Claude\ sous Windows.

Cursor

Ou ajoutez-le à la main dans ~/.cursor/mcp.json (tous les projets) ou .cursor/mcp.json (ce projet) :

mcp.json
{
  "mcpServers": {
    "notifyd": {
      "command": "docker",
      "args": [
        "run",
        "-e",
        "DATABASE_URL",
        "-e",
        "JWT_SECRET",
        "-e",
        "ADMIN_API_KEY",
        "-i",
        "--rm",
        "ghcr.io/rmzlb/notifyd:0.4.0"
      ],
      "env": {
        "DATABASE_URL": "<YOUR_DATABASE_URL>",
        "JWT_SECRET": "<YOUR_JWT_SECRET>",
        "ADMIN_API_KEY": "<YOUR_ADMIN_API_KEY>"
      }
    }
  }
}

Nécessite Docker sur votre ordinateur. Remplacez les espaces réservés par vos propres valeurs.

VS Code

Ajoutez-le à .vscode/mcp.json. VS Code demande le secret la première fois et le stocke de façon sécurisée :

.vscode/mcp.json
{
  "servers": {
    "notifyd": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-e",
        "DATABASE_URL",
        "-e",
        "JWT_SECRET",
        "-e",
        "ADMIN_API_KEY",
        "-i",
        "--rm",
        "ghcr.io/rmzlb/notifyd:0.4.0"
      ],
      "env": {
        "DATABASE_URL": "${input:database-url}",
        "JWT_SECRET": "${input:jwt-secret}",
        "ADMIN_API_KEY": "${input:admin-api-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "database-url",
      "description": "DATABASE_URL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "jwt-secret",
      "description": "JWT_SECRET",
      "password": true
    },
    {
      "type": "promptString",
      "id": "admin-api-key",
      "description": "ADMIN_API_KEY",
      "password": true
    }
  ]
}

Nécessite Docker sur votre ordinateur.

Devin Desktop

  1. Ajoutez-le à ~/.config/devin/mcp_config.json (macOS et Linux) ou %APPDATA%\devin\mcp_config.json (Windows) :
mcp_config.json
{
  "mcpServers": {
    "notifyd": {
      "command": "docker",
      "args": [
        "run",
        "-e",
        "DATABASE_URL",
        "-e",
        "JWT_SECRET",
        "-e",
        "ADMIN_API_KEY",
        "-i",
        "--rm",
        "ghcr.io/rmzlb/notifyd:0.4.0"
      ],
      "env": {
        "DATABASE_URL": "<YOUR_DATABASE_URL>",
        "JWT_SECRET": "<YOUR_JWT_SECRET>",
        "ADMIN_API_KEY": "<YOUR_ADMIN_API_KEY>"
      }
    }
  }
}
  1. Actualisez la liste des serveurs MCP dans Cascade. Remplacez les espaces réservés par vos propres valeurs.

Devin Desktop est le nouveau nom de Windsurf.

Codex

codex mcp add notifyd --env "DATABASE_URL=<YOUR_DATABASE_URL>" --env "JWT_SECRET=<YOUR_JWT_SECRET>" --env "ADMIN_API_KEY=<YOUR_ADMIN_API_KEY>" -- docker run -i --rm ghcr.io/rmzlb/notifyd:0.4.0

Ou modifiez directement ~/.codex/config.toml :

config.toml
[mcp_servers.notifyd]
command = "docker"
args = ["run", "-i", "--rm", "ghcr.io/rmzlb/notifyd:0.4.0"]
env = { DATABASE_URL = "<YOUR_DATABASE_URL>", JWT_SECRET = "<YOUR_JWT_SECRET>", ADMIN_API_KEY = "<YOUR_ADMIN_API_KEY>" }

Nécessite Docker sur votre ordinateur. Remplacez les espaces réservés par vos propres valeurs.

Gemini CLI

gemini mcp add -e "DATABASE_URL=<YOUR_DATABASE_URL>" -e "JWT_SECRET=<YOUR_JWT_SECRET>" -e "ADMIN_API_KEY=<YOUR_ADMIN_API_KEY>" notifyd docker -- run -i --rm ghcr.io/rmzlb/notifyd:0.4.0

Cela l’ajoute au projet en cours. Ajoutez -s user pour l’utiliser partout.

Tout client

La plupart des clients qui lancent des serveurs locaux acceptent cette forme :

{
  "mcpServers": {
    "notifyd": {
      "command": "docker",
      "args": [
        "run",
        "-e",
        "DATABASE_URL",
        "-e",
        "JWT_SECRET",
        "-e",
        "ADMIN_API_KEY",
        "-i",
        "--rm",
        "ghcr.io/rmzlb/notifyd:0.4.0"
      ],
      "env": {
        "DATABASE_URL": "<YOUR_DATABASE_URL>",
        "JWT_SECRET": "<YOUR_JWT_SECRET>",
        "ADMIN_API_KEY": "<YOUR_ADMIN_API_KEY>"
      }
    }
  }
}

Zed place les serveurs sous context_servers dans ses réglages, avec les mêmes champs command, args et env.

Nécessite Docker sur votre ordinateur. Remplacez les espaces réservés par vos propres valeurs.

FAQ

Puis-je coller mcp.tc/i/notifyd dans mon client MCP ?

Non. notifyd tourne sur votre propre ordinateur, lancé par votre client, il n’a donc pas d’adresse web à laquelle se connecter. Le lien rapide est la page à partager ; la commande d’installation est docker run -i --rm ghcr.io/rmzlb/notifyd:0.4.0.

notifyd a-t-il besoin d’une clé API ?

Oui. Il lit DATABASE_URL, JWT_SECRET et ADMIN_API_KEY dans son environnement, et DATABASE_URL, JWT_SECRET et ADMIN_API_KEY sont des secrets. Mettez les valeurs dans la configuration de votre client, sur votre propre machine, jamais dans un fichier partagé.

notifyd est-il un serveur distant ou local ?

Local. Votre client le lance comme un processus sur votre ordinateur avec docker run -i --rm ghcr.io/rmzlb/notifyd:0.4.0, qui nécessite Docker.

Que peut faire notifyd ?

Vous pouvez get a ranked digest of what needs attention, with actions, list and inspect jobs by project, channel, status or recipient et retry or cancel stuck or wrong sends.

Quels clients peuvent l’utiliser ?

Tout client qui lance des serveurs locaux : Claude Code, Claude Desktop, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed et d’autres. claude.ai et ChatGPT ne se connectent qu’à des serveurs distants.

Qui a rédigé cette page ?

Le robot de mcp.tc a lu les métadonnées publiques de notifyd (ses pages de paquet et de dépôt), et un modèle d’IA en a tiré le texte. Une personne examine tout ce que les vérifications ne peuvent pas confirmer. Le texte peut encore contenir des erreurs : si vous en repérez une, utilisez Signaler cette fiche sur cette page.

Intégrer

Affichez notifyd dans un README ou sur votre site. Chaque intégration renvoie à cette page, utilise la commande d’installation du serveur et ne dépose aucun cookie. Comment fonctionnent les intégrations

Badge pour README

Aperçu du badge, clairAperçu du badge, sombre
Markdown
[![notifyd on mcp.tc](https://mcp.tc/i/notifyd/badge.svg)](https://mcp.tc/i/notifyd)
HTML
<a href="https://mcp.tc/i/notifyd"><img src="https://mcp.tc/i/notifyd/badge.svg" alt="notifyd on mcp.tc" height="20"></a>

Il suit le mode clair ou sombre du lecteur. Ajoutez ?theme=light ou ?theme=dark pour le fixer, ou ?style=compact pour afficher le symbole sans le nom.

Carte pour site web

HTML
<script src="https://mcp.tc/w/notifyd.js" async></script>

La carte apparaît à l’endroit de la balise. Ajoutez data-theme="dark" ou data-size="compact" à la balise pour la modifier. Le fichier contient tout ce qu’il lui faut : il ne fait aucune autre requête et ne dépose aucun cookie.

iframe

HTML
<iframe src="https://mcp.tc/embed/notifyd" title="notifyd on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

Utilisez-la sur les pages qui n’autorisent pas les scripts. Ajoutez ?theme=light ou ?theme=dark à l’adresse pour fixer les couleurs.

JSON

La fiche sous forme de données pour vos pages et vos outils : nom, accroche, commande d’installation, outils et liens « Add to ». N’importe quel site peut la lire (CORS ouvert).

https://mcp.tc/i/notifyd.json

Ce que signifie chaque champ

mcp.tc n’est pas affilié à rmzlb. Cette page a été construite à partir des métadonnées publiques de notifyd, vérifiées pour la dernière fois le 4 oct. 2026, et un modèle d’IA a rédigé la description : elle peut contenir des erreurs. Les noms et marques appartiennent à leurs propriétaires. Quelque chose cloche ? Signaler cette fiche.