🚀 健康提醒 MCP 系統
這是一個基於 Model Context Protocol (MCP) 的健康提醒系統,能定時彈出系統通知,提醒您起身活動,有效保護身體健康。
🚀 快速開始
安裝依賴
npm install
編譯項目
npm run build
運行方式
方式一:運行 Client(推薦)
Client 會自動連接到 Server 並提供交互式控制檯:
npm run client
方式二:分別運行 Server 和 Client
終端 1 - 啟動 Server:
npm run server
終端 2 - 啟動 Client:
npm run client
開發模式
npm run dev:server
npm run dev:client
✨ 主要特性
- 🔔 定時提醒:每隔指定時間(默認 30 分鐘)彈出系統通知。
- ⚙️ 自定義配置:支持自定義提醒間隔、消息內容、通知標題和提示音。
- 📊 狀態監控:即時查看提醒運行狀態和配置信息。
- 🎯 即時提醒:支持手動觸發立即提醒。
- 🖥️ 跨平臺:支持 Windows、macOS 和 Linux 系統通知。
- 🔌 MCP 架構:完整的 Client - Server 架構,易於集成和擴展。
📦 安裝指南
項目結構
health-reminder-mcp/
├── src/
│ ├── server/
│ │ └── index.ts # MCP Server 實現
│ └── client/
│ └── index.ts # MCP Client 實現
├── package.json # 項目配置
├── tsconfig.json # TypeScript 配置
└── README.md # 說明文檔
💻 使用示例
基礎用法
示例 1:使用默認配置(30 分鐘提醒一次)
- 運行
npm run client。
- 選擇選項
1。
- 系統將每 30 分鐘彈出一次提醒通知。
高級用法
示例 2:自定義配置(每小時提醒,自定義消息)
- 運行
npm run client。
- 選擇選項
2。
- 輸入間隔時間:
60。
- 輸入標題:
休息時間。
- 輸入消息:
已經工作一小時了,該休息一下啦!。
- 選擇提示音:
y。
示例 3:立即測試通知
- 運行
npm run client。
- 選擇選項
5。
- 系統將立即彈出一次通知。
📚 詳細文檔
使用說明
交互式控制檯
啟動 Client 後,您將看到以下菜單:
╔════════════════════════════════════╗
║ 健康提醒 MCP Client 控制檯 ║
╠════════════════════════════════════╣
║ 1. 啟動健康提醒(默認30分鐘) ║
║ 2. 啟動健康提醒(自定義配置) ║
║ 3. 停止健康提醒 ║
║ 4. 查看當前狀態 ║
║ 5. 立即發送提醒 ║
║ 6. 查看可用工具 ║
║ 0. 退出程序 ║
╚════════════════════════════════════╝
可用工具(MCP Tools)
MCP Server 提供以下工具:
- start_reminder:啟動健康提醒定時器。
- 參數:
interval (number):提醒間隔時間(分鐘),默認 30。
message (string):提醒消息內容。
title (string):通知標題,默認"健康提醒"。
sound (boolean):是否播放提示音,默認 true。
- stop_reminder:停止健康提醒定時器。
- get_status:獲取當前健康提醒的狀態和配置。
- send_immediate_reminder:立即發送一次健康提醒通知(不影響定時器)。
- 參數:
message (string):提醒消息內容。
title (string):通知標題。
sound (boolean):是否播放提示音。
自定義默認配置
支持三種方式自定義默認提醒時間和消息:
1. 配置文件(推薦)
編輯項目根目錄的 config.json:
{
"reminder": {
"interval": 45,
"message": "已經 45 分鐘了,該休息了!",
"title": "工作提醒",
"sound": true
}
}
2. 環境變量
set REMINDER_INTERVAL=60
set REMINDER_MESSAGE=該休息了!
npm run server
3. 調用時傳參
在 Cursor 中:啟動健康提醒,每 45 分鐘一次。
配置優先級:調用參數 > 環境變量 > 配置文件 > 內置默認值。
詳細配置說明請查看:配置指南 | 配置示例
系統通知支持
- Windows 10/11:使用原生通知中心。
- macOS:使用原生通知中心。
- Linux:使用 libnotify (需要安裝)。
Linux 安裝通知支持
sudo apt-get install libnotify-bin
sudo dnf install libnotify
sudo pacman -S libnotify
部署方式
- 部署方式指南 - 瞭解不同部署方式的區別。
- 發佈到 npm - 📦 推薦!像
chrome-devtools-mcp 一樣分享你的 MCP Server。
- 服務器部署 - 雲服務器部署(僅供參考,不推薦用於本項目)。
使用和配置
- Cursor 配置指南 - 在 Cursor 中使用 MCP。
- 配置說明 - 詳細的配置選項。
- API 文檔 - MCP 工具接口文檔。
- 使用教程 - 完整的使用教程。
🔧 技術細節
技術棧
- TypeScript:類型安全的 JavaScript 超集。
- Node.js:JavaScript 運行時環境。
- @modelcontextprotocol/sdk:MCP 官方 SDK。
- node-notifier:跨平臺系統通知庫。
配置說明
默認配置
{
interval: 30,
message: "該起身活動一下了!久坐對健康不利,建議站起來走動走動。",
title: "健康提醒",
sound: true
}
自定義配置
您可以通過以下方式自定義配置:
- 通過交互式菜單:選擇選項 2,按提示輸入配置。
- 通過 MCP 工具調用:使用
start_reminder 工具並傳入參數。
🤝 集成到其他應用
由於使用了 MCP 協議,您可以輕鬆將此健康提醒系統集成到任何支持 MCP 的應用中:
- 將 Server 註冊到 MCP 配置文件。
- 使用任何 MCP Client 連接。
- 調用提供的工具即可。
分享給其他人使用
想讓其他人也能使用你的健康提醒系統?查看 發佈到 npm 指南
📄 許可證
MIT License
🙏 致謝
💪 健康小貼士
- 建議每 30 分鐘起身活動 5 - 10 分鐘。
- 可以做簡單的伸展運動。
- 遠眺窗外放鬆眼睛。
- 適量飲水,保持身體水分。
- 保持良好坐姿,避免長時間低頭。
祝您使用愉快,身體健康! 🌟