Signal Desk MCP
Signal Desk
Eine PWA, die Überwachungselemente auf einem eigenen Bildschirm verwaltet und regelmäßige Ausführung, Verlauf, In-App-Benachrichtigungen und Web Push behandelt. Von ChatGPT aus können dieselben Überwachungselemente über OAuth-geschützte MCP-Tools registriert, aktualisiert und ausgeführt werden.
Veröffentlichungsorte
GitHub Pages (lokaler Prototypmodus): https://rune-markar.github.io/signal-desk/
GitHub Pages kann keine geheimen Informationen oder regelmäßige Verarbeitung speichern und funktioniert daher als Browser-Demo. Die Produktions-URL für automatische Überwachung, MCP und Push wird bei der Bereitstellung des Cloudflare Workers ausgegeben.
Related MCP server: omniwatchguard-mcp
Betriebsmodi
GitHub Pages / lokaler Prototypmodus
Hinzufügen, Bearbeiten, Stoppen, Fortsetzen, Löschen, Suchen und Filtern von Überwachungselementen
Ungelesene Benachrichtigungen, alle als gelesen markieren, Schlummern
Ausführungsverlauf und nächster geplanter Termin
Manuelle Eingabe des Inhalts von ChatGPT Scheduled Tasks und Migration im gestoppten Zustand
Speicherung in
localStorageJSON-Export der Nicht-Beispieldaten zur Übergabe an die Worker-Version
„Demo-Ergebnisse" ohne externe Kommunikation
Offline-Anzeige der PWA-App-Shell
Cloudflare Worker-Verbindungsmodus
Geräteübergreifende Synchronisierung mit D1 als maßgeblicher Quelle
Sitzungsauthentifizierung und Datentrennung für einen einzelnen Eigentümer
Cron alle 15 Minuten und Ausführungs-Lease
Cloudflare Workers AI zur Bewertung von Überwachungen mit Referenz-URL
Öffentliche Websuche über die OpenAI Responses API (bei gesetztem API-Schlüssel)
Sicheres Abrufen von HTTPS-Seiten oder Websuche
Verlauf von Erfolg, Abweichung und Fehler sowie Verhinderung doppelter Benachrichtigungen
VAPID Web Push und ruhige Zeiten
OAuth 2.1 + PKCE-geschütztes
/mcpAuflisten, Erstellen, Aktualisieren, Stoppen/Fortsetzen, sofortiges Ausführen und Löschen über ChatGPT
Explizite einmalige Migration lokaler Daten vor der Verbindung
Validierung und Laden von JSON, das in der GitHub Pages-Version exportiert wurde
Wenn ein authentifizierter Bildschirm offline geht, kann während derselben Sitzung der zuletzt bekannte Serverzustand eingesehen werden. Beim erneuten Laden werden bis zur Authentifizierungsprüfung nur lokale Daten angezeigt; bei Abmeldung, 401 oder fehlgeschlagener Authentifizierungsprüfung wird der Server-Cache des Geräts gelöscht. Während der Offline-Phase werden keine Serverdaten geändert.
Abgrenzung zu ChatGPT
Signal Desk ist die maßgebliche Quelle für Überwachungselemente. Wenn MCP mit ChatGPT verbunden wird, können die Signal-Desk-Überwachungen aus dem Gespräch heraus gesteuert werden.
Da jedoch keine öffentliche API zum Abrufen der bestehenden Liste und des Ausführungsverlaufs von ChatGPT Scheduled Tasks bestätigt werden kann, werden folgende Dinge nicht durchgeführt:
Automatisches Übernehmen bestehender Scheduled Tasks
Ersetzen des ChatGPT-Benachrichtigungsziels durch Signal Desk
Bidirektionale Synchronisierung zwischen ChatGPT und Signal Desk
Bestehende Aufgaben werden über „Von ChatGPT migrieren" auf dem Bildschirm geprüft und als gestoppt manuell gespeichert. Nach erfolgreichem Test in Signal Desk soll der Nutzer die ursprüngliche ChatGPT-Aufgabe stoppen.
Da die GitHub Pages-Version und die Worker-Version unterschiedliche Ursprünge haben, werden Browser-Speicherdaten nicht automatisch geteilt. In den „Einstellungen" der Pages-Version wird eine Migrations-JSON exportiert, nach dem Login in der Worker-Version über dieselben „Einstellungen" geladen, und anschließend werden Anzahl und URL geprüft und die Migration explizit durchgeführt. Die JSON enthält Überwachungsbedingungen und URLs; behandeln Sie sie daher auf einem sicheren Gerät.
Lokaler Start
Verwenden Sie Node.js 20.19 oder höher (oder 22.12 oder höher).
Lokaler Prototypmodus entsprechend GitHub Pages:
npm install
npm run devWorker-Verbindungsmodus:
cp .dev.vars.example .dev.vars
npm run db:migrate:local
npm run dev:workerDie App im Worker-Verbindungsmodus läuft unter http://localhost:8787/signal-desk/, MCP unter http://localhost:8787/mcp. Setzen Sie die tatsächlichen geheimen Werte in .dev.vars und fügen Sie sie nicht zu Git hinzu. Auch wenn der OpenAI-API-Schlüssel weggelassen wird, können Überwachungen mit gesetzter Referenz-URL über Workers AI ausgeführt werden. Für Überwachungen ohne URL, die eine öffentliche Websuche durchführen, ist ein OpenAI-API-Schlüssel erforderlich.
Qualitätsprüfung
npm run checknpm run check führt Folgendes aus:
Vitest-Tests für Domäne, UI, Überwachungsquell-URL und Push-URL
Frontend-TypeScript und Vite-Produktions-Build
Worker-TypeScript
Wrangler-Deploy-Dry-Run
Bereitstellung
Für D1-Migration, Worker-Secrets, VAPID, Deploy und ChatGPT-MCP-Verbindung zu Cloudflare siehe Bereitstellungsanleitung. Die Implementierungsgrenzen und das Sicherheitsdesign sind in der Architektur zusammengefasst.
Hauptstruktur
src/
api/ PWAから同一オリジンAPIへのクライアント
components/ 共通UI、モーダル、監視カード
domain/ 型、予定計算、Reducer、ローカル保存
pages/ 概要、監視、通知、履歴、設定
state/ ローカル/サーバー両モードの状態管理
worker/
migrations/ D1 schema
api.ts Cookie認証されたPWA API
auth.ts セッション、同一オリジン、試行制限
db.ts D1 repository
runner.ts Workers AI / Responses API、外部取得、Cron、lease
push.ts VAPID Web Push
mcp.ts ChatGPT用MCPツール
oauth.ts OAuth同意フロー
index.ts Worker統合入口Technischer Aufbau
React 19 + TypeScript + Vite
Vitest + Testing Library
Vite PWA / Workbox
Cloudflare Workers + D1 + KV + Cron + Static Assets
Cloudflare Workers AI
Stateless MCP-Handler des Cloudflare Agents SDK
Cloudflare Workers OAuth Provider
OpenAI Responses API
Web Push / VAPID
Temporal-Polyfill
Sicherheitshinweise
Legen Sie API-Schlüssel, die Login-Passphrase und den VAPID-Private-Key nicht im Frontend oder in Git ab.
Überwachungsquellen sind ausschließlich HTTPS. Der Worker lehnt private Netzwerke, gefährliche Weiterleitungen, Nicht-Text-Antworten und Antworten über 512 KB ab.
Externe Seiten werden als nicht vertrauenswürdige Daten an das Modell übergeben; Anweisungen innerhalb der Seite werden nicht ausgeführt.
Die Authentifizierung dieser Version ist für einen einzelnen Eigentümer ausgelegt. Fügen Sie vor der Veröffentlichung für eine unbestimmte Öffentlichkeit einen externen IdP und Kontoverwaltung hinzu.
Push-Empfang, Klick auf Benachrichtigungen, PWA-Installation und Android/iOS-Symbole müssen abschließend in der Produktions-HTTPS-Umgebung und auf echten Geräten geprüft werden.
Die Lizenz von Noto Sans JP ist in public/THIRD_PARTY_NOTICES.txt enthalten. Dieses Projekt selbst hat derzeit keine Wiederverwendungslizenz vergeben.
This server cannot be deployed
Maintenance
Related MCP Connectors
- sentinelOAuthio.rootstuff
Uptime, SSL, DNS and domain monitoring you can talk to from Claude or any MCP client.
Remote streamable-HTTP MCP server running on a single Cloudflare Worker. Your assistant gets live Airbnb, Amazon, Booking.com, Google Flights, Maps and Reddit data, social search on X, Instagram and TikTok, the Meta Ad Library, and image/video generation without any keys. Connect your own accounts to let it send WhatsApp or Telegram messages, work an IMAP inbox, manage Meta Ads campaigns and publish to X and LinkedIn. OAuth 2.1 with PKCE; stored credentials are AES-256-GCM encrypted.
Official remote MCP server of MailSenpai, the EU-hosted email marketing platform. Connect Claude, ChatGPT, Cursor or another MCP client with OAuth 2.1 and PKCE. 74 tools manage lists, subscribers, segments, templates, draft campaigns and stats, and check email DNS, blacklists and spam. Sends and deletions require explicit confirmation; every call is logged. The same team also offers SMTP Senpai, an SMTP relay and email API for transactional sending: https://en.mailsenpai.com/smtp-senpai/.
Let Claude or ChatGPT search, read and send your WhatsApp messages over MCP. OAuth sign-in.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables ChatGPT to interact with Google Calendar through a remote MCP server. Provides tools to list, create, update, and delete calendar events with OAuth authentication.-
- AlicenseNot gradedqualityBmaintenanceEnables users to manage OmniWatchGuard website monitors and alerts via natural language. Supports listing, creating, updating, pausing, resuming, and deleting monitors, plus reviewing recent notifications across channels.284 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables ChatGPT to manage WordPress tasks via MCP, including listing, creating, updating, completing, and deleting tasks while WordPress remains the source of truth.-
- AlicenseNot gradedqualityBmaintenanceEnables LLM clients to manage Uptime Kuma HTTP(S) monitors, groups, tags, and notifications, and to retrieve heartbeats, stats, and incident history through MCP tools.MIT