Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

ยฉ 2026 TrackMCP. All rights reserved.

Built with โค๏ธ by Krishna Goyal

    Ntfy Me Mcp

    An ntfy MCP server for sending/fetching ntfy notifications to any/self-hosted ntfy.sh server from AI Agents ๐Ÿ“ค (supports secure token auth & more - use with npx or docker!)

    46 stars
    JavaScript
    Updated Oct 29, 2025
    agent
    ai
    claude
    docker
    llm
    llm-agent
    mcp
    modelcontextprotocol
    notifications
    npm
    npx
    ntfy
    ntfy-mcp
    ntfy-mcp-server
    ntfy-me-mcp
    ntfymcp
    ntfysh
    vscode

    Table of Contents

    • Overview
    • Available via:
    • Table of Contents
    • Features
    • (Coming soon...)
    • Quickstart - MCP Server Configuration
    • NPM / NPX (Recommended Method)
    • Minimal configuration (for public topics on ntfy.sh)
    • Full configuration (for private servers or protected topics)
    • Option 1: Direct token in configuration
    • Option 2: Using VS Code inputs for secure token handling (recommended)
    • Docker
    • Using with MCP in Docker
    • Installation
    • Option 1: Install globally
    • Option 2: Run with npx
    • Option 3: Install locally
    • Option 4: Build and use locally with node command
    • Using locally built server with MCP
    • Option 5: MCP Marketplace installations
    • Installing via Smithery
    • Configuration
    • Environment Variables
    • Usage
    • Authentication
    • Setting Up the Notification Receiver
    • Sending Notifications (ntfy_me tool)
    • Using Natural Language
    • Message Parameters
    • Action Links
    • Emoji Shortcodes
    • Markdown Formatting
    • Retrieving Messages (ntfy_me_fetch tool)
    • Using Natural Language
    • Message Parameters
    • Examples
    • Development & Contributions
    • Building from Source
    • License
    • Contributing

    Table of Contents

    • Overview
    • Available via:
    • Table of Contents
    • Features
    • (Coming soon...)
    • Quickstart - MCP Server Configuration
    • NPM / NPX (Recommended Method)
    • Minimal configuration (for public topics on ntfy.sh)
    • Full configuration (for private servers or protected topics)
    • Option 1: Direct token in configuration
    • Option 2: Using VS Code inputs for secure token handling (recommended)
    • Docker
    • Using with MCP in Docker
    • Installation
    • Option 1: Install globally
    • Option 2: Run with npx
    • Option 3: Install locally
    • Option 4: Build and use locally with node command
    • Using locally built server with MCP
    • Option 5: MCP Marketplace installations
    • Installing via Smithery
    • Configuration
    • Environment Variables
    • Usage
    • Authentication
    • Setting Up the Notification Receiver
    • Sending Notifications (ntfy_me tool)
    • Using Natural Language
    • Message Parameters
    • Action Links
    • Emoji Shortcodes
    • Markdown Formatting
    • Retrieving Messages (ntfy_me_fetch tool)
    • Using Natural Language
    • Message Parameters
    • Examples
    • Development & Contributions
    • Building from Source
    • License
    • Contributing

    Documentation

    ntfy-me-mcp

    TypeScript

    Model Context Protocol

    NPM Version

    Docker Image Version

    License

    GitHub

    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 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.

    Available via:

    NameLink / Badge
    Glama.ai
    Smithery.aismithery badge
    MseeP.ai
    Archestra.aiTrust Score

    Table of Contents

    • Features
    • Coming soon...
    • Quickstart - MCP Server Configuration
    • NPM / NPX (Recommended Method)
    • Minimal Configuration
    • Full Configuration
    • Option 1: Direct Token
    • Option 2: VS Code Inputs
    • Docker
    • Using with MCP in Docker
    • Installation
    • Option 1: Install Globally
    • Option 2: Run with npx
    • Option 3: Install Locally
    • Option 4: Build and Use Locally
    • Using locally built server with MCP
    • Option 5: MCP Marketplace Installations
    • Configuration
    • Environment Variables
    • Usage
    • Authentication
    • Setting Up the Notification Receiver
    • Sending Notifications (ntfy_me tool)
    • Using Natural Language
    • Message Parameters
    • Action Links
    • Emoji Shortcodes
    • Markdown Formatting
    • Retrieving Messages (ntfy_me_fetch tool)
    • Using Natural Language
    • Message Parameters
    • Examples
    • Development
    • Building from Source
    • License
    • Contributing

    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!

    Quickstart - MCP Server Configuration

    NPM / NPX (Recommended Method)

    • Requires npm / npx installed on your system.
    • This method is recommended for most users as it provides a simple & lightweight method to set up the server.

    For the easiest setup with MCP-compatible assistants, add this to your MCP configuration:

    Minimal configuration (for public topics on ntfy.sh)

    json
    {
      "ntfy-me-mcp": {
        "command": "npx",
        "args": ["ntfy-me-mcp"],
        "env": {
          "NTFY_TOPIC": "your-topic-name"
        }
      }
    }

    Full configuration (for private servers or protected topics)

    Option 1: Direct token in configuration

    json
    {
      "ntfy-me-mcp": {
        "command": "npx",
        "args": ["ntfy-me-mcp"],
        "env": {
          "NTFY_TOPIC": "your-topic-name",
          "NTFY_URL": "https://your-ntfy-server.com",
          "NTFY_TOKEN": "your-auth-token" // Use if using a protected topic/server
        }
      }
    }

    Option 2: Using VS Code inputs for secure token handling (recommended)

    Add this to your VS Code settings.json file:

    json
    "mcp": {
      "inputs": [
        { // Add this to your inputs array
          "type": "promptString",
          "id": "ntfy_token",
          "description": "Ntfy Token",
          "password": true
        }
      ],
      "servers": {
        // Other servers...
        "ntfy-me-mcp": {
          "command": "npx",
          "args": ["ntfy-me-mcp"],
          "env": {
            "NTFY_TOPIC": "your-topic-name",
            "NTFY_URL": "https://your-ntfy-server.com",
            "NTFY_TOKEN": "${input:ntfy_token}", // Use the input id variable for the token
            "PROTECTED_TOPIC": "true" // Prompts for token and masks it in your config
          }
        }
      }
    }

    With this setup, VS Code will prompt you for the token when starting the server and the token will be masked when entered.

    Docker

    Using with MCP in Docker

    • Requires Docker installed on your system.
    • This method is useful for running the server in a containerized environment.
    • You can use the official Docker images available on Docker Hub or GitHub Container Registry.

    Docker Images:

    • gitmotion/ntfy-me-mcp:latest (Docker Hub)
    • ghcr.io/gitmotion/ntfy-me-mcp:latest (GitHub Container Registry)

    In your MCP configuration (e.g., VS Code settings.json):

    json
    "mcp": {
      "servers": {
        "ntfy-mcp": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "-e",
            "NTFY_TOPIC",
            "-e",
            "NTFY_URL",
            "-e",
            "NTFY_TOKEN",
            "-e",
            "PROTECTED_TOPIC",
            "gitmotion/ntfy-me-mcp", // OR use ghcr.io/gitmotion/ntfy-me-mcp:latest
          ],
          "env": {
            "NTFY_TOPIC": "your-topic-name",
            "NTFY_URL": "https://your-ntfy-server.com",
            "NTFY_TOKEN": "${input:ntfy_token}",
            "PROTECTED_TOPIC": "true"
          }
        }
      }
    }

    Installation

    If you need to install and run the server directly (alternative to the MCP configuration above):

    Option 1: Install globally

    bash
    npm install -g ntfy-me-mcp

    Option 2: Run with npx

    bash
    npx ntfy-me-mcp

    Option 3: Install locally

    bash
    # Clone the repository
    git clone https://github.com/gitmotion/ntfy-me-mcp.git
    cd ntfy-me-mcp
    
    # Install dependencies
    npm install
    
    # Copy the example environment file and configure it
    cp .env.example .env
    # Edit .env with your preferred editor and update the variables
    # nano .env  # or use your preferred editor
    
    # Build the project
    npm run build
    
    # Start the server
    npm start

    Option 4: Build and use locally with node command

    If you're developing or customizing the server, you might want to run it directly with node:

    bash
    # Clone the repository
    git clone https://github.com/gitmotion/ntfy-me-mcp.git
    cd ntfy-me-mcp
    
    # Install dependencies
    npm install
    
    # Copy the example environment file and configure it
    cp .env.example .env
    # Edit the .env file to set your NTFY_TOPIC and other optional settings
    # nano .env  # or use your preferred editor
    
    # Build the project
    npm run build
    
    # Run using node directly
    npm start

    Using locally built server with MCP

    When configuring your MCP to use a locally built version, specify the node command and path to the built index.js file:

    json
    {
      "ntfy-me": {
        "command": "node",
        "args": ["/path/to/ntfy-mcp/build/index.js"],
        "env": {
          "NTFY_TOPIC": "your-topic-name"
          //"NTFY_URL": "https://your-ntfy-server.com", // Use if using a self-hosted server
          //"NTFY_TOKEN": "your-auth-token" // Use if using a protected topic/server
        }
      }
    }

    Remember to use the absolute path to your build/index.js file in the args array.

    Option 5: MCP Marketplace installations

    Installing via Smithery

    To install ntfy-me-mcp for Claude Desktop automatically via Smithery:

    bash
    npx -y @smithery/cli install @gitmotion/ntfy-me-mcp --client claude

    Configuration

    Environment Variables

    Create a .env file in your project directory by copying the provided example:

    bash
    # Copy the example file
    cp .env.example .env
    
    # Edit the file with your preferred editor
    nano .env  # or vim, code, etc.

    Your .env file should contain these variables:

    code
    # Required
    NTFY_TOPIC=your-topic-name
    
    # Optional - Configure these if using a private/protected ntfy server
    # NTFY_URL=https://ntfy.sh  # Default is ntfy.sh, change to your self-hosted ntfy server URL if needed
                                # Include port if needed, e.g., https://your-ntfy-server.com:8443
    # NTFY_TOKEN=your-access-token  # Required for authentication with protected topics/servers
    # PROTECTED_TOPIC=false  # Set to "true" if your topic requires authentication (helps prevent auth errors)

    Note: The PROTECTED_TOPIC flag helps the application determine whether authentication is required for your topic. When set to "true" and no token is provided, you'll be prompted to enter one. This prevents authentication failures with protected topics.

    Usage

    Authentication

    This 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.

    If authentication is required but not provided, you'll receive a clear error message explaining how to add your token.

    Setting Up the Notification Receiver

    1. Install the ntfy app on your device

    2. Subscribe to your chosen topic (the same as your NTFY_TOPIC setting)

    Sending Notifications (ntfy_me tool)

    This section covers all functionality related to sending notifications using the ntfy_me tool.

    Using Natural Language

    When working with your AI assistant, you can use natural phrases like:

    code
    "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"

    Message Parameters

    The tool accepts these parameters:

    ParameterDescriptionRequired
    taskTitleThe notification titleYes
    taskSummaryThe notification bodyYes
    priorityMessage priority: min, low, default, high, maxNo
    tagsArray of notification tags (supports emoji shortcodes)No
    markdownBoolean to enable markdown formatting (true/false)No
    actionsArray of view action objects for clickable linksNo

    Example:

    javascript
    {
      taskTitle: "Code Generation Complete",
      taskSummary: "Your React component has been created successfully with proper TypeScript typing.",
      priority: "high",
      tags: ["check", "code", "react"]
    }

    This will send a high-priority notification with a checkmark emoji.

    Action Links

    You can add clickable action buttons to your notifications using the actions parameter, or let the server automatically detect URLs in your message.

    ##### Automatic URL Detection

    When URLs are present in the message body, the server automatically creates up to 3 view actions (ntfy's maximum limit) from the first detected URLs. This makes it easy to include clickable links without manually specifying the actions array.

    For example, this message:

    javascript
    {
      taskTitle: "Build Complete",
      taskSummary: "Your PR has been merged! View the changes at https://github.com/org/repo/pull/123 or check the deployment at https://staging.app.com"
    }

    Will automatically generate view actions for both URLs, making them easily clickable in the notification.

    ##### Manual Action Configuration

    For more control, you can manually specify actions:

    PropertyDescriptionRequired
    actionMust be "view"Yes
    labelButton text to displayYes
    urlURL to open when clickedYes
    clearWhether to clear notification on click (optional)No

    Example with action links:

    javascript
    {
      taskTitle: "Pull Request Review",
      taskSummary: "Your code has been reviewed and is ready for final checks",
      priority: "high",
      tags: ["check", "code"],
      actions: [
        {
          action: "view",
          label: "View PR",
          url: "https://github.com/org/repo/pull/123"
        },
        {
          action: "view",
          label: "View Changes",
          url: "https://github.com/org/repo/pull/123/files",
          clear: true
        }
      ]
    }

    Emoji Shortcodes

    You can use emoji shortcodes in your tags for visual indicators:

    • warning โ†’ โš ๏ธ
    • check โ†’ โœ…
    • rocket โ†’ ๐Ÿš€
    • tada โ†’ ๐ŸŽ‰

    See the full list of supported emoji shortcodes.

    Markdown Formatting

    Your notifications support rich markdown formatting with intelligent detection! When you include markdown syntax in your taskSummary, the server automatically detects it and enables markdown parsing - no need to set markdown: true explicitly.

    ##### Automatic Detection

    The server checks for common markdown patterns like:

    • Headers (#, ##, etc.)
    • Lists (-, \*, numbers)
    • Code blocks (```)
    • Links (text)
    • Bold/italic (_text_, text)

    When these patterns are detected, markdown parsing is automatically enabled for the message.

    ##### Manual Override

    While automatic detection works in most cases, you can still explicitly control markdown parsing:

    javascript
    {
      taskTitle: "Task Complete",
      taskSummary: "Regular plain text message",
      markdown: false  // Force disable markdown parsing
    }

    Retrieving Messages (ntfy_me_fetch tool)

    This section covers all functionality related to fetching and filtering messages using the ntfy_me_fetch tool.

    Using Natural Language

    AI assistants understand various ways to request message fetching:

    code
    "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"

    Message Parameters

    The tool accepts these parameters:

    ParameterDescriptionRequired
    ntfyTopicTopic to fetch messages from (defaults to NTFY_TOPIC env var)No
    sinceHow far back to retrieve messages ('10m', '1h', '1d', timestamp, message ID, or 'all')No
    messageIdFind a specific message by its IDNo
    messageTextFind messages containing exact text contentNo
    messageTitleFind messages with exact title/subjectNo
    prioritiesFind messages with specific priority levelsNo
    tagsFind messages with specific tagsNo

    Examples

    1. Fetch Recent Messages

    javascript
    {
      since: "30m"; // Get messages from last 30 minutes
    }

    2. Filter by Title and Priority

    javascript
    {
      messageTitle: "Build Complete",
      priorities: "high",
      since: "1d"
    }

    3. Search Different Topic with Tags

    javascript
    {
      ntfyTopic: "updates",
      tags: ["error", "warning"],
      since: "all"
    }

    4. Find Specific Message

    javascript
    {
      messageId: "xxxxXXXXxxxx";
    }

    Messages are returned with full details including:

    • Message ID and timestamp
    • Topic and title
    • Content and priority
    • Tags and attachments
    • Action links and expiration

    Note: Message history availability depends on your ntfy server's cache settings. The public ntfy.sh server typically caches messages for 12 hours.

    Development & Contributions

    Building from Source

    bash
    git clone https://github.com/gitmotion/ntfy-me-mcp.git
    cd ntfy-me-mcp
    npm install
    npm run build

    License

    This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

    Contributing

    Contributions are welcome! Please follow these guidelines:

    • Point your pull requests to the dev or testing branches (not main).
    • For all logging, use the Logger class abstraction:
    • Replace any console.log, console.warn, or console.error with logger.info, logger.warn, or logger.error.
    • Ensure your code is clean, well-documented, and passes all tests.
    • Clearly describe your changes in the PR description.
    • For local testing:
    • Build the project with npm run build.
    • Run the server locally using npm start or node build/index.js.
    • Test your changes before submitting a PR.

    Thank you for helping improve ntfy-me-mcp!

    ---

    Made with โค๏ธ by gitmotion

    Similar MCP

    Based on tags & features

    • AW

      Aws Mcp Server

      Pythonยท
      165
    • MC

      Mcp Open Library

      TypeScriptยท
      42
    • AN

      Anilist Mcp

      TypeScriptยท
      57
    • CO

      Code To Tree

      Cยท
      60

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScriptยท
      22.1k
    • SE

      Serena

      Pythonยท
      14.5k
    • MC

      Mcp Playwright

      TypeScriptยท
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScriptยท
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • AW

      Aws Mcp Server

      Pythonยท
      165
    • MC

      Mcp Open Library

      TypeScriptยท
      42
    • AN

      Anilist Mcp

      TypeScriptยท
      57
    • CO

      Code To Tree

      Cยท
      60

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScriptยท
      22.1k
    • SE

      Serena

      Pythonยท
      14.5k
    • MC

      Mcp Playwright

      TypeScriptยท
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScriptยท
      3.0k