Integrations
Enables sending notifications to any device with ntfy integration, supporting rich message formatting with titles, tags, priorities, action buttons, and attachments for real-time notifications to phones, desktops, and other devices.
Ntfy MCP-Server
Ein MCP-Server (Model Context Protocol) für die Interaktion mit dem ntfy -Push-Benachrichtigungsdienst. Er ermöglicht LLMs und KI-Agenten, Benachrichtigungen mit umfangreichen Anpassungsmöglichkeiten an Ihre Geräte zu senden.
Inhaltsverzeichnis
- Überblick
- Merkmale
- Schnellstart
- Installation
- Konfiguration
- Projektstruktur
- Werkzeuge
- Ressourcen
- Anwendungsfälle
- Verfügbare Skripte
- Beitragen
- Lizenz
Überblick
Dieser Server implementiert das Model Context Protocol (MCP) und ermöglicht so die standardisierte Kommunikation zwischen LLMs und externen Systemen. Insbesondere stellt er eine Schnittstelle zum ntfy-Push-Benachrichtigungsdienst bereit.
Ntfy ist ein einfacher HTTP-basierter Pub-Sub-Benachrichtigungsdienst, mit dem Sie Benachrichtigungen über einfache HTTP-Anfragen an Ihr Smartphone oder Ihren Desktop senden können. Mit diesem MCP-Server können LLM-Agenten wie Claude Ihnen Benachrichtigungen über ntfy senden, ohne direkten HTTP-Zugriff zu benötigen.
Merkmale
- MCP-Serverimplementierung: Erstellt mit
@modelcontextprotocol/sdk
für nahtlose Integration mit LLM-Agenten. - Ntfy-Integration: Bietet ein Tool (
send_ntfy
) zum Senden von Benachrichtigungen mit Unterstützung für:- Nachrichtenpriorisierung (1-5 Stufen)
- Emoji-Tags
- Anklickbare Aktionen und Schaltflächen
- Dateianhänge
- Verspätete Lieferung
- Markdown-Formatierung
- Ressourcenfreigabe: Macht das konfigurierte Standard-NTFY-Thema als MCP-Ressource verfügbar.
- TypeScript: Moderne, typsichere Codebasis mit umfassenden Typdefinitionen.
- Strukturierte Protokollierung: Verwendet
winston
undwinston-daily-rotate-file
für detaillierte und rotierende Protokolle. - Konfigurationsverwaltung: Verwendet
dotenv
für eine einfache umgebungsbasierte Konfiguration. - Dienstprogrammskripte: Enthält Skripte zum Bereinigen von Build-Artefakten und zum Generieren einer Verzeichnisstrukturdokumentation.
- Fehlerbehandlung und Sicherheit: Implementiert eine robuste Fehlerbehandlung, Eingabebereinigung (
sanitize-html
) und Sicherheitsfilter (xss-filters
).
Schnellstart
- Voraussetzungen:
- Node.js (v16+)
- npm oder yarn
- Ein MCP-kompatibler Client (Claude Desktop, Cline usw.)
- Installieren und ausführen:Copy
- Zu den MCP-Client-Einstellungen hinzufügen: Fügen Sie den Server zu Ihrer MCP-Client-Einstellungsdatei hinzu (siehe Konfiguration ).
- Verwenden Sie das Tool: Sobald die Verbindung hergestellt ist, können Sie das Tool
send_ntfy
verwenden, um Benachrichtigungen zu senden.
Installation
Option 1: NPM-Paket (empfohlen)
- Installieren Sie das Paket global:Dadurch wird der Server global installiert und als Befehlszeilentool verfügbar gemacht.Copy
- Oder installieren Sie es lokal in Ihrem Projekt:Bei lokaler Installation können Sie es über npx oder vom Knoten aus ausführen.Copy
Option 2: Aus der Quelle
- Klonen Sie das Repository:Copy
- Installieren Sie Abhängigkeiten:Copy
- Erstellen Sie das Projekt:Copy
Konfiguration
Umgebungsvariablen
Erstellen Sie eine .env
Datei im Projektstamm basierend auf .env.example
:
MCP-Client-Einstellungen
Für die Cline VSCode-Erweiterung
Fügen Sie Ihrer Cline MCP-Einstellungsdatei (unter macOS normalerweise unter ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
) die folgende Konfiguration hinzu:
Bei globaler Installation:
Bei Installation aus der Quelle:
Für Claude Desktop App
Fügen Sie Ihrer Claude Desktop-Konfigurationsdatei die folgende Konfiguration hinzu (unter macOS normalerweise unter ~/Library/Application Support/Claude/claude_desktop_config.json
):
Bei globaler Installation:
Bei Installation aus der Quelle:
Ersetzen Sie bei der Quellinstallation /path/to/ntfy-mcp-server/dist/index.js
durch den tatsächlichen absoluten Pfad zur erstellten Serverdatei. Passen Sie env
entsprechend Ihrem Setup an.
Ntfy-Einrichtung
- Installieren Sie die ntfy-App auf Ihren Geräten von ntfy.sh oder den App Stores
- Abonnieren Sie Ihr Thema in der App
- Verwenden Sie dasselbe Thema in Ihrer MCP-Serverkonfiguration
Projektstruktur
Werkzeuge
send_ntfy
Sendet eine Benachrichtigungsnachricht über den ntfy-Dienst.
Hauptargumente:
Parameter | Typ | Erforderlich | Beschreibung |
---|---|---|---|
topic | Schnur | Ja | Das NTFY-Thema, in dem veröffentlicht werden soll. |
message | Schnur | Ja | Der Hauptinhalt der Benachrichtigung (max. 4096 Bytes). |
title | Schnur | NEIN | Benachrichtigungstitel (max. 250 Bytes). |
tags | Zeichenfolge[] | NEIN | Emojis oder Schlüsselwörter zur Kategorisierung (z. B. ["warning", "robot"] ). Maximal 5. |
priority | ganze Zahl | NEIN | Nachrichtenpriorität: 1=min, 2=niedrig, 3=Standard, 4=hoch, 5=max. |
click | Schnur | NEIN | URL, die geöffnet werden soll, wenn auf die Benachrichtigung geklickt wird. |
actions | Array | NEIN | Aktionsschaltflächen (Anzeigen, HTTP, Senden). Max. 3. |
attachment | Objekt | NEIN | URL und Name eines Anhangs. |
email | Schnur | NEIN | E-Mail-Adresse, an die die Benachrichtigung weitergeleitet werden soll. |
delay | Schnur | NEIN | Lieferverzögerung (z. B. 30m ., 1h ., tomorrow ). |
cache | Schnur | NEIN | Cache-Dauer (z. B. 10m , 1h , 1d d). |
firebase | Schnur | NEIN | Firebase Cloud Messaging (FCM)-Thema, an das weitergeleitet werden soll. |
id | Schnur | NEIN | Eindeutige ID für die Nachricht. |
expires | Schnur | NEIN | Ablauf der Nachricht (z. B. 10m ., 1h , 1d ). |
markdown | Boolescher Wert | NEIN | Auf true setzen, um die Markdown-Formatierung in der Nachricht zu aktivieren. |
baseUrl | Schnur | NEIN | Überschreiben Sie die Standard-NTFY-Server-URL für diese Anforderung. |
Anwendungsbeispiel:
Beispielantwort:
Ressourcen
Direkte Ressourcen
ntfy://default
- Beschreibung: Gibt das in den Umgebungsvariablen des Servers konfigurierte Standard-NTFY-Thema zurück (
NTFY_DEFAULT_TOPIC
). - Verwendung: Nützlich für Clients, um das Hauptthema zu entdecken, ohne dass eine vorherige Konfiguration erforderlich ist.
- Beispiel: Ein LLM-Agent kann auf diese Ressource zugreifen, um beim Senden von Benachrichtigungen automatisch das Standardthema zu verwenden.
- Beispielantwort:Copy
Ressourcenvorlagen
ntfy://{topic}
- Beschreibung: Gibt Informationen zu einem bestimmten NTFY-Thema zurück.
- Parameter:
topic
– Der Name des NTFY-Themas. - Verwendung: Zum Abfragen von Informationen zu anderen Themen als den Standardthemen.
- Beispielantwort:Copy
Anwendungsfälle
- Benachrichtigungen zu lang laufenden Aufgaben – Lassen Sie sich benachrichtigen, wenn Aufgaben wie Datenbanksicherungen, Codegenerierung oder Datenverarbeitung abgeschlossen sind.
- Geplante Erinnerungen – Legen Sie verzögerte Benachrichtigungen für zukünftige Ereignisse oder Erinnerungen fest.
- Warnsysteme – Richten Sie kritische Warnmeldungen für Überwachungssysteme oder wichtige Ereignisse ein.
- Mobile Benachrichtigungen von LLMs – Erlauben Sie LLMs, Benachrichtigungen direkt an Ihr Telefon zu senden.
- Mehrstufige Prozessaktualisierungen – Erhalten Sie Aktualisierungen, wenn verschiedene Phasen eines komplexen Prozesses abgeschlossen sind.
Anwendungsbeispiele
Grundlegende Benachrichtigung
Umfangreiche Benachrichtigungen mit Aktionen
Verfügbare Skripte
npm run build
: Kompiliert den TypeScript-Quellcode im Verzeichnisdist/
in JavaScript.npm run clean
: Entfernt das Verzeichnisdist/
und bereinigt den Inhalt des Verzeichnisseslogs/
.npm run rebuild
: Läuftclean
undbuild
dann.npm run tree
: Generiert eine Verzeichnisbaumdarstellung indocs/tree.md
.npm start
: Führt den kompilierten Server mithilfe von Node.js aus dem Verzeichnisdist/
aus.npm run watch
: Durchsucht die kombinierte Protokolldatei (logs/combined.log
) zur Echtzeitüberwachung.
Beitragen
Beiträge sind willkommen! Senden Sie gerne Pull Requests oder offene Probleme, um das Projekt zu verbessern.
- Forken Sie das Repository.
- Erstellen Sie einen Feature-Zweig (
git checkout -b feature/your-feature
). - Übernehmen Sie Ihre Änderungen (
git commit -m 'Add some feature'
). - Pushen Sie zum Zweig (
git push origin feature/your-feature
). - Erstellen Sie eine neue Pull-Anfrage.
Erstellen Sie bei Fehlern und Funktionsanfragen bitte ein Problem im Repository.
Bewährte Methoden für die Entwicklung
- Befolgen Sie die Best Practices von TypeScript und achten Sie auf eine korrekte Typisierung
- Schreiben Sie Tests für neue Funktionen
- Halten Sie Abhängigkeiten auf dem neuesten Stand
- Befolgen Sie den vorhandenen Codestil und die vorhandenen Muster
Lizenz
Dieses Projekt ist unter der Apache-2.0-Lizenz lizenziert. Weitere Informationen finden Sie in der Datei LICENSE .
Danksagung
- ntfy.sh zur Bereitstellung des Benachrichtigungsdienstes
- Model Context Protocol zur Ermöglichung von LLM-zu-Tool-Verbindungen
- Alle Mitwirkenden und Benutzer dieses Projekts
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Ein Model Context Protocol-Server, der es KI-Systemen ermöglicht, über den ntfy-Publish/Subscribe-Dienst Echtzeitbenachrichtigungen an Telefone, Desktops und andere Geräte zu senden.
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol implementation that enables AI agents to send notifications through Pushover.net, supporting message customization with various parameters like priority, sound, and URL.Last updated -317TypeScriptMIT License
- -securityFlicense-qualityA versatile Model Context Protocol server that enables AI assistants to manage calendars, track tasks, handle emails, search the web, and control smart home devices.Last updated -2Python
- -securityAlicense-qualityA Model Context Protocol service that sends desktop notifications and alert sounds when AI agent tasks are completed, integrating with various LLM clients like Claude Desktop and Cursor.Last updated -13PythonMIT License
- -securityFlicense-qualityA demonstration implementation of the Model Context Protocol server that facilitates communication between AI models and external tools while maintaining context awareness.Last updated -Python