home / mcp / ntfy-me mcp server

ntfy-me MCP Server

Real-time ntfy notifications for AI assistants via MCP with token support and smart features.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "gitmotion-ntfy-me-mcp": {
      "url": "https://your-ntfy-server.com",
      "headers": {
        "NTFY_URL": "https://your-ntfy-server.com",
        "NTFY_TOKEN": "YOUR_TOKEN",
        "NTFY_TOPIC": "your-topic-name",
        "PROTECTED_TOPIC": "true"
      }
    }
  }
}

You deploy ntfy-me-mcp to enable real-time notifications from AI assistants directly to your devices via ntfy. It supports public, private, and self-hosted ntfy setups with optional token authentication, automatic URL view actions, and intelligent markdown detection to create rich, interactive notifications.

How to use

Set up ntfy-me-mcp with your MCP client to start receiving notifications when tasks complete, encounter errors, or reach milestones. Use a public ntfy topic for quick starts or a protected topic for secure environments. The server can auto-detect URLs in messages to generate view actions and can enable markdown formatting automatically when content requires it.

How to install

Prerequisites: you need Node.js (with npm) and optionally Docker if you prefer containerized runs.

Choose one of the following installation methods. Each method includes concrete commands you can copy-paste.

Minimal configuration for npx (recommended for most users)

{
  "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 uses a direct token for authentication. Include the topic, server URL, and token.

{
  "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"
    }
  }
}

Option 2: Using VS Code inputs for secure token handling

You can configure VS Code to prompt for a token and mask it in the configuration.

"mcp": {
  "inputs": [
    {"type": "promptString","id": "ntfy_token","description": "Ntfy Token","password": true}
  ],
  "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}",
        "PROTECTED_TOPIC": "true"
      }
    }
  }
}

Running with Docker

You can run ntfy-me-mcp inside a container. Prepare a container configuration that passes your topic and authentication details as environment variables.

{
  "ntfy-me-mcp": {
    "command": "docker",
    "args": [
      "run",
      "-i",
      "--rm",
      "-e", "NTFY_TOPIC",
      "-e", "NTFY_URL",
      "-e", "NTFY_TOKEN",
      "-e", "PROTECTED_TOPIC",
      "gitmotion/ntfy-me-mcp"
    ],
    "env": {
      "NTFY_TOPIC": "your-topic-name",
      "NTFY_URL": "https://your-ntfy-server.com",
      "NTFY_TOKEN": "your-auth-token",
      "PROTECTED_TOPIC": "true"
    }
  }
}

Available tools

ntfy_me

Sends notifications to an ntfy topic with customizable title, body, priority, tags, markdown, and actions. Supports automatic URL view actions and markdown parsing.

ntfy_me_fetch

Retrieves and filters messages from ntfy topics, with support for topic, time range, IDs, text, title, priorities, and tags.