NTFY MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NTFY_SINCE | No | Initial backlog cursor | 1h |
| NTFY_TOPIC | No | Topic to send/receive messages (required) | |
| NTFY_BASE_URL | No | ntfy server URL | https://ntfy.sh |
| NTFY_DATA_DIR | No | Directory for data files (logs, cache, lock) | ~/.nfty-mcp-server/ |
| NTFY_PASSWORD | No | Password for basic auth | |
| NTFY_USERNAME | No | Username for basic auth | |
| NTFY_AUTH_TOKEN | No | Bearer token for protected topics | |
| NTFY_CACHE_FILE | No | Custom path for message cache file | |
| NTFY_KILL_EXISTING | No | Kill existing server instances | true |
| NTFY_CLEAN_ON_STARTUP | No | Clear logs/cache on startup | true |
| NTFY_FETCH_TIMEOUT_MS | No | Fetch timeout in milliseconds | 10000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| send-ntfyA | Publish a message to the configured ntfy topic (set in mcp.json). Supports optional title, priority (1-5), tags, and attachUrl. After sending, use wait-and-read-inbox to wait for responses. |
| set-ntfy-topicB | Change the ntfy topic for this MCP server session (no restart needed). |
| wait-and-read-inboxA | Waits for new messages on the configured topic (set in mcp.json) and returns when a new message arrives. Does not return until at least one new message is received. Uses the existing subscription. Note: The MCP protocol has a ~60s client-side timeout that cannot be controlled from the server, but this tool will wait as long as possible within that limit. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| check-inbox | Checks the ntfy inbox for recent messages without waiting. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| inbox | Latest messages for the configured topic at https://ntfy.sh. Topic must be set via set-ntfy-topic first. |
TDQS
Scored across 3 tools
Each tool serves a distinct purpose: sending messages, changing topic, and waiting for incoming messages. No overlap, clear boundaries.
Tool names mix patterns: 'send-ntfy' and 'set-ntfy-topic' use verb-ntfy, but 'wait-and-read-inbox' uses a different structure with 'and'. Inconsistent naming conventions.
Three tools is appropriate for a focused notification server: send, configure topic, and receive. Each tool is necessary and none are redundant.
Core publish/subscribe functionality is covered with send and wait. The set-topic tool adds flexibility. A minor gap is lack of explicit unsubscribe or message history, but not essential for core use.