ntfy-me-mcp
This server allows sending real-time notifications via ntfy with rich features and customization options.
Rich Notifications: Send notifications with titles, summaries, and priority levels (min, low, default, high, max)
Formatting Options: Support for Markdown text formatting
Customization: Add tags and emojis, specify custom topics and URLs
Security: Secure notifications with optional access tokens
Integration: Works with public or self-hosted ntfy servers
Smart Features: Automatic URL detection for clickable links
Provides containerized deployment option with official Docker images available on Docker Hub and GitHub Container Registry for running the server in a containerized environment.
Allows configuration of the server using environment variables stored in .env files, supporting settings for notification topics, server URLs, and authentication tokens.
Supports rich text formatting in notifications, with automatic detection and rendering of markdown syntax for creating formatted lists, code blocks, links, tables, and other text styling.
Enables sending real-time push notifications to devices through the ntfy service (public or self-hosted). Supports rich notifications with customizable titles, priorities, emoji tags, and markdown formatting.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ntfy-me-mcpnotify me when the backup is complete"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ntfy-me-mcp
A streamlined Model Context Protocol (MCP) server for sending notifications via ntfy service (public or selfhosted with token support) 📲
Overview
ntfy-me-mcp provides AI assistants with the ability to send real-time notifications to your devices through the ntfy.sh service (either public or selfhosted with token support). Get notified when your AI completes tasks, encounters errors, or reaches important milestones - all without constant monitoring.
The server includes intelligent features like automatic URL detection for creating view actions and smart markdown formatting detection, making it easier for AI assistants to create rich, interactive notifications without extra configuration.
Related MCP server: ntfy-mcp-server
Features
🚀 Quick Setup: Run with npx or docker!
🔔 Real-time Notifications: Get updates on your phone/desktop when tasks complete
🎨 Rich Notifications: Support for topic, title, priorities, emoji tags, and detailed messages
🔍 Notification Fetching: Fetch and filter cached messages from your ntfy topics
🎯 Smart Action Links: Automatically detects URLs in messages and creates view actions
📄 Intelligent Markdown: Auto-detects and enables markdown formatting when present
🔒 Secure: Optional authentication with access tokens
🔑 Input Masking: Securely store your ntfy token in your vs config!
🌐 Self-hosted Support: Works with both ntfy.sh and self-hosted ntfy instances
Coming soon...
📨 Email: Send notifications to email (requires ntfy email server configuration)
🔗 Click urls: Ability to customize click urls
🖼️ Image urls: Intelligent image url detection to automatically include image urls in messages and notifications
🏁 and more!
Table of Contents
Quickstart - MCP Server Configuration
Choose the config shape that matches your client. All examples below use NTFY_TOPIC as the required variable and keep the optional auth settings commented out until you need them.
Configuration Examples
Installation
If you need to install and run the server directly (alternative to the MCP configuration above):
Setting Up the Notification Receiver
Install the ntfy app on your device
or deploy your own ntfy server: https://docs.ntfy.sh/install/
Subscribe to your chosen topic (the same as your
NTFY_TOPICsetting)
Configuration
Environment Variables
Create a .env file by copying the example: cp .env.example .env — see .env.example for reference.
Variable | Required | Default | Description |
| Yes | — | The ntfy topic to publish notifications to |
| No |
| ntfy server URL — change this for self-hosted instances (include port if needed, e.g. |
| No | — | Access token for protected topics or private servers |
Authentication
This MCP server supports both authenticated and unauthenticated ntfy endpoints:
Public Topics: When using public topics on ntfy.sh or other public servers, no authentication is required.
Protected Topics:
For protected topics or private servers, you need to provide an access token via
NTFY_TOKENenv variable or in theaccessTokenparameter of the tool.If authentication is required but not provided, you'll receive a clear error message explaining how to add your token.
Secure Token Handling (vscode)
If your client supports prompt-based secret inputs (i.e. VS Code), prefer that over hardcoding
NTFY_TOKENin config files. (Otherwise use your token directly)Use matching values like this in your
mcp.jsonfile:
// Add this to your VS Code `mcp.json` file, either the user-level file or your workspace `.vscode/mcp.json`
// Set `NTFY_TOKEN` exactly to `"${input:ntfy_token}"` when you want VS Code to treat it as a secure prompt-backed value.
{
"inputs": [
{
"type": "promptString",
"id": "ntfy_token",
"description": "Ntfy Token",
"password": true
}
],
"servers": {
"ntfy-me-mcp": {
"command": "npx",
"args": ["-y", "ntfy-me-mcp"],
"env": {
"NTFY_TOPIC": "your-ntfy-topic",
"NTFY_URL": "https://your-ntfy-server.com",
"NTFY_TOKEN": "${input:ntfy_token}"
}
}
}
}Field | Value | Purpose |
|
| References the secure prompt-backed token value |
|
| Defines the input name used by |
|
| Prompts the user for the token at runtime |
If the client resolves
"${input:ntfy_token}"before launch, the server receives the real token directly. If the placeholder is passed through unchanged, ntfy-me-mcp detects that unresolved input reference and prompts for the token itself at startup.Since
v1.4.0+, thePROTECTED_TOPICenv has been removed. This handling is now auto-detected from the unresolvedNTFY_TOKENinput reference instead.
Tools & Usage
ntfy_me: Sending Notifications
Using Natural Language
When working with your AI assistant, you can use natural phrases to request notifications:
"ntfyme with a summary of the task when complete"
"Send me a notification when the build is complete"
"Notify me when the task is done"
"Alert me after generating the code"
"Message me when the process finishes"
"Send an alert with high priority"Example Usage
Message Parameters
ntfy_me_fetch: Polling Notifications
Using Natural Language
AI assistants understand various ways to request message fetching:
"Show me my recent notifications"
"Get messages from the last hour"
"Find notifications with title 'Build Complete'"
"Search for messages with the test_tube tag"
"Show notifications from the updates topic from the last 24hr"
"Check my latest alerts"Example Usage
Fetch Parameters
Development & Contributions
Contributions are welcome! Please see CONTRIBUTING.md, which include general guidelines, setup steps, etc.
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Made with ❤️ by gitmotion
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gitmotion/ntfy-me-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server