Skip to main content
Glama
Rune-markar

Signal Desk MCP

by Rune-markar

Signal Desk

在专用画面中管理监控项目,支持定期执行、历史记录、应用内通知和Web Push的PWA。可以通过受OAuth保护的MCP工具,从ChatGPT注册、更新和执行相同的监控项目。

公开地址

GitHub Pages无法保存机密信息或执行定期处理,因此以浏览器内演示形式运行。使用自动监控、MCP和Push的生产环境URL,将在部署Cloudflare Worker时发布。

Related MCP server: GetMonitor MCP Server

运行模式

GitHub Pages / 本地试作模式

  • 监控项目的添加、编辑、停止、恢复、删除、搜索、筛选

  • 通知的未读、全部已读、稍后提醒

  • 执行历史和下次预定

  • 手动输入ChatGPT Scheduled task的内容,以停止状态迁移

  • 保存到localStorage

  • 导出传递给Worker版的非示例数据JSON

  • 不进行外部通信的“演示结果”

  • PWA应用壳的离线显示

Cloudflare Worker连接模式

  • 以D1为正式数据的设备间同步

  • 会话认证和单一所有者的数据隔离

  • 每15分钟的Cron和执行lease

  • 使用Cloudflare Workers AI判断带参照URL的监控

  • 通过OpenAI Responses API进行公开Web搜索(设置API密钥时)

  • 安全获取HTTPS页面,或Web搜索

  • 成功、不一致、失败的履历和通知重复防止

  • VAPID Web Push和免打扰时间

  • 受OAuth 2.1 + PKCE保护的/mcp

  • 从ChatGPT进行列表、创建、更新、停止・恢复、立即执行、删除

  • 连接前本地数据的明确一次性迁移

  • 验证并读取GitHub Pages版导出的JSON

如果已认证的页面在离线状态下,仅在当前启动期间可以查看之前的服务器状态。重新加载时,在确认认证之前仅显示本地数据,在登出、401、未认证确认时删除设备上的服务器缓存。离线期间不进行服务器数据更改。

与ChatGPT的边界

将Signal Desk作为监控项目的正式数据。将MCP连接到ChatGPT后,可以从对话中操作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而使用公开Web搜索的监控需要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放置在frontend或Git中。

  • 监控源仅支持HTTPS。Worker会拒绝private network、危险的redirect、非文本响应、超过512KB的内容。

  • 将外部页面作为不可信数据传递给模型,不执行页面内的指令。

  • 此版本的认证面向单一所有者。在向不特定多数公开之前,请添加外部IdP和账户管理。

  • 请在正式HTTPS和真机上最终确认Push接收、通知点击、PWA安装、Android/iOS图标。

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