Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.Prototype · updated every 30 min
PopNx MCPMCP servers for people who use AI · explained in plain words

notifyd

by rmzlbversion 0.4.0i★ 18iComputer or cloud
Registry nameio.github.rmzlb/notifyd

How to install

What it does

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

  • Connects Computer or cloud
  • Account or key Cloud: Needs Authorization · Local: Needs DATABASE_URL, JWT_SECRET, ADMIN_API_KEY
  • Category Other

Install

Pick the AI app you use, then copy the settings.

Passed 3/3 checks · What you ask goes through the maker’s server ({notifyd_host}) · ✓ Commands checked Nov 14, 2026

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude, with some setup first

You need a notifyd key (create it on the maker’s site) · The address has {…} parts you must replace with your own first · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it

  1. Sign up and create a notifyd key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the notifyd site ↗

  2. Open Claude’s Connectors page

    CustomizeConnectors

    CustomizeConnectors1Add2https://…3Add4
  3. Click “Add” → “Custom” → “Web” and fill in these 2 fields

    Copy each value into the field with the same name in Claude, then click Continue

    Name · Namenotifyd
    Remote MCP server URL · Addresshttps://{notifyd_host}/mcp

    Under Request headers, add this name and value

    Header nameAuthorization
    ValueBearer <paste your key here>

    Paste the key only into the app’s field, never into a chat or to anyone

    Click Continue past the sign-in settings Claude detected · under Authentication choose what the maker says (Sign in now, Sign in when needed or No sign in), then click Add

  4. Turn it on in a chat

    +Connectorsnotifyd

  5. Try it

    Use notifyd and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using notifyd or shows a notifyd tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

ChatGPT cannot connect notifyd yet

notifyd needs your own key to connect, but OpenAI’s help page only describes OAuth sign-in; there is no key option we could verify

What you can do instead

A · Use an app that can connect notifyd

  • You need a notifyd key (create it on the maker’s site) · The address has {…} parts you must replace with your own first · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it
  • You need a notifyd key (create it on the maker’s site) · The address has {…} parts you must replace with your own first
  • You need a notifyd key (create it on the maker’s site) · The address has {…} parts you must replace with your own first
  • You need a notifyd key (create it on the maker’s site) · The address has {…} parts you must replace with your own first

B · Others in Other that work with ChatGPT

Picked from the most used in the same category, only ones that connect by address with no key

Works with Claude Code, with some setup first

You need a notifyd key (create it on the maker’s site) · The address has {…} parts you must replace with your own first

  1. Sign up and create a notifyd key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the notifyd site ↗

  2. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  3. Paste this command and press Enter

    claude mcp add --transport http --scope user notifyd 'https://{notifyd_host}/mcp' --header 'Authorization: Bearer your-value'

    Replace “your-value” with your key before pressing Enter

    Paste the key only into the app’s field, never into a chat or to anyone

  4. Type /mcp in Claude Code

    You should see notifyd listed as connected

  5. Try it

    Use notifyd and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using notifyd or shows a notifyd tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor, with some setup first

You need a notifyd key (create it on the maker’s site) · The address has {…} parts you must replace with your own first

  1. Sign up and create a notifyd key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the notifyd site ↗

  2. Open Cursor’s MCP settings file

    ~/.cursor/mcp.json

    Paste these settings, fill in the empty values and save

    {
      "mcpServers": {
        "notifyd": {
          "url": "https://{notifyd_host}/mcp",
          "headers": {
            "Authorization": "Bearer your-value"
          }
        }
      }
    }
  3. Fill in your key

    In the notifyd settings, Authorization is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  4. Open the AI chat in Cursor in Agent mode

  5. Try it

    Use notifyd and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using notifyd or shows a notifyd tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code, with some setup first

You need a notifyd key (create it on the maker’s site) · The address has {…} parts you must replace with your own first

  1. Sign up and create a notifyd key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the notifyd site ↗

  2. Open VS Code’s MCP settings file

    MCP: Open User Configuration

    Paste these settings, fill in the empty values and save

    {
      "servers": {
        "notifyd": {
          "type": "http",
          "url": "https://{notifyd_host}/mcp",
          "headers": {
            "Authorization": "Bearer your-value"
          }
        }
      }
    }
  3. Fill in your key

    In the notifyd settings, Authorization is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  4. Open the AI chat in VS Code in Agent mode

  5. Try it

    Use notifyd and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using notifyd or shows a notifyd tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

Address for apps that connect over the web

