Skip to main content
Glama
Rune-markar

Signal Desk MCP

by Rune-markar

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

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

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 localStorage

  • Exportació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

  • /mcp protegido con OAuth 2.1 + PKCE

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

Modo de conexión Worker:

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

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

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

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