What it is
A server over ntfy's HTTP API: publish a push notification to a topic, update or clear one already sent, poll a topic's cached messages, and look up the emoji short codes that render on the recipient's device. It works against ntfy.sh or an ntfy server of your own.
Requirements
Published as ntfy-mcp-server and launched over stdio or run as a Streamable HTTP server. Public ntfy.sh works with no account; protected topics need an access token. NTFY_DEFAULT_TOPIC sets the topic used when a call omits one — treat that name as a secret, because anyone who knows it can publish to it or subscribe to it. A single server is configured with NTFY_BASE_URL plus either NTFY_AUTH_TOKEN or NTFY_AUTH_USERNAME and NTFY_AUTH_PASSWORD; NTFY_SERVERS takes a JSON array to register several, each with its own credentials. Credentials stay bound to the base URL they were registered under, so a per-call base_url override that matches nothing registered goes out unauthenticated rather than leaking them, and NTFY_BLOCK_PRIVATE_HOSTS additionally forces such overrides to resolve to a public address.
Setup effort
One command — bunx ntfy-mcp-server@latest