Addresshttps://{notifyd_host}/mcp

JSON settings are under “For developers” below

Stuck? Ask people who use notifyd💬 Discussion →
For developers: Terminal commands and JSON settings

Over the web

Claude Code

claude mcp add --transport http --scope user notifyd 'https://{notifyd_host}/mcp' --header 'Authorization: Bearer your-value'

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "notifyd": {
      "url": "https://{notifyd_host}/mcp",
      "headers": {
        "Authorization": "Bearer your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "notifyd": {
      "type": "http",
      "url": "https://{notifyd_host}/mcp",
      "headers": {
        "Authorization": "Bearer your-value"
      }
    }
  }
}

Installed on your computer

Claude Code

claude mcp add --scope user notifyd --env DATABASE_URL=your-value --env JWT_SECRET=your-value --env ADMIN_API_KEY=your-value -- docker run -i --rm -e DATABASE_URL -e JWT_SECRET -e ADMIN_API_KEY ghcr.io/rmzlb/notifyd:0.4.0

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "notifyd": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "DATABASE_URL",
        "-e",
        "JWT_SECRET",
        "-e",
        "ADMIN_API_KEY",
        "ghcr.io/rmzlb/notifyd:0.4.0"
      ],
      "env": {
        "DATABASE_URL": "your-value",
        "JWT_SECRET": "your-value",
        "ADMIN_API_KEY": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "notifyd": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "DATABASE_URL",
        "-e",
        "JWT_SECRET",
        "-e",
        "ADMIN_API_KEY",
        "ghcr.io/rmzlb/notifyd:0.4.0"
      ],
      "env": {
        "DATABASE_URL": "your-value",
        "JWT_SECRET": "your-value",
        "ADMIN_API_KEY": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "notifyd": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "DATABASE_URL",
        "-e",
        "JWT_SECRET",
        "-e",
        "ADMIN_API_KEY",
        "ghcr.io/rmzlb/notifyd:0.4.0"
      ],
      "env": {
        "DATABASE_URL": "your-value",
        "JWT_SECRET": "your-value",
        "ADMIN_API_KEY": "your-value"
      }
    }
  }
}

Values you fill in

  • DATABASE_URL secret required env
    PostgreSQL connection string
  • JWT_SECRET secret required env
    Secret for subscriber tokens
  • ADMIN_API_KEY secret required env
    Operator key; also the Bearer token for /mcp
  • EMAIL_PROVIDER env
    resend | cloudflare | smtp | agentmail | log
  • EMAIL_FROM env
    Default sender address
  • Authorization secret required HTTP header
    Bearer for full access, or Bearer for the read-only tool set

Descriptions are as written by the maker.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
Not on npm/PyPI
Connection
Computer or cloud
Transport
streamable-http
Latest versioni
0.4.0
Categoryi
Other
Published to registryi
Sep 15, 2026
Code last changedi
Nov 11, 2026
Maker
rmzlb
Packages
oci: ghcr.io/rmzlb/notifyd:0.4.0
Website
github.com
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Connect over the internet in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

Run on your computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

All apps, with pros and cons →

Related guides

What it can do

The address needs your own values, so we cannot read the tool list for you.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 14, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account rmzlb, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed 3 days ago

  • ✓ Pass

    Has a licence

    Uses MIT

  • – Not applicable

    Endpoint responds

    The address needs your own account values, so we cannot check it for you

  • – Not applicable

    Sign-in with OAuth

    The address needs your own account values, so we cannot check it for you

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Otheri

  • More stars than 97% of the other 19760 servers in this category
  • Published to the registry more recently than 41% of the other 19760 servers in this category
  • Basic checks equal to or better than 100% of the other 19760 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is notifyd safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: Authorization, DATABASE_URL, JWT_SECRET, ADMIN_API_KEY

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed 3 days ago, and the latest version (0.4.0) reached the registry 2 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT on the web (full MCP on Business and above; Pro read-only).

What can I use instead?

In the same category: World Monitor, Claude Flow, Windmill

Others in the same category

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

World Monitor

Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 97 tools.

by koala73Widely used★ 90.6KUpdated yesterday

Runs in the cloud✓ service owner · worldmonitor.app

Claude Flow

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

by ruvnetWidely used↓ 13.5K/wk★ 81.7KUpdated 14 months ago

Runs on your computer

Windmill

Run Windmill scripts and flows and manage jobs, schedules, resources and variables.

by windmill-labsWidely used★ 18.6KUpdated 2 days ago

