Skip to main content
Glama
Rune-markar

Signal Desk MCP

by Rune-markar

Signal Desk

모니터링 항목을 전용 화면에서 관리하고, 정기 실행, 이력, 앱 내 알림, Web Push를 다루는 PWA입니다. ChatGPT에서는 OAuth로 보호된 MCP 도구를 사용하여 동일한 모니터링 항목을 등록·업데이트·실행할 수 있습니다.

공개 위치

GitHub Pages는 비밀 정보나 정기 처리를 가질 수 없으므로 브라우저 내 데모로 동작합니다. 자동 모니터링·MCP·Push를 사용하는 본운영 URL은 Cloudflare Worker를 deploy할 때 발급됩니다.

Related MCP server: GetMonitor MCP Server

동작 모드

GitHub Pages / 로컬 시제품 모드

  • 모니터링 항목 추가, 편집, 중지, 재개, 삭제, 검색, 필터링

  • 알림의 읽지 않음, 일괄 읽음, 스누즈

  • 실행 이력 및 다음 예정

  • ChatGPT Scheduled task의 내용을 수동 입력하고 중지 상태로 마이그레이션

  • localStorage에 저장

  • Worker 버전으로 전달할 비샘플 데이터 JSON 내보내기

  • 외부 통신을 하지 않는 "데모 결과"

  • PWA 앱 셸의 오프라인 표시

Cloudflare Worker 연결 모드

  • D1을 원본으로 하는 기기 간 동기화

  • 세션 인증 및 단일 소유자 데이터 분리

  • 15분마다의 Cron과 실행 lease

  • 참조 URL이 있는 모니터링을 판정하는 Cloudflare Workers AI

  • OpenAI Responses API를 통한 공개 웹 검색(API 키 설정 시)

  • HTTPS 페이지의 안전한 획득 또는 웹 검색

  • 성공·불일치·실패 이력과 알림 중복 방지

  • VAPID Web Push와 조용한 시간

  • OAuth 2.1 + PKCE로 보호된 /mcp

  • ChatGPT에서의 목록, 생성, 업데이트, 중지·재개, 즉시 실행, 삭제

  • 연결 전 로컬 데이터의 명시적 1회 마이그레이션

  • GitHub Pages 버전에서 내보낸 JSON의 검증·읽기

인증된 화면이 그대로 오프라인이 된 경우, 같은 실행 중에만 직전 서버 상태를 열람할 수 있습니다. 다시 로드할 때는 인증 확인까지 로컬 데이터만 표시하고, 로그아웃·401·미인증 확인 시에는 기기의 서버 캐시를 삭제합니다. 오프라인 중에는 서버 데이터 변경을 수행하지 않습니다.

ChatGPT와의 경계

Signal Desk를 모니터링 항목의 원본으로 삼습니다. ChatGPT에 MCP를 연결하면 대화에서 Signal Desk의 모니터링을 조작할 수 있습니다.

한편, ChatGPT Scheduled Tasks의 기존 목록이나 실행 이력을 가져오는 일반용 API는 확인할 수 없으므로 다음은 수행하지 않습니다.

  • 기존 Scheduled Tasks의 자동 가져오기

  • ChatGPT 측 알림 수신처를 Signal Desk로 대체

  • ChatGPT 측과 Signal Desk 측의 양방향 동기화

기존 태스크는 화면의 "ChatGPT에서 마이그레이션"으로 내용을 확인하고, 중지 상태로 수동 저장합니다. Signal Desk에서 테스트 성공 후에 원래 ChatGPT 태스크를 이용자가 중지하세요.

GitHub Pages 버전과 Worker 버전은 오리진이 다르므로 브라우저 저장 데이터는 자동 공유되지 않습니다. Pages 버전의 "설정"에서 마이그레이션용 JSON을 내보내고, 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 check

npm run check는 다음을 실행합니다.

  • Vitest의 도메인, UI, 모니터링 원본 URL, Push URL 테스트

  • 프론트엔드 TypeScript와 Vite 프로덕션 빌드

  • Worker TypeScript

  • Wrangler의 deploy dry-run

배포

Cloudflare에 대한 D1 migration, 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

  • Cloudflare Agents SDK의 stateless MCP handler

  • Cloudflare Workers OAuth Provider

  • OpenAI Responses API

  • Web Push / VAPID

  • Temporal polyfill

보안상 주의

  • API 키, 로그인용 패스프레이즈, VAPID private key를 프론트엔드나 Git에 두지 마세요.

  • 모니터링 원본은 HTTPS만 가능합니다. Worker는 private network, 위험한 redirect, 비텍스트 응답, 512KB 초과를 거부합니다.

  • 외부 페이지는 신뢰할 수 없는 데이터로 모델에 전달하며, 페이지 내 명령을 실행하지 않습니다.

  • 이 버전의 인증은 단일 소유자용입니다. 불특정 다수에게 공개하기 전에 외부 IdP와 계정 관리를 추가하세요.

  • Push 수신, 알림 클릭, PWA 설치, Android/iOS 아이콘은 프로덕션 HTTPS와 실기기에서 최종 확인하세요.

Noto Sans JP의 라이선스는 public/THIRD_PARTY_NOTICES.txt에 수록되어 있습니다. 이 프로젝트 자체에는 현재 시점에서 재사용 라이선스를 부여하지 않습니다.

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