Signal Desk MCP
Signal Desk
PWA для управления элементами мониторинга на отдельном экране: периодическое выполнение, история, внутриприложенные уведомления и Web Push. Через защищённый OAuth MCP-инструмент можно регистрировать, обновлять и запускать те же элементы мониторинга прямо из ChatGPT.
Ссылки для публикации
GitHub Pages (режим локального прототипа): https://rune-markar.github.io/signal-desk/
GitHub Pages не может хранить секретные данные или выполнять периодические задачи, поэтому работает как демонстрация в браузере. Рабочий URL для автоматического мониторинга, MCP и Push выдаётся при развёртывании Cloudflare Worker.
Related MCP server: GetMonitor MCP Server
Режимы работы
GitHub Pages / режим локального прототипа
Добавление, редактирование, остановка, возобновление, удаление, поиск и фильтрация элементов мониторинга
Непрочитанные уведомления, массовое прочтение, откладывание (snooze)
История выполнения и следующее запланированное время
Ручной ввод содержимого ChatGPT Scheduled task и перенос в состоянии «остановлен»
Сохранение в
localStorageЭкспорт JSON с несэмпловыми данными для передачи в Worker-версию
«Демо-результат» без внешних коммуникаций
Офлайн-отображение PWA-оболочки приложения
Режим подключения к Cloudflare Worker
Синхронизация между устройствами с D1 как источником истины
Сессионная аутентификация и изоляция данных единственного владельца
Cron каждые 15 минут и аренда выполнения (execution lease)
Cloudflare Workers AI для определения мониторинга с URL-адресами назначения
Публичный веб-поиск через OpenAI Responses API (при настройке API-ключа)
Безопасное получение HTTPS-страниц или веб-поиск
История успехов, несоответствий и сбоев, защита от дублирования уведомлений
VAPID Web Push и тихие часы
/mcp, защищённый OAuth 2.1 + PKCEСписок, создание, обновление, остановка/возобновление, немедленное выполнение и удаление из ChatGPT
Явная одноразовая миграция локальных данных перед подключением
Проверка и загрузка JSON, экспортированного из версии GitHub Pages
Если аутентифицированный экран переходит в офлайн, в течение того же запуска можно просматривать последнее состояние сервера. При перезагрузке до подтверждения аутентификации отображаются только локальные данные; при выходе, 401 или подтверждении отсутствия аутентификации кэш сервера на устройстве удаляется. Во время офлайна изменения данных на сервере не выполняются.
Граница с ChatGPT
Signal Desk является источником истины для элементов мониторинга. При подключении MCP к ChatGPT вы можете управлять мониторингом Signal Desk прямо из диалога.
В то же время, публичный API для получения существующего списка ChatGPT Scheduled Tasks или истории выполнения недоступен, поэтому следующее не выполняется:
Автоматический импорт существующих Scheduled Tasks
Замена получателей уведомлений ChatGPT на Signal Desk
Двусторонняя синхронизация между ChatGPT и Signal Desk
Существующие задачи проверяются на экране «Перенос из ChatGPT» и сохраняются вручную в остановленном состоянии. После успешного теста в Signal Desk остановите исходную задачу ChatGPT самостоятельно.
Версии GitHub Pages и Worker имеют разные origin, поэтому данные браузера автоматически не синхронизируются. Экспортируйте JSON для переноса в «Настройках» версии Pages, войдите в Worker-версию, импортируйте его там через те же «Настройки», затем явно подтвердите перенос, сверив количество и URL. JSON содержит условия мониторинга и URL, поэтому обращайтесь с ним только на безопасных устройствах.
Локальный запуск
Используйте Node.js 20.19 или выше (или 22.12 или выше).
Локальный режим прототипа, эквивалентный GitHub Pages:
npm install
npm run devРежим подключения к Worker:
cp .dev.vars.example .dev.vars
npm run db:migrate:local
npm run dev:workerПриложение в режиме подключения к Worker доступно по адресу http://localhost:8787/signal-desk/, MCP — http://localhost:8787/mcp. Укажите реальные секретные значения в .dev.vars и не добавляйте их в Git. Даже без ключа OpenAI API мониторинг с заданным URL-адресом назначения можно выполнять через Workers AI. Для мониторинга с публичным веб-поиском без URL требуется ключ OpenAI API.
Проверка качества
npm run checknpm run check выполняет следующее:
Тесты Vitest для домена, UI, URL источника мониторинга и Push URL
TypeScript фронтенда и продакшен-сборку Vite
Типы Worker
Wrangler deploy dry-run
Развёртывание
См. инструкцию по развёртыванию для D1 migration в Cloudflare, Worker Secret, VAPID, deploy и подключения ChatGPT MCP. Границы реализации и проектирование безопасности описаны в архитектуре.
Основная структура
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統合入口Технический стек
React 19 + TypeScript + Vite
Vitest + Testing Library
Vite PWA / Workbox
Cloudflare Workers + D1 + KV + Cron + Static Assets
Cloudflare Workers AI
Stateless MCP handler из Cloudflare Agents SDK
OpenAI Responses API
Web Push / VAPID
Примечания по безопасности
Не размещайте секретные данные, парольную фразу для входа или VAPID-ключи во фронтенде или в Git.
Worker поддерживает только HTTPS. Внешние страницы обрабатываются как ненадёжные данные; инструкции с этих страниц не выполняются.
Эта версия предназначена для одного владельца. Для массового использования добавьте систему управления учётными записями и внешний IdP.
Лицензия на public/THIRD_PARTY_NOTICES.txt указана в public/THIRD_PARTY_NOTICES.txt. Данный проект в настоящее время не имеет лицензии на повторное использование.
This server cannot be installed
Maintenance
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
- AlicenseBqualityDmaintenanceEnables unified management of maintenance windows and incidents across Atlassian Statuspage and Uptime Kuma. It allows AI assistants to schedule maintenance, update service statuses, and list monitors through a single MCP-compatible interface.9MIT

GetMonitor MCP Serverofficial
AlicenseCqualityCmaintenanceConnects AI assistants to GetMonitor status pages, monitors, incidents, and maintenance schedules via read-only tools.10017Apache 2.0- FlicenseNot gradedqualityCmaintenanceUptime, SSL, DNS and domain monitoring you can talk to: check, create and manage monitors for all your client sites from Claude, ChatGPT, or any MCP client.1
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with Healthchecks.io, allowing users to list, create, update, pause, resume, and delete checks, as well as view ping history and integrations.679MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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