ntfy-mcp-server in namespace io.github
Local package path declaredNo credentials listedRepository declared by sourceUpdated 2026-10-07
io.github.cyanheads/ntfy-mcp-server · Registry status: active
No name of its own reaches this register for this entry. The heading therefore carries the trailing segment of the identifier; the identifier itself is listed below as a coordinate.
At a glance
Send, manage, and replay ntfy push notifications via MCP.
Vendor's own description, untranslated and unverified
- Execution location
- Local package path declaredMCP-Register · 2026-08-06
- Required secrets declared
- No credentials listedMCP-Register · 2026-08-06
- Declared version and change
2.3.6· Source-reported change date 2026-10-07MCP-Register · 2026-10-08- Repository as declared
- github.com/cyanheads/ntfy-mcp-serverMCP-Register · 2026-08-06
- Configuration
- can be built from the disclosed start template
Inspect connection paths and prerequisites
Related categories
- MCP servers without declared required secrets35,800
- Locally executed MCP servers17,056
- MCP servers with a repository URL30,107
- Local MCP servers without declared required secrets13,238
- Local MCP servers with a repository URL16,152
- MCP servers over stdio and streamable-http1,921
6 of 8 categories. All categories in the segment catalogue
Page last changed:
Sources and collection
- Runs
- Local package path declared
- Credentials
- No credentials listed
- Registry record changed
- 2026-10-07
- Setup
- Template available
- Registry name
io.github.cyanheads/ntfy-mcp-server- Package coordinate
npm:ntfy-mcp-server- Declared version
2.3.6- Source-reported listing date
- 2026-10-07
- Source-reported change date
- 2026-10-07
- First seen by tracevero
- 2026-08-06
- Vendor's website
- https://github.com/cyanheads/ntfy-mcp-server
Evidence for this page: The values on this page come from several collections. Each row therefore states its own origin. What the confidence levels mean
Measured values
| Required secrets declared | No credentials listed no Original data – Required secret variables (raw): confirmed absent Original data – Required secret headers (raw): confirmed absent Source: MCP-Register · collected on 2026-08-06 · derived |
|---|---|
| Execution location | Local package path declared local Original data – Transports (raw): stdio, streamable-http Source: MCP-Register · collected on 2026-08-06 · derived |
| Path argument present | no Original data – Path arguments (raw): confirmed absent Original data – Path environment variables (raw): confirmed absent Source: MCP-Register · collected on 2026-08-06 · derived |
| Repository URL listed | Repository declared by source yes Original data – Repository (raw): https://github.com/cyanheads/ntfy-mcp-server Source: MCP-Register · collected on 2026-08-06 · derived |
| Declared version | 2.3.6 Source: MCP-Register · collected on 2026-10-08 · self-declared |
What is measured is what a manifest declares, not what a piece of software does. This registry fetches no repository URL, no endpoint and no package index; nothing here is verified. Which value comes from which source, and by which rule it was formed, is set out in the Methodology.
Source data25
Evidence for this page: The values on this page come from several collections. Each row therefore states its own origin.
| Description (raw) | Send, manage, and replay ntfy push notifications via MCP. Source: MCP-Register · collected on 2026-08-26 · self-declared |
|---|---|
| Environment variables (raw) | NTFY_SERVERS, NTFY_BASE_URL, NTFY_DEFAULT_TOPIC, NTFY_AUTH_TOKEN, NTFY_AUTH_USERNAME, NTFY_AUTH_PASSWORD, NTFY_REQUEST_TIMEOUT_MS, NTFY_MAX_RETRIES, NTFY_BLOCK_PRIVATE_HOSTS, MCP_LOG_LEVEL, LOGS_DIR, OTEL_ENABLED, MCP_TRANSPORT_TYPE, NTFY_SERVERS, NTFY_BASE_URL, NTFY_DEFAULT_TOPIC, NTFY_AUTH_TOKEN, NTFY_AUTH_USERNAME, NTFY_AUTH_PASSWORD, NTFY_REQUEST_TIMEOUT_MS, NTFY_MAX_RETRIES, NTFY_BLOCK_PRIVATE_HOSTS, MCP_SESSION_MODE, MCP_HTTP_HOST, MCP_HTTP_PORT, MCP_HTTP_ENDPOINT_PATH, MCP_AUTH_MODE, MCP_REQUEST_STATE_KEY, MCP_LOG_LEVEL, LOGS_DIR, OTEL_ENABLED Source: MCP-Register · collected on 2026-10-08 · self-declared |
| Required secret variables (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Transports (raw) | stdio, streamable-http Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Path arguments (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Repository (raw) | https://github.com/cyanheads/ntfy-mcp-server Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Package registries (raw) | npm, npm Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Required secret headers (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Path environment variables (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Remote URLs (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Remote hosts (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Registry status message (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| First listed in the registry (raw) | 2026-10-07 Source: MCP-Register · collected on 2026-10-08 · self-declared |
| Last changed in the registry (raw) | 2026-10-07 Source: MCP-Register · collected on 2026-10-08 · self-declared |
| Schema version of the raw record (raw) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Delivery form (raw) | package Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Repository platform (raw) | github Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Repository subfolder (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Package identifiers (raw) | ntfy-mcp-server Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Package versions (raw) | 2.3.6 Source: MCP-Register · collected on 2026-10-08 · self-declared |
| Runtime hints (raw) | npx Source: MCP-Register · collected on 2026-10-08 · self-declared |
| Environment variable formats (raw) | string Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Environment variable descriptions (raw) | LOGS_DIR=Directory for file-based logs (Node only; ignored on Workers). · MCP_AUTH_MODE=Authentication mode to use: 'none', 'jwt', or 'oauth'. · MCP_HTTP_ENDPOINT_PATH=The endpoint path for the MCP server. · MCP_HTTP_HOST=The hostname for the HTTP server. · MCP_HTTP_PORT=The port to run the HTTP server on. · MCP_LOG_LEVEL=Sets the minimum log level for output (e.g., 'debug', 'info', 'warn'). · MCP_REQUEST_STATE_KEY=Recommended for HTTP. Key (>= 32 bytes, the same on every instance) that seals the requestState carrying the consent-record id of a confirmation prompt, bound to the caller for 900 s; a forged, tampered, or expired state is rejected before the handler runs. · 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_TRANSPORT_TYPE=Selects the HTTP transport. · NTFY_AUTH_PASSWORD=Basic-auth password for the single-server shorthand — must be set together with NTFY_AUTH_USERNAME. · 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_BASE_URL=Single-server shorthand — base URL of the ntfy server (no trailing slash). Used when NTFY_SERVERS is unset. · 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. · 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_MAX_RETRIES=Max retry attempts for transient upstream failures (5xx, network, 429). · NTFY_REQUEST_TIMEOUT_MS=Per-request HTTP timeout in milliseconds. · 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. · OTEL_ENABLED=Enable OpenTelemetry instrumentation (spans, metrics, completion logs). Source: MCP-Register · collected on 2026-10-08 · self-declared |
| Icon formats (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Connection paths (source structure) | {"packages":[{"registryType":"npm","identifier":"ntfy-mcp-server","version":"2.3.6","runtimeHint":"npx","transport":"stdio","environment":[{"name":"NTFY_SERVERS","description":"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.","format":"string","required":false,"secret":false},{"name":"NTFY_BASE_URL","description":"Single-server shorthand — base URL of the ntfy server (no trailing slash). Used when NTFY_SERVERS is unset.","format":"string","required":false,"secret":false},{"name":"NTFY_DEFAULT_TOPIC","description":"Topic used when a tool call omits `topic`. Treat the topic name as a secret — anyone who knows it can publish or subscribe.","format":"string","required":false,"secret":false},{"name":"NTFY_AUTH_TOKEN","description":"Bearer access token (`tk_…`) for the single-server shorthand. Mutually exclusive with NTFY_AUTH_USERNAME / NTFY_AUTH_PASSWORD.","format":"string","required":false,"secret":false},{"name":"NTFY_AUTH_USERNAME","description":"Basic-auth username for the single-server shorthand — must be set together with NTFY_AUTH_PASSWORD.","format":"string","required":false,"secret":false},{"name":"NTFY_AUTH_PASSWORD","description":"Basic-auth password for the single-server shorthand — must be set together with NTFY_AUTH_USERNAME.","format":"string","required":false,"secret":false},{"name":"NTFY_REQUEST_TIMEOUT_MS","description":"Per-request HTTP timeout in milliseconds.","format":"string","required":false,"secret":false},{"name":"NTFY_MAX_RETRIES","description":"Max retry attempts for transient upstream failures (5xx, network, 429).","format":"string","required":false,"secret":false},{"name":"NTFY_BLOCK_PRIVATE_HOSTS","description":"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.","format":"string","required":false,"secret":false},{"name":"MCP_LOG_LEVEL","description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","required":false,"secret":false},{"name":"LOGS_DIR","description":"Directory for file-based logs (Node only; ignored on Workers).","format":"string","required":false,"secret":false},{"name":"OTEL_ENABLED","description":"Enable OpenTelemetry instrumentation (spans, metrics, completion logs).","format":"string","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"npm","identifier":"ntfy-mcp-server","version":"2.3.6","runtimeHint":"npx","transport":"streamable-http","environment":[{"name":"MCP_TRANSPORT_TYPE","description":"Selects the HTTP transport.","format":"string","required":false,"secret":false},{"name":"NTFY_SERVERS","description":"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.","format":"string","required":false,"secret":false},{"name":"NTFY_BASE_URL","description":"Single-server shorthand — base URL of the ntfy server (no trailing slash). Used when NTFY_SERVERS is unset.","format":"string","required":false,"secret":false},{"name":"NTFY_DEFAULT_TOPIC","description":"Topic used when a tool call omits `topic`. Treat the topic name as a secret — anyone who knows it can publish or subscribe.","format":"string","required":false,"secret":false},{"name":"NTFY_AUTH_TOKEN","description":"Bearer access token (`tk_…`) for the single-server shorthand. Mutually exclusive with NTFY_AUTH_USERNAME / NTFY_AUTH_PASSWORD.","format":"string","required":false,"secret":false},{"name":"NTFY_AUTH_USERNAME","description":"Basic-auth username for the single-server shorthand — must be set together with NTFY_AUTH_PASSWORD.","format":"string","required":false,"secret":false},{"name":"NTFY_AUTH_PASSWORD","description":"Basic-auth password for the single-server shorthand — must be set together with NTFY_AUTH_USERNAME.","format":"string","required":false,"secret":false},{"name":"NTFY_REQUEST_TIMEOUT_MS","description":"Per-request HTTP timeout in milliseconds.","format":"string","required":false,"secret":false},{"name":"NTFY_MAX_RETRIES","description":"Max retry attempts for transient upstream failures (5xx, network, 429).","format":"string","required":false,"secret":false},{"name":"NTFY_BLOCK_PRIVATE_HOSTS","description":"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.","format":"string","required":false,"secret":false},{"name":"MCP_SESSION_MODE","description":"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.","format":"string","required":false,"secret":false},{"name":"MCP_HTTP_HOST","description":"The hostname for the HTTP server.","format":"string","required":false,"secret":false},{"name":"MCP_HTTP_PORT","description":"The port to run the HTTP server on.","format":"string","required":false,"secret":false},{"name":"MCP_HTTP_ENDPOINT_PATH","description":"The endpoint path for the MCP server.","format":"string","required":false,"secret":false},{"name":"MCP_AUTH_MODE","description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","required":false,"secret":false},{"name":"MCP_REQUEST_STATE_KEY","description":"Recommended for HTTP. Key (>= 32 bytes, the same on every instance) that seals the requestState carrying the consent-record id of a confirmation prompt, bound to the caller for 900 s; a forged, tampered, or expired state is rejected before the handler runs.","format":"string","required":false,"secret":true},{"name":"MCP_LOG_LEVEL","description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","required":false,"secret":false},{"name":"LOGS_DIR","description":"Directory for file-based logs (Node only; ignored on Workers).","format":"string","required":false,"secret":false},{"name":"OTEL_ENABLED","description":"Enable OpenTelemetry instrumentation (spans, metrics, completion logs).","format":"string","required":false,"secret":false}],"additional_arguments_declared":false}],"remotes":[]} Source: MCP-Register · collected on 2026-10-08 · self-declared |
Embed this badge
Paste this line into a README of your own. The badge states how many values the registry holds for the entry and when it last looked, and it links back to this page.
[](https://tracevero.com/mcp/io-github-cyanheads-ntfy-mcp-server)
The image is drawn again on every request, so it always reports the current state while the pasted line stays as it is. It carries no rating and no traffic light – only the two measured figures.
Changes
| 2026-10-08 | Declared version: 2.3.5 → 2.3.6 |
|---|---|
| 2026-10-08 | Last changed in the registry (raw): 2026-09-22 → 2026-10-07 |
| 2026-10-08 | First listed in the registry (raw): 2026-09-22 → 2026-10-07 |
These are the 3 most recent changes to this entry. Full history
tracevero · https://tracevero.com/mcp/io-github-cyanheads-ntfy-mcp-server