Runs in the cloud

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

notifyd

Send email, SMS, WhatsApp, push and in-app notifications from one API call.

One 12 MB Rust binary, PostgreSQL only. Queues, retries, provider failover and quiet hours are handled for you, and an AI agent can run it over MCP.

Quick Start • Clients • Examples • Agent operations • API Reference • Architecture • Benchmarks • llms.txt • Contributing


What it is

Your app has to tell people things: a password reset, a shipped parcel, a newsletter, a red badge in the corner. notifyd is the small server that does all of it, so your code makes one call and never has to think about providers, rate limits, retries or time zones again.

                 ┌───────────────────────────── notifyd ──────────────────────────────┐

your app ─────▶ │ POST /v1/send ─▶ queue ─▶ priority ─▶ pacing ─▶ retry ─▶ failover │ ─▶ email · sms · whatsapp │ │ push · in-app · telegram · slack · discord your agent ───▶ │ POST /mcp ─▶ digest · jobs · retry · suppressions · settings │ └───────────────────────── PostgreSQL only ──────────────────────────┘

  • Small and fast. One 12 MB binary, a 14 MB image to pull, 13 MB of RAM idle. It accepts 44 000 notifications per second and drains 3 500 per second on a laptop (method). No Redis, no message broker, no dashboard to host: PostgreSQL is the only dependency.
  • Nothing gets lost. A password reset always goes before a campaign. When a provider says "slow down", that channel pauses for exactly the time asked and resumes in priority order; when it fails, a second provider takes over. Retries, idempotency and quiet hours in each recipient's time zone are built in.
  • Your providers, your data. Resend, Cloudflare Email, any SMTP, AgentMail, Telnyx, Twilio, smsmode, APNs, Web Push, FCM. Self-hosted, MIT.
  • Operated by an API or an AI agent. No admin UI: a digest endpoint says what needs attention and what to do, and the same operations are MCP tools, so the person on call can be an agent.

Three instances run in production today, one per company, operated this way.

60 s explainer, invented data. MP4 · Remotion source


Send in one call

curl -X POST https://notifyd.example.com/v1/send \

-H "X-Api-Key: sk_myapp_xxx" \ -H "Content-Type: application/json" \ -d '{ "channels": ["email", "in_app"], "subscriber_id": "user-1", "subject": "Your report is ready", "body": "Hey {{first_name}}, the analysis you requested is complete.", "vars": {"first_name": "Alice"}, "priority": "normal", "idempotency_key": "report-42-ready" }'

Flat REST, curl works; TypeScript and Python clients exist. Retries are safe (idempotency_key), scheduling is a field (scheduled_at), a marketing campaign is POST /v1/batch with thousands of subscribers per call and it lands in the bulk lane so it never delays a password reset. Follow any send with GET /v1/jobs/:id. Runnable examples in every language: examples/.


Run it from a terminal

The same binary is the operator's CLI, against any instance (the server host has ADMIN_API_KEY in its environment, so it just works there):

notifyd digest                       # what needs attention, with the action for each finding

notifyd jobs --status failed # --project, --channel, --topic, --recipient, --since 24h, --limit, --json notifyd job # provider, attempts, delivery events notifyd retry # re-queue after fixing the cause notifyd send-test --project myapp --channel email --to you@example.com NOTIFYD_URL=https://notifyd.example.com NOTIFYD_ADMIN_API_KEY=… notifyd digest # from your laptop


Let your agent run it

Most notification tools were designed for a human clicking through a dashboard. notifyd exposes the operator's job as tools, with the detail a human operator would need:

1. One call says what needs attention. GET /v1/admin/digest ranks findings and tells you the action for each one, in JSON or Markdown:

# notifyd digest — last 1d

Instance: commit e14e6f3, up 3d, email resend (+ smtp fallback), sms telnyx

Findings

  • warning — Primary email provider resend is resting for 47s after refusing messages; smtp is delivering. _Nothing lost. Check the primary provider's status page; if it repeats, lower EMAIL_RATE_PER_SEC or move the primary role to the other provider._
  • warning — Bounce rate 5.3 % over the window (14 bounced / 263 delivered). _Above 5 % providers throttle or suspend the sender. Clean the recipient list; suppressions are applied automatically._
  • warning — 3 job(s) failed in the last 1d (0.1 % of terminal jobs). Top cause: 422 unverified sender domain. _Inspect with list_jobs(status=failed); permanent errors need a fix on the caller side, then retry_job._

Queue pending 0, retry 2, processing 0

