io.github.cyanheads

ntfy-mcp-server

Send, manage, and replay ntfy push notifications via MCP.

communityservice

Package Details

Transportstdio
Runtimebun

Package Arguments

Positional
Position 0
run
Position 1
start:stdio

Environment Variables

NTFY_SERVERS(str)

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.

NTFY_BASE_URL(str)
Default:https://ntfy.sh

Single-server shorthand — base URL of the ntfy server (no trailing slash). Used when NTFY_SERVERS is unset.

NTFY_DEFAULT_TOPIC(str)

Topic used when a tool call omits `topic`. Treat the topic name as a secret — anyone who knows it can publish or subscribe.

NTFY_AUTH_TOKEN(str)

Bearer access token (`tk_…`) for the single-server shorthand. Mutually exclusive with NTFY_AUTH_USERNAME / NTFY_AUTH_PASSWORD.

NTFY_AUTH_USERNAME(str)

Basic-auth username for the single-server shorthand — must be set together with NTFY_AUTH_PASSWORD.

NTFY_AUTH_PASSWORD(str)

Basic-auth password for the single-server shorthand — must be set together with NTFY_AUTH_USERNAME.

NTFY_REQUEST_TIMEOUT_MS(str)
Default:15000

Per-request HTTP timeout in milliseconds.

NTFY_MAX_RETRIES(str)
Default:3

Max retry attempts for transient upstream failures (5xx, network, 429).

MCP_LOG_LEVEL(str)
Default:info

Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

LOGS_DIR(str)
Default:./logs

Directory for file-based logs (Node only; ignored on Workers).

OTEL_ENABLED(str)
Default:false

Enable OpenTelemetry instrumentation (spans, metrics, completion logs).

TransportStreamable HTTP
Runtimebun

Package Arguments

Positional
Position 0
run
Position 1
start:http

Environment Variables

NTFY_SERVERS(str)

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.

NTFY_BASE_URL(str)
Default:https://ntfy.sh

Single-server shorthand — base URL of the ntfy server (no trailing slash). Used when NTFY_SERVERS is unset.

NTFY_DEFAULT_TOPIC(str)

Topic used when a tool call omits `topic`. Treat the topic name as a secret — anyone who knows it can publish or subscribe.

NTFY_AUTH_TOKEN(str)

Bearer access token (`tk_…`) for the single-server shorthand. Mutually exclusive with NTFY_AUTH_USERNAME / NTFY_AUTH_PASSWORD.

NTFY_AUTH_USERNAME(str)

Basic-auth username for the single-server shorthand — must be set together with NTFY_AUTH_PASSWORD.

NTFY_AUTH_PASSWORD(str)

Basic-auth password for the single-server shorthand — must be set together with NTFY_AUTH_USERNAME.

NTFY_REQUEST_TIMEOUT_MS(str)
Default:15000

Per-request HTTP timeout in milliseconds.

NTFY_MAX_RETRIES(str)
Default:3

Max retry attempts for transient upstream failures (5xx, network, 429).

MCP_SESSION_MODE(str)
Default:auto

HTTP session model: 'stateless', 'stateful', or 'auto'.

MCP_HTTP_HOST(str)
Default:127.0.0.1

The hostname for the HTTP server.

MCP_HTTP_PORT(str)
Default:3010

The port to run the HTTP server on.

MCP_HTTP_ENDPOINT_PATH(str)
Default:/mcp

The endpoint path for the MCP server.

MCP_AUTH_MODE(str)
Default:none

Authentication mode to use: 'none', 'jwt', or 'oauth'.

MCP_LOG_LEVEL(str)
Default:info

Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

LOGS_DIR(str)
Default:./logs

Directory for file-based logs (Node only; ignored on Workers).

OTEL_ENABLED(str)
Default:false

Enable OpenTelemetry instrumentation (spans, metrics, completion logs).