Signal Desk MCP
Signal Desk
Gestión de elementos de monitorización en una pantalla dedicada, una PWA que maneja ejecución periódica, historial, notificaciones en la aplicación y Web Push. Desde ChatGPT, se pueden registrar, actualizar y ejecutar los mismos elementos de monitorización mediante herramientas MCP protegidas con OAuth.
Publicación
GitHub Pages (modo de prototipo local): https://rune-markar.github.io/signal-desk/
Como GitHub Pages no puede contener información confidencial ni procesos periódicos, funciona como una demostración en el navegador. La URL de producción que utiliza monitorización automática, MCP y Push se publica al desplegar Cloudflare Worker.
Related MCP server: omniwatchguard-mcp
Modos de funcionamiento
GitHub Pages / Modo de prototipo local
Añadir, editar, detener, reanudar, eliminar, buscar y filtrar elementos de monitorización
No leídas, marcar todas como leídas y posponer notificaciones
Historial de ejecución y próxima programación
Introducir manualmente el contenido de las tareas programadas de ChatGPT y migrarlas como detenidas
Guardado en
localStorageExportación de JSON de datos no de muestra para transferir a la versión Worker
«Resultado de demostración» sin comunicación externa
Visualización sin conexión del shell de la aplicación PWA
Modo de conexión a Cloudflare Worker
Sincronización entre dispositivos con D1 como fuente de verdad
Autenticación de sesión y aislamiento de datos de un único propietario
Cron cada 15 minutos y lease de ejecución
Cloudflare Workers AI para evaluar la monitorización con URL de referencia
Búsqueda web pública mediante OpenAI Responses API (al configurar la clave de API)
Obtención segura de páginas HTTPS o búsqueda web
Historial de éxito, discrepancia y fallo, y prevención de notificaciones duplicadas
VAPID Web Push y horas de silencio
/mcpprotegido con OAuth 2.1 + PKCEListado, creación, actualización, detención/reanudación, ejecución inmediata y eliminación desde ChatGPT
Migración única y explícita de los datos locales previos a la conexión
Validación y carga del JSON exportado en la versión de GitHub Pages
Si la pantalla autenticada se queda sin conexión, se puede consultar el último estado del servidor solo durante esa sesión. Al recargar, se muestran únicamente los datos locales hasta confirmar la autenticación, y al cerrar sesión, recibir un 401 o confirmar que no está autenticado, se elimina la caché del servidor del dispositivo. No se realizan cambios en los datos del servidor sin conexión.
Límites con ChatGPT
Signal Desk es la fuente de verdad de los elementos de monitorización. Al conectar MCP a ChatGPT, se pueden operar las monitorizaciones de Signal Desk desde la conversación.
Por otro lado, no se ha podido confirmar una API pública para obtener la lista existente o el historial de ejecución de las tareas programadas de ChatGPT, por lo que no se realizará lo siguiente:
Importación automática de tareas programadas existentes
Sustitución del destino de notificación de ChatGPT por Signal Desk
Sincronización bidireccional entre ChatGPT y Signal Desk
Para las tareas existentes, revise el contenido en «Migrar desde ChatGPT» en la pantalla y guárdelas manualmente como detenidas. Después de que la prueba en Signal Desk sea exitosa, el usuario debe detener la tarea original de ChatGPT.
Como la versión de GitHub Pages y la versión Worker tienen orígenes diferentes, los datos guardados en el navegador no se comparten automáticamente. Exporte el JSON de migración en «Configuración» de la versión Pages, inicie sesión en la versión Worker, cárguelo desde la misma «Configuración» y, a continuación, verifique el número de elementos y la URL para migrarlo explícitamente. El JSON contiene condiciones de monitorización y URL, por lo que debe manipularse en un dispositivo seguro.
Inicio local
Utilice Node.js 20.19 o superior (o 22.12 o superior).
Modo de prototipo local equivalente a GitHub Pages:
npm install
npm run devModo de conexión Worker:
cp .dev.vars.example .dev.vars
npm run db:migrate:local
npm run dev:workerLa aplicación en modo de conexión Worker está en http://localhost:8787/signal-desk/ y el MCP en http://localhost:8787/mcp. Configure los valores secretos reales en .dev.vars y no los añada a Git. Incluso si se omite la clave de API de OpenAI, la monitorización con URL de referencia configurada se puede ejecutar con Workers AI. La monitorización de búsqueda web pública sin URL requiere la clave de API de OpenAI.
Verificación de calidad
npm run checknpm run check ejecuta lo siguiente:
Pruebas de dominio, UI, URL de origen de monitorización y URL de Push con Vitest
Compilación de producción de TypeScript del frontend y Vite
TypeScript del Worker
Prueba en seco de despliegue de Wrangler
Despliegue
Consulte Instrucciones de despliegue para la migración de D1 a Cloudflare, secretos de Worker, VAPID, despliegue y conexión MCP de ChatGPT. Los límites de implementación y el diseño de seguridad se resumen en Arquitectura.
Estructura principal
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統合入口Pila tecnológica
React 19 + TypeScript + Vite
Vitest + Testing Library
Vite PWA / Workbox
Cloudflare Workers + D1 + KV + Cron + Static Assets
Cloudflare Workers AI
Manejador MCP sin estado del SDK de Cloudflare Agents
Proveedor OAuth de Cloudflare Workers
OpenAI Responses API
Web Push / VAPID
Temporal polyfill
Aviso de seguridad
No coloque claves de API, contraseñas de inicio de sesión ni claves privadas VAPID en el frontend ni en Git.
El origen de la monitorización es solo HTTPS. El Worker rechaza redes privadas, redirecciones peligrosas, respuestas no textuales y archivos de más de 512 KB.
Las páginas externas se pasan al modelo como datos no confiables y no se ejecutan instrucciones dentro de la página.
La autenticación de esta versión es para un único propietario. Agregue un IdP externo y gestión de cuentas antes de publicarla al público en general.
Verifique la recepción de Push, el clic en notificaciones, la instalación de PWA y los iconos de Android/iOS en HTTPS de producción y en dispositivos reales.
La licencia de Noto Sans JP se incluye en public/THIRD_PARTY_NOTICES.txt. Este proyecto en sí no tiene licencia de reutilización otorgada en este momento.
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