Outcomes email/resend 4 812 sent, 3 failed · in_app 1 203 sent

Latency email p50 0.6s, p95 2.1s (scheduled → accepted by provider)

Deliverability delivered 4 790, bounced 14, complained 0, unsubscribed 9

2. The same operations as MCP tools. POST /mcp is a Streamable HTTP MCP server (current spec revision, legacy initialize kept). Add it to Claude Code, Claude Desktop, Cursor or your own agent:

{ "mcpServers": { "notifyd": {

"type": "http", "url": "https://notifyd.example.com/mcp", "headers": { "Authorization": "Bearer ${NOTIFYD_ADMIN_API_KEY}" } } } }

ToolWhat the agent can do
digestRanked findings with actions, queue, outcomes, latency, deliverability, per project
list_jobs, get_jobFilter by project, channel, status, recipient, time; see provider, attempts, last error
retry_job, cancel_jobAct on a stuck or wrong send
list_projects, update_projectSender identity (from_email, from_name), channels, inbound rate limit, bulk send_window in the recipients' timezone
list_suppressions, add_suppression, release_suppressionSuppression list with all or marketing scope
template_metricsSent, failed, bounced, opened per template
send_testProve the pipeline end to end on any channel

Every tool carries readOnlyHint / destructiveHint annotations and an outputSchema. A read-only operator key (READONLY_API_KEY) exposes only the read tools, for an agent that reports but must not act. Every MCP call is audited.

3. The digest comes to you. DIGEST_NOTIFY=telegram: (or a Slack / Discord webhook) and the findings above land in your chat when something needs attention; notifyd digest --to telegram:… sends one now.

4. Everything an agent needs to integrate is in the repo. docs/llms.txt is the whole API in plain text for a context window; three Agent Skills ship in skills/ (notifyd-operate, notifyd-integrate, notifyd-deploy):

npx skills add rmzlb/notifyd

Published on the official MCP registry as mcp-name: io.github.rmzlb/notifyd (server.json). Full operator guide: docs/AGENT.md.


Features

Channels

  • Email — Resend, Cloudflare Email Service, AgentMail, any SMTP (lettre), attachments, per-project sender identity
  • SMS — Telnyx, Twilio or smsmode, swap with one variable
  • RCS — smsmode (BASIC / TEXT auto-selection, quick replies, click-to-call, rich cards and carousels)
  • WhatsApp — Telnyx
  • Push — APNs natively (.p8 token auth, HTTP/2, badge, sound, thread id, silent pushes, dead tokens dropped), Web Push (VAPID), FCM
  • In-app inbox — REST + realtime SSE (EventSource), read / archive / star, unread badge, multi-replica through Postgres NOTIFY

Delivery engine

  • Priorities — critical, normal, bulk lanes; /v1/batch and campaign tags land in bulk
  • Pacing — token bucket per channel (EMAIL_RATE_PER_SEC); a provider 429 pauses that channel for Retry-After without consuming an attempt, other channels keep flowing, and when it resumes the claim order puts critical first
  • Retries — 30 s → 2 m → 10 m → 30 m → 2 h with jitter, 4xx fail fast, rejected batches fall back item by item
  • Failover — second email provider with a circuit breaker (EMAIL_FALLBACK_PROVIDER)
  • Send windows — quiet hours per project, evaluated in each subscriber's timezone
  • Segments — batch to "plan = pro and country in FR, BE" with a small filter vocabulary compiled to bound SQL; preview the count first
  • Scheduling, idempotency, stuck-job reaper, batch idempotency

Governance

  • Unsubscribe — RFC 8058 List-Unsubscribe one-click on every marketing email, suppression scopes all / marketing
  • Topics and preferences — a topic on any send ("tips", "billing"); subscribers opt out per topic and channel, honoured at enqueue; the unsubscribe page offers "this topic only" before "all marketing"
  • Multi-project — one instance, many projects, isolated by API key, key rotation with a grace period
  • PII masking in logs, audit log of every mutation, per-project rate limit

Operations

  • Digest, MCP server, Agent Skills, `llms.txt`
  • Metrics — /v1/metrics, /v1/metrics/prometheus, per-template metrics
  • Open and click tracking — own pixel and signed redirect links for every email provider, on marketing email by default (transactional links stay untouched), opened_at / clicked_at on the job, off per project or per request
  • Webhooks — delivery events to your endpoints
  • Workflows — event-triggered multi-step sequences, state in Postgres

-

Only the beginning is shown; read the rest in the repo