mcpbeat Sign in

Ntfy MCP Server

local only

Ntfy MCP Server runs on your own machine — the client starts it, so there is no endpoint to ping. 1 085 installs a week from npm. Last commit 16 Sep 2026.

Send, manage, and replay ntfy push notifications via MCP.

Installs per day peak 407 · avg 31 · +441% w/w
a month agotoday
1 085
Installs / week
npm · ntfy-mcp-server
22
Stars
7 open issues
16 Sep 2026
Last commit
0 releases in 90 days
Apache-2.0
License
TypeScript

Nothing serious here today

Today is the operative word: we check Ntfy MCP Server every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add ntfy-mcp-server -- npx -y ntfy-mcp-server
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "ntfy-mcp-server": {
      "args": [
        "-y",
        "ntfy-mcp-server"
      ],
      "command": "npx"
    }
  }
}
~/.codex/config.toml
[mcp_servers.ntfy-mcp-server]
command = "npx"
args = ["-y", "ntfy-mcp-server"]
.cursor/mcp.json
{
  "mcpServers": {
    "ntfy-mcp-server": {
      "args": [
        "-y",
        "ntfy-mcp-server"
      ],
      "command": "npx"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "ntfy-mcp-server": {
      "args": [
        "-y",
        "ntfy-mcp-server"
      ],
      "command": "npx"
    }
  }
}

This one needs environment variables set before it will start: NTFY_SERVERS (JSON array of `{ baseUrl, authToken? | authUsername?+authPassword? }` entries — one per ntfy server. First entry is the default base. Auth is scoped to the entry's `baseUrl`; per-call `base_url` overrides that match a registered base forward that server's auth. Takes precedence over the single-server NTFY_BASE_URL / NTFY_AUTH_* shorthand.), NTFY_BASE_URL (Single-server shorthand — base URL of the ntfy server (no trailing slash). Used when NTFY_SERVERS is unset.), NTFY_DEFAULT_TOPIC (Topic used when a tool call omits `topic`. Treat the topic name as a secret — anyone who knows it can publish or subscribe.), NTFY_AUTH_TOKEN (Bearer access token (`tk_…`) for the single-server shorthand. Mutually exclusive with NTFY_AUTH_USERNAME / NTFY_AUTH_PASSWORD.), NTFY_AUTH_USERNAME (Basic-auth username for the single-server shorthand — must be set together with NTFY_AUTH_PASSWORD.), NTFY_AUTH_PASSWORD (Basic-auth password for the single-server shorthand — must be set together with NTFY_AUTH_USERNAME.), NTFY_REQUEST_TIMEOUT_MS (Per-request HTTP timeout in milliseconds.), NTFY_MAX_RETRIES (Max retry attempts for transient upstream failures (5xx, network, 429).), NTFY_BLOCK_PRIVATE_HOSTS (When true, a per-call `base_url` override must resolve to a public address and its redirects are not followed. Servers registered under NTFY_SERVERS / NTFY_BASE_URL are exempt. Turn it on where callers you do not control can reach the server.), MCP_SESSION_MODE (HTTP session model: 'auto', 'stateful', or 'stateless'. This server requires 'stateful' over HTTP — the consent prompt on destructive and outbound calls is a multi-round-trip request that a 2025-era HTTP client can only complete over a live session — so an HTTP start with 'stateless' is refused. 'auto' resolves to 'stateful'; stdio ignores the setting.), MCP_HTTP_HOST (The hostname for the HTTP server.), MCP_HTTP_PORT (The port to run the HTTP server on.), MCP_HTTP_ENDPOINT_PATH (The endpoint path for the MCP server.), MCP_AUTH_MODE (Authentication mode to use: 'none', 'jwt', or 'oauth'.), MCP_LOG_LEVEL (Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').), LOGS_DIR (Directory for file-based logs (Node only; ignored on Workers).), OTEL_ENABLED (Enable OpenTelemetry instrumentation (spans, metrics, completion logs).). The author declared them in the registry entry; get the values from the project itself.

Alternatives to Ntfy MCP Server

same job, measured the same way
Gotify MCP
by kcofoni

MCP server for Gotify push notifications - send messages and manage apps/clients.

local only
Gotify RMCP
by dinglebear

Rust MCP server and CLI for Gotify push notifications and message management.

local only
Gotify MCP
by tootie

MCP server for self-hosted Gotify push notifications and message management.

59 installs/wk local only
Agent Push Kit
by justinbstrong

Send, search, and manage notifications, accounts, and push preferences

30 installs/wk answering
Vybit
by vybit

Push notifications with personalized sounds - manage and trigger your vybits via MCP

answering
ntfy
by ni-c

Publish ntfy notifications, read the message cache, and manage users and topic access

46 installs/wk local only
Ray notifications
by gege-mn

Send email, push, Slack, Discord, Telegram and webhook notifications and manage templates with Ray.

141 installs/wk 21 tools answering
Gotify RMCP
by dinglebear

Gotify notifications and app, client, and message management over MCP and CLI.

70 installs/wk local only

Ntfy MCP Server — questions

Answers built from our own checks of this server.

Why is there no uptime for Ntfy MCP Server?
Ntfy MCP Server runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the npm package ntfy-mcp-server was installed 1 085 times last week.
How do I connect Ntfy MCP Server?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It runs locally, so the command pulls ntfy-mcp-server straight from npm; nothing to host, nothing to sign up for.
How many people use Ntfy MCP Server?
The npm package ntfy-mcp-server was installed 1 085 times in the last week. Week over week that is +441%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Ntfy MCP Server open source?
Yes — it is published under the Apache-2.0 licence, written in TypeScript, 22 stars on GitHub and 7 open issues. The source link is on this page, so you can read exactly what it does with your data before you connect it.