Skip to content

cyanheads/ntfy-mcp-server

v2.4.0Apache-2.0

Send, manage, and replay ntfy push notifications via MCP. STDIO or Streamable HTTP.

Changelog

All notable changes to this project. Each entry links to its full per-version file in changelog/.

2.4.0 — 2026-10-29

Publishes the ntfy-guide skill as skill://ntfy-guide/SKILL.md. A 5xx with a Retry-After the call cannot wait out fails fast as upstream_unreachable, and a failed read of a 2xx reply is upstream_malformed and never resends a publish, clear, or delete. Error labels follow ntfy's own codes; fetch caps each topic at 64 characters.

2.3.7 — 2026-10-14

ntfy_fetch_messages pages through a whole window with a cursor and reports ntfy's replay cap; damaged ntfy replies fail with upstream_malformed instead of a short list, and ntfy round trips settle within 50 s; blank filters no longer widen a query; ntfy values render as literal text; NTFY_ENABLE_EMOJI_TAGS added.

2.3.6 — 2026-10-07 · 🛡️ Security

Consent prompts on ntfy_manage_message and gated ntfy_publish_message act only on an answer to a prompt the server recorded, single-use and bound to the exact request; mcp-ts-core 0.13.6 → 0.13.13 adds request ids to tool errors and fixes the registry HTTP entry.

2.3.5 — 2026-09-21

mcp-ts-core 0.13.6 brings structured consent-refusal and argument-rejection errors, drops the upstream request URL from unclassified error data, and normalizes sequence_id-style argument variants before validation.

2.3.4 — 2026-09-16

HTTP now refuses to start under a stateless session, since the consent gate needs a live session to complete. Blank and unsubstituted ${…} placeholder NTFY_* values read as unset instead of failing or forwarding the literal text. Development skills move from skills/ to framework-skills/.

2.3.3 — 2026-09-04

Recognizes retry-exhausted upstream 5xx failures again under mcp-ts-core 0.12.4's reclassified error codes, and reports a cancelled ntfy request as cancelled instead of a retryable upstream fault

2.3.2 — 2026-08-22

The Docker build stage runs on the build host's platform, so the multi-arch image publishes again — 2.3.1 shipped to npm and the registry but no container image

2.3.1 — 2026-08-22 · ⚠️ Breaking

Adopts mcp-ts-core 0.12.3 and MCP SDK v2: the consent gate becomes a multi-round-trip request that now reaches Streamable HTTP clients, tool inputs turn strict, and the advertised outputSchema declares the error envelope

2.3.0 — 2026-07-29 · ⚠️ Breaking · 🛡️ Security

SSRF guard for base_url overrides and a consent gate on destructive/side-effect ntfy_manage_message and ntfy_publish_message calls

2.2.1 — 2026-07-29

ntfy_fetch_messages returns the newest window, single-message id fetches skip truncation, priority validation collapses to one error, and emoji-tag search pages past its cap

2.2.0 — 2026-07-29 · ⚠️ Breaking

ntfy://{topic} resource timestamps become ISO 8601 and body-truncated to match ntfy_fetch_messages; ntfy_publish_message's message limit is enforced by byte length; five error-classification and message-ordering fixes; framework ^0.11.0.

2.1.1 — 2026-06-11

Adopt @cyanheads/mcp-ts-core ^0.10.6 — server identity pair, MCPB bundle cleaner, root-anchored .mcpbignore, plus dep bumps and identity-consistency fixes.

2.1.0 — 2026-05-30

Enrichment channel on read tools, error-code refinement, MCPB bundling, plugin manifests, framework ^0.9.16, and dev-dep bumps.

2.0.1 — 2026-05-16

Adopts @cyanheads/mcp-ts-core ^0.9.1: URL string fields drop format: uri for OpenAI/Gemini portability, server instructions field added, devcheck bun outdated parser fixed.

2.0.0 — 2026-05-09 · ⚠️ Breaking

Major rewrite on @cyanheads/mcp-ts-core. New 4-tool surface (publish, manage, fetch, emoji search), topic snapshot resource, multi-server NTFY_SERVERS registry. Breaking changes from 1.x; NTFY_API_KEY accepted as a deprecated alias.

1.0.6 — 2025-05-05

Added Smithery deploy config; refreshed Dockerfile, env config, docs, and dependencies. (Note: 1.0.5 was skipped.)

1.0.4 — 2025-04-23

Version metadata fix and tree.ts script housekeeping.

1.0.3 — 2025-04-23

Consolidated configuration, refactored logger, expanded ntfy resource, dropped echo example.

1.0.2 — 2025-03-27

send_ntfy description surfaces default topic; remaining console output routed through the structured logger.

1.0.1 — 2025-03-27

README polish.

1.0.0 — 2025-03-27

Initial release — send_ntfy tool and ntfy topic resource backed by a publish service.