Skip to content
Agentmart
Submit a tool

ntfy

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

Connector by ni-c · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/ni-c-ntfy-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
6 read · 2 write · 5 delete
Secrets
2 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 13

Read from the source code; the running server may list different tools.

Read 6 · Look things up without changing anything.

  • check_topic_access
  • get_account
  • get_message
  • get_server_info
  • list_messages
  • list_users

Write 2 · Create, change, send or run things.

  • create_user
  • publish_message

Delete 5 · Delete, drop, revoke or wipe things.

  • delete_messages
  • delete_user
  • manage_user_access
  • mark_messages_read
  • update_message

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • NTFY_PASSWORD
  • NTFY_TOKEN

Other settings (environment variables or headers).

  • NTFY_ALLOW_TOOLS
  • NTFY_DENY_TOOLS
  • NTFY_INSECURE_TLS
  • NTFY_READ_ONLY
  • NTFY_TOPICS
  • NTFY_URL
  • NTFY_USERNAME

Tools (13)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • check_topic_accessCheck topic accessread-only

    Reports whether the configured credentials may SUBSCRIBE to each topic, without publishing anything. Read the result carefully: ntfy grants read and write separately, and this endpoint tests the read side only. A write-only publishing token is denied here and can still publish perfectly well — that combination is the single most common source of confusion with ntfy.

  • create_userCreate a user

    Creates a non-admin account on a self-hosted instance. Requires an admin account. Grant it access to topics with manage_user_access — a new account can reach nothing until you do. The API cannot create administrators; only the ntfy CLI can (`ntfy user add --role=admin`). Asks a person first; where the client cannot show a dialog, call once to receive a token and again with it. Be aware that a password passed as a tool argument stays in the conversation transcript. For an account that matters, create it on the server instead.

  • delete_messagesDelete notificationscan change or delete data

    Deletes notifications and cancels scheduled ones that have not been delivered yet. Requires a confirmation token: call once without it to receive the token, then again with it. "Deleted" means subscribers are told to remove their copy. ntfy publishes a message_delete event and does **not** remove anything from its own cache, so list_messages and get_message still return the message afterwards, until it expires. Do not read that as the delete having failed, and do not delete again: the delete event is in the list too, alongside the message it refers to. Needs ntfy 2.16.0 or newer. Against an …

  • delete_userDelete a usercan change or delete data

    Removes an account and every access grant attached to it. Requires an admin account and a confirmation token: call once without it to receive the token, then again with it.

  • get_accountGet accountread-only

    Identity, role, tier, limits and current usage of the configured credentials. Access token values are redacted — only their labels and timestamps are shown.

  • get_messageGet one messageread-only

    Fetches a single cached message in full, including the untruncated body, its action buttons and any attachment. Ids come from list_messages or from the result of publish_message.

  • get_server_infoGet server inforead-only

    Health, capabilities and usage of the ntfy instance. Health, config and stats are public, so this is the one tool that works before the credentials are right — a good first call after setup. Each section is fetched independently; one that is unavailable is reported as such and does not fail the call. "version" needs an admin account, so its absence is normal.

  • list_messagesList cached messagesread-only

    Polls the cached messages of one or more topics, oldest first. Returns "next_since": pass it back as "since" to get only what arrived after this call. ntfy has no way to list the topics that exist — a topic is created by publishing to it. You either know the name or you find it in get_account or list_users. Retention is whatever the instance configures (12 hours by default), so an empty result usually means "nothing recent", not "no such topic". Message bodies are shortened here; use get_message for one in full. Entries with an "updates" field revise an earlier notification rather than being…

  • list_usersList usersread-only

    Every account on the instance with its per-topic grants — the answer to "who can read or write topic X". Requires an admin account; get_server_info reports whether the current one qualifies. Where NTFY_TOPICS restricts this server, the grants are reported against those topics only: a grant on a wildcard appears once per allowed topic it covers, and one that covers none of them is not shown at all.

  • manage_user_accessManage topic accesscan change or delete data

    Sets or removes an account's access to a topic or topic pattern. Requires an admin account and a confirmation token. Destructive in both directions, which is why it is gated: taking access away breaks a running publisher, and granting it exposes a topic's traffic to another account. A pattern may end in "*" to cover a family of topics. "deny" writes an explicit refusal — the only way to carve an exception out of a wildcard grant — whereas "revoke" removes the rule entirely, so a broader wildcard or the server default applies again. Where NTFY_TOPICS restricts this server, the topic must be …

  • mark_messages_readMark notifications read

    Clears notifications on subscribers' devices. The messages stay in the server cache and remain readable with list_messages — that is the whole difference from delete_messages, which also leaves them there but tells subscribers to remove rather than to clear. Needs ntfy 2.16.0 or newer. Against an older server every id comes back with ok:false inside a result that is not an error — check the per-id results rather than only whether the call succeeded.

  • publish_messagePublish a notification

    Sends a notification to one or more topics. ntfy has no multi-topic publish, so this sends one request per topic and reports each outcome separately — a rejection on one topic does not discard the ones that succeeded. Check the "ok" field per entry rather than assuming the whole call worked. The returned id is also the notification's sequence id: pass it to update_message to revise this notification in place, which is how a progress report stays one notification instead of five.

  • update_messageUpdate a notificationcan change or delete data

    Replaces the content of a notification already published, so subscribers see it change in place instead of receiving another one. The sequence id is the id returned by publish_message. It only exists for cached messages: one published with "cache": false cannot be updated. Only the fields given are sent; the cache keeps each revision as its own entry pointing back at the original, which is why list_messages shows them with an "updates" field — the original keeps its old text and a second entry carries the new one. Needs ntfy 2.16.0 or newer, and the failure below that is silent: an older ser…

Compare and alternatives

    Featured in

    Signals

    Stars
    0
    Forks
    0
    Open issues
    0
    Weekly downloads
    53
    Last commit
    Oct 22, 2026 (6 days ago)
    Last release
    Sep 7, 2026 (1 month ago)
    Last package publish
    Sep 7, 2026 (1 month ago)

    From GitHub (fetched Oct 24, 2026) and the package registry.

    Details

    Registry name
    io.github.ni-c/ntfy-mcp
    Version
    0.3.0
    Auth
    API key
    Packages
    npm @ni-c/ntfy-mcpoci ghcr.io/ni-c/ntfy-mcp:0.3.0
    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from ni-c

    Cite this page

    ntfy MCP server. Agent Mart. https://agentmart.dev/connectors/ni-c-ntfy-mcp (last updated 2026-10-24)