健康提醒 MCP 系统
一个基于 Model Context Protocol (MCP) 的健康提醒系统,可以定时弹出系统通知提醒您起身活动,保护健康。
✨ 功能特性
🔔 定时提醒: 每隔指定时间(默认30分钟)弹出系统通知
⚙️ 自定义配置: 支持自定义提醒间隔、消息内容、通知标题和提示音
📊 状态监控: 实时查看提醒运行状态和配置信息
🎯 即时提醒: 支持手动触发立即提醒
🖥️ 跨平台: 支持 Windows、macOS 和 Linux 系统通知
🔌 MCP 架构: 完整的 Client-Server 架构,易于集成和扩展
📦 项目结构
🚀 快速开始
1. 安装依赖
2. 编译项目
3. 运行方式
方式一:运行 Client(推荐)
Client 会自动连接到 Server 并提供交互式控制台:
方式二:分别运行 Server 和 Client
终端 1 - 启动 Server:
终端 2 - 启动 Client:
4. 开发模式
💡 使用说明
交互式控制台
启动 Client 后,您将看到以下菜单:
可用工具(MCP Tools)
MCP Server 提供以下工具:
1. start_reminder
启动健康提醒定时器
参数:
interval(number): 提醒间隔时间(分钟),默认 30message(string): 提醒消息内容title(string): 通知标题,默认"健康提醒"sound(boolean): 是否播放提示音,默认 true
2. stop_reminder
停止健康提醒定时器
3. get_status
获取当前健康提醒的状态和配置
4. send_immediate_reminder
立即发送一次健康提醒通知(不影响定时器)
参数:
message(string): 提醒消息内容title(string): 通知标题sound(boolean): 是否播放提示音
📝 使用示例
示例 1:使用默认配置(30分钟提醒一次)
运行
npm run client选择选项
1系统将每 30 分钟弹出一次提醒通知
示例 2:自定义配置(每小时提醒,自定义消息)
运行
npm run client选择选项
2输入间隔时间:
60输入标题:
休息时间输入消息:
已经工作一小时了,该休息一下啦!选择提示音:
y
示例 3:立即测试通知
运行
npm run client选择选项
5系统将立即弹出一次通知
⚙️ 自定义默认配置
支持三种方式自定义默认提醒时间和消息:
1. 配置文件(推荐)
编辑项目根目录的 config.json:
2. 环境变量
3. 调用时传参
在 Cursor 中:启动健康提醒,每 45 分钟一次
配置优先级:调用参数 > 环境变量 > 配置文件 > 内置默认值
🛠️ 技术栈
TypeScript: 类型安全的 JavaScript 超集
Node.js: JavaScript 运行时环境
@modelcontextprotocol/sdk: MCP 官方 SDK
node-notifier: 跨平台系统通知库
🔧 配置说明
默认配置
自定义配置
您可以通过以下方式自定义配置:
通过交互式菜单:选择选项 2,按提示输入配置
通过 MCP 工具调用:使用
start_reminder工具并传入参数
📱 系统通知支持
Windows 10/11: 使用原生通知中心
macOS: 使用原生通知中心
Linux: 使用 libnotify (需要安装)
Linux 安装通知支持
📚 文档
部署方式
部署方式指南 - 了解不同部署方式的区别
发布到 npm - 📦 推荐!像
chrome-devtools-mcp一样分享你的 MCP Server服务器部署 - 云服务器部署(仅供参考,不推荐用于本项目)
使用和配置
Cursor 配置指南 - 在 Cursor 中使用 MCP
配置说明 - 详细的配置选项
API 文档 - MCP 工具接口文档
使用教程 - 完整的使用教程
🤝 集成到其他应用
由于使用了 MCP 协议,您可以轻松将此健康提醒系统集成到任何支持 MCP 的应用中:
将 Server 注册到 MCP 配置文件
使用任何 MCP Client 连接
调用提供的工具即可
分享给其他人使用
想让其他人也能使用你的健康提醒系统?查看 发布到 npm 指南
📄 许可证
MIT License
🙏 致谢
💪 健康小贴士
建议每 30 分钟起身活动 5-10 分钟
可以做简单的伸展运动
远眺窗外放松眼睛
适量饮水,保持身体水分
保持良好坐姿,避免长时间低头
祝您使用愉快,身体健康! 🌟
local-only server
The server can only run on the client's local machine because it depends on local resources.
Sends periodic system notifications to remind users to take breaks and move around, with customizable intervals, messages, and cross-platform notification support.