{"name":"io.github.ni-c/ntfy-mcp","slug":"ni-c-ntfy-mcp","title":"ntfy","description":"Publish ntfy notifications, read the message cache, and manage users and topic access","url":"https://mcp.market/server/ni-c-ntfy-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":26,"stars":0,"forks":0,"downloads_week":35,"last_push_at":"2026-09-19T22:36:54.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"mixed","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/ni-c/ntfy-mcp","website":"https://ntfy-mcp.ni-c.de","version":"0.3.0","remotes":[],"packages":[{"registryType":"npm","identifier":"@ni-c/ntfy-mcp","version":"0.3.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Base URL of the ntfy server, e.g. https://ntfy.example.net. There is deliberately no default.","isRequired":true,"format":"string","name":"NTFY_URL"},{"description":"ntfy access token (tk_...). Optional: an open instance needs no credentials. Mutually exclusive with NTFY_USERNAME/NTFY_PASSWORD.","format":"string","isSecret":true,"name":"NTFY_TOKEN"},{"description":"Username for basic authentication. Must be set together with NTFY_PASSWORD.","format":"string","name":"NTFY_USERNAME"},{"description":"Password for basic authentication. Must be set together with NTFY_USERNAME.","format":"string","isSecret":true,"name":"NTFY_PASSWORD"},{"description":"Comma-separated topics the server may use. The first is the default when a tool omits one, and the list restricts every read and write tool.","format":"string","name":"NTFY_TOPICS"},{"description":"Set to exactly true to register only the six read tools (default: false — ntfy exists to publish)","format":"boolean","name":"NTFY_READ_ONLY"},{"description":"Set to true to accept a self-signed certificate from the ntfy server (default: false)","format":"boolean","name":"NTFY_INSECURE_TLS"},{"description":"Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)","format":"string","name":"NTFY_ALLOW_TOOLS"},{"description":"Comma-separated tool names or list_* prefixes to remove from whatever the allow list left","format":"string","name":"NTFY_DENY_TOOLS"}]},{"registryType":"oci","identifier":"ghcr.io/ni-c/ntfy-mcp:0.3.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Base URL of the ntfy server, e.g. https://ntfy.example.net. There is deliberately no default.","isRequired":true,"format":"string","name":"NTFY_URL"},{"description":"ntfy access token (tk_...). Optional: an open instance needs no credentials. Mutually exclusive with NTFY_USERNAME/NTFY_PASSWORD.","format":"string","isSecret":true,"name":"NTFY_TOKEN"},{"description":"Username for basic authentication. Must be set together with NTFY_PASSWORD.","format":"string","name":"NTFY_USERNAME"},{"description":"Password for basic authentication. Must be set together with NTFY_USERNAME.","format":"string","isSecret":true,"name":"NTFY_PASSWORD"},{"description":"Comma-separated topics the server may use. The first is the default when a tool omits one, and the list restricts every read and write tool.","format":"string","name":"NTFY_TOPICS"},{"description":"Set to exactly true to register only the six read tools (default: false — ntfy exists to publish)","format":"boolean","name":"NTFY_READ_ONLY"},{"description":"Set to true to accept a self-signed certificate from the ntfy server (default: false)","format":"boolean","name":"NTFY_INSECURE_TLS"},{"description":"Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)","format":"string","name":"NTFY_ALLOW_TOOLS"},{"description":"Comma-separated tool names or list_* prefixes to remove from whatever the allow list left","format":"string","name":"NTFY_DENY_TOOLS"}]}],"tools":[{"name":"check_topic_access","description":"Reports whether the configured credentials may SUBSCRIBE to each","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_user","description":"Creates a non-admin account on a self-hosted instance. Requires an","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_messages","description":"Deletes notifications and cancels scheduled ones that have not been","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_user","description":"Removes an account and every access grant attached to it. Requires","write_action":true,"price_micros":0,"input_schema":null},{"name":"get_account","description":"Identity, role, tier, limits and current usage of the configured","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_message","description":"Fetches a single cached message in full, including the untruncated","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_server_info","description":"Health, capabilities and usage of the ntfy instance. Health, config","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_messages","description":"Polls the cached messages of one or more topics, oldest first.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_users","description":"Every account on the instance with its per-topic grants — the","write_action":false,"price_micros":0,"input_schema":null},{"name":"manage_user_access","description":"Sets or removes an account's access to a topic or topic pattern.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mark_messages_read","description":"Clears notifications on subscribers' devices. The messages stay in","write_action":false,"price_micros":0,"input_schema":null},{"name":"publish_message","description":"Sends a notification to one or more topics.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_message","description":"Replaces the content of a notification already published, so","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-20T00:26:18.037Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T00:26:18.029Z","components":{"code":{"score":25,"max":25,"notes":["29 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@ni-c/ntfy-mcp","version":"0.3.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":6,"publishedAt":"2026-09-07T20:16:32.542Z","repositoryUrl":"git+https://github.com/ni-c/ntfy-mcp.git","weeklyDownloads":35}],"repo":{"found":true,"owner":"ni-c","repo":"ntfy-mcp","archived":false,"pushedAt":"2026-09-19T22:36:54Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/283341?v=4","ownerCreatedAt":"2010-05-21T13:00:22Z","license":"MIT"},"icon":{"url":"https://ntfy-mcp.ni-c.de/favicon.svg","source":"site"},"presence":{"stars":0,"forks":0,"downloadsWeek":35,"license":"MIT","lastPushAt":"2026-09-19T22:36:54.000Z","score":26}}}},"grade_history":[],"reviews":[]}