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
    • Features
    • Coming soon...
    • Table of Contents
    • Quickstart - MCP Server Configuration
    • Configuration Examples
    • Installation
    • Setting Up the Notification Receiver
    • Configuration
    • Environment Variables
    • Authentication
    • Secure Token Handling (vscode)
    • Tools & Usage
    • ntfy_me: Sending Notifications
    • Using Natural Language
    • Example Usage
    • Message Parameters
    • ntfy_me_fetch: Polling Notifications
    • Using Natural Language
    • Example Usage
    • Fetch Parameters
    • Development & Contributions
    • License

    Table of Contents

    • Overview
    • Features
    • Coming soon...
    • Table of Contents
    • Quickstart - MCP Server Configuration
    • Configuration Examples
    • Installation
    • Setting Up the Notification Receiver
    • Configuration
    • Environment Variables
    • Authentication
    • Secure Token Handling (vscode)
    • Tools & Usage
    • ntfy_me: Sending Notifications
    • Using Natural Language
    • Example Usage
    • Message Parameters
    • ntfy_me_fetch: Polling Notifications
    • Using Natural Language
    • Example Usage
    • Fetch Parameters
    • Development & Contributions
    • License

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

    Preview

    Available via

    NameLink / Badge

    ntfy.sh

    Glama.ai

    Smithery.ai

    MseeP.ai

    Archestra.ai

    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

    Section

    Topics

        

        

        

        

        

        

        

    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

    Type

    Use Case

    Example

    NPM / NPX

    Recommended for most MCP clients when you want the lightest setup.

    Show config

    {

    "ntfy-me-mcp": {

    "command": "npx",

    "args": ["-y", "ntfy-me-mcp"],

    "env": {

    "NTFY_TOPIC": "your-ntfy-topic",

    "NTFY_URL": "https://ntfy.sh",

    // "NTFY_TOKEN": "add-your-ntfy-token"

    }

    }

    }

    Local

    Use a local checkout when you are developing or changing the server yourself.

    Replace /absolute/path/to/ntfy-me-mcp/build/index.js after building.

    Show config

    {

    "ntfy-me-mcp": {

    "command": "node",

    "args": ["/absolute/path/to/ntfy-me-mcp/build/index.js"],

    "env": {

    "NTFY_TOPIC": "your-ntfy-topic",

    "NTFY_URL": "https://ntfy.sh",

    // "NTFY_TOKEN": "add-your-ntfy-token"

    }

    }

    }

    Docker

    Use a containerized setup when Docker is already part of your environment.

       - DockerHub: gitmotion/ntfy-me-mcp:latest   - GHCR: ghcr.io/gitmotion/ntfy-me-mcp:latest

    Show config

    {

    "ntfy-me-mcp": {

    "command": "docker",

    "args": [

    "run",

    "-i",

    "--rm",

    "-e",

    "NTFY_TOPIC",

    "-e",

    "NTFY_URL",

    "-e",

    "NTFY_TOKEN",

    "gitmotion/ntfy-me-mcp:latest"

    ],

    "env": {

    "NTFY_TOPIC": "your-ntfy-topic",

    "NTFY_URL": "https://ntfy.sh",

    // "NTFY_TOKEN": "add-your-ntfy-token"

    }

    }

    }

    OpenCode

    Add to opencode.json in your project root (for project-level config) or ~/.config/opencode/opencode.json (for global config). Uses "mcp" as the top-level key with type: "local" and command as an array.

    Show config

    {

    "$schema": "https://opencode.ai/config.json",

    "mcp": {

    "ntfy-me-mcp": {

    "type": "local",

    "command": ["npx", "-y", "ntfy-me-mcp"],

    "environment": {

    "NTFY_TOPIC": "your-ntfy-topic",

    "NTFY_URL": "https://ntfy.sh",

    // "NTFY_TOKEN": "add-your-ntfy-token"

    }

    }

    }

    }

    ClaudeCode

    Add to .mcp.json at your project root (shared with your team via version control), or to ~/.claude.json for user-level access across all projects.

    Show config

    {

    "mcpServers": {

    "ntfy-me-mcp": {

    "command": "npx",

    "args": ["-y", "ntfy-me-mcp"],

    "env": {

    "NTFY_TOPIC": "your-ntfy-topic",

    "NTFY_URL": "https://ntfy.sh",

    "NTFY_TOKEN": "${NTFY_TOKEN}"

    }

    }

    }

    }

    Copilot CLI

    Add to ~/.copilot/mcp-config.json for user-level access across all sessions. Use type: "local" for stdio-based servers like this one.

    Show config

    {

    "mcpServers": {

    "ntfy-me-mcp": {

    "type": "local",

    "command": "npx",

    "args": ["-y", "ntfy-me-mcp"],

    "env": {

    "NTFY_TOPIC": "your-ntfy-topic",

    "NTFY_URL": "https://ntfy.sh",

    "NTFY_TOKEN": "your-access-token"

    },

    "tools": ["*"]

    }

    }

    }

    Token Auth

    Required for protected topics or self-hosted servers. See or set NTFY_TOKEN directly.

    Show config

    {

    "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": "your-access-token"

    }

    }

    }

    Installation

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

    Option

    Example

    Install globallyInstall once, run anywhere with the ntfy-me-mcp command.

    npm install -g ntfy-me-mcp

    Run with npxNo install needed โ€” ideal for a quick one-off run or testing.

    npx ntfy-me-mcp

    Install locallyClone the repo, install deps, build, and run via npm start.

    Show steps

    # Clone repo, install deps, configure .env, build, run

    git clone https://github.com/gitmotion/ntfy-me-mcp.git

    cd ntfy-me-mcp

    npm install

    cp .env.example .env

    npm run build

    npm start

    MCP Marketplace โ€” SmitheryOne-command install for Claude Desktop via .

    Show command

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

    Setting Up the Notification Receiver

    View ntfy receiver Section

    1. Install the ntfy app on your device

    • or deploy your own ntfy server: https://docs.ntfy.sh/install/

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

    Configuration

    Environment Variables

    Create a .env file by copying the example: cp .env.example .env โ€” see [.env.example](.env.example) for reference.

    VariableRequiredDefaultDescription
    NTFY_TOPICYesโ€”The ntfy topic to publish notifications to
    NTFY_URLNohttps://ntfy.shntfy server URL โ€” change this for self-hosted instances(include port if needed, e.g. https://your-server.com:8443)
    NTFY_TOKENNoโ€”Access token for protected topics or private servers

    Authentication

    View Authentication Section

    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_TOKEN env variable or in the accessToken parameter 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_TOKEN in config files. (Otherwise use your token directly)
    • Use matching values like this in your mcp.json file:

    Show VS Code mcp.json example

    jsonc
    // 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}"
          }
        }
      }
    }
    FieldValuePurpose
    env.NTFY_TOKEN"${input:ntfy_token}"References the secure prompt-backed token value
    inputs[].id"ntfy_token"Defines the input name used by NTFY_TOKEN
    inputs[].type"promptString"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+, the PROTECTED_TOPIC env has been removed. This handling is now auto-detected from the unresolved NTFY_TOKEN input 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:
    code
    "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

    Input

    Output

    {

    "title": "Code Generation Complete",

    "message": "Your React component has been

    created successfully with proper

    TypeScript typing.",

    "priority": "high",

    "tags": ["white_check_mark", "code", "react"]

    }

    {

    "success": true,

    "endpoint": "https://ntfy.sh/ntfymetest"

    }

    Message Parameters

    Parameter

    Description

    Required

    Details / Example

    title

    The notification title

    Yes

    โ€”

    message

    The notification body

    Yes

    โ€”

    url

    Custom ntfy server URL

    No

    Default: NTFY_URL

    topic

    Custom ntfy topic

    No

    Default: NTFY_TOPIC

    accessToken

    Access token for protected topics

    No

    Default: NTFY_TOKEN

    priority

    Message priority level

    No

    Default: "default"Options: min, low, default, high, max

    tags

    Array of notification tags. Supports emoji shortcodes for visual indicators โ€” see the .

    No

    warning โ†’ โš ๏ธ

    white_check_mark โ†’ โœ…

    rocket โ†’ ๐Ÿš€

    tada โ†’ ๐ŸŽ‰

    markdown

    Boolean to enable markdown formatting. Auto-detected when markdown syntax is present (headers, lists, code blocks, links, bold/italic) โ€” no need to set explicitly. Can be overridden manually.

    No

    Auto-detection: no configuration needed.

    Manual override example

    {

    title: "Task Complete",

    message: "Regular plain text message",

    markdown: false // Force disable

    }

    actions

    Array of view action objects for clickable links. URLs in the message body are auto-detected (up to 3 actions). For manual control, each action requires action, label, and url, with an optional clear flag.

    No

    Auto-detection example

    {

    title: "Build Complete",

    message: "View at https://github.com/org/repo/pull/123"

    }

    Automatically creates view actions for detected URLs.

    Manual configuration example

    {

    title: "Pull Request Review",

    message: "Ready for final checks",

    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

    }

    ]

    }

    ntfy_me_fetch: Polling Notifications

    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"

    Example Usage

    Input

    Output

    {

    "since": "6h"

    }

    {

    "success": true,

    "messageCount": 1,

    "topics": {

    "ntfymetest": [

    {

    "id": "On4Jeo1ENDCB",

    "time": 1775859291,

    "event": "message",

    "topic": "ntfymetest",

    "message": "Test",

    "title": "Test",

    "priority": 3,

    "expires": 1775902491

    }

    ]

    }

    }

    Fetch Parameters

    Parameter

    Description

    Required

    Details / Example

    url

    Custom ntfy server URL

    No

    Default: NTFY_URL

    topic

    Topic to fetch messages from

    No

    Default: NTFY_TOPIC{ "topic": "updates", "since": "all" }

    accessToken

    Access token for protected topics

    No

    Default: NTFY_TOKEN

    since

    How far back to retrieve messages

    No

    Options: '10m', '1h', '1d', timestamp, message ID, or 'all'

    Example: { "since": "30m" }

    messageId

    Find a specific message by its ID

    No

    { "messageId": "xxxxXXXXxxxx" }

    messageText

    Find messages containing exact text content

    No

    { "messageText": "Build Complete" }

    messageTitle

    Find messages with exact title/subject

    No

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

    priorities

    Find messages with specific priority levels

    No

    { "priorities": "high" }

    tags

    Find messages with specific tags

    No

    { "tags": ["error", "warning"] }

    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

    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