Skip to main content
Glama
Rune-markar

Signal Desk MCP

by Rune-markar

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 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: GetMonitor MCP Server

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 localStorage

  • JSON-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 /mcp

  • Auflisten, 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 dev

Worker-Verbindungsmodus:

cp .dev.vars.example .dev.vars
npm run db:migrate:local
npm run dev:worker

Die 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 check

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

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Uptime, SSL, DNS and domain monitoring you can talk to from Claude or any MCP client.

  • MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent

  • AI-powered website change monitoring - manage monitors and alerts via MCP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Rune-markar/signal-desk'

If you have feedback or need assistance with the MCP directory API, please join our Discord server