Health Reminder MCP Server
Sends periodic system notifications to remind users to take breaks and move around, with customizable intervals, messages, and cross-platform notification support.
README
健康提醒 MCP 系统
一个基于 Model Context Protocol (MCP) 的健康提醒系统,可以定时弹出系统通知提醒您起身活动,保护健康。
✨ 功能特性
- 🔔 定时提醒: 每隔指定时间(默认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. 安装依赖
npm install
2. 编译项目
npm run build
3. 运行方式
方式一:运行 Client(推荐)
Client 会自动连接到 Server 并提供交互式控制台:
npm run client
方式二:分别运行 Server 和 Client
终端 1 - 启动 Server:
npm run server
终端 2 - 启动 Client:
npm run client
4. 开发模式
# 启动 Server(开发模式)
npm run dev:server
# 启动 Client(开发模式)
npm run dev:client
💡 使用说明
交互式控制台
启动 Client 后,您将看到以下菜单:
╔════════════════════════════════════╗
║ 健康提醒 MCP Client 控制台 ║
╠════════════════════════════════════╣
║ 1. 启动健康提醒(默认30分钟) ║
║ 2. 启动健康提醒(自定义配置) ║
║ 3. 停止健康提醒 ║
║ 4. 查看当前状态 ║
║ 5. 立即发送提醒 ║
║ 6. 查看可用工具 ║
║ 0. 退出程序 ║
╚════════════════════════════════════╝
可用工具(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:
{
"reminder": {
"interval": 45,
"message": "已经 45 分钟了,该休息了!",
"title": "工作提醒",
"sound": true
}
}
2. 环境变量
set REMINDER_INTERVAL=60
set REMINDER_MESSAGE=该休息了!
npm run server
3. 调用时传参
在 Cursor 中:启动健康提醒,每 45 分钟一次
配置优先级:调用参数 > 环境变量 > 配置文件 > 内置默认值
🛠️ 技术栈
- TypeScript: 类型安全的 JavaScript 超集
- Node.js: JavaScript 运行时环境
- @modelcontextprotocol/sdk: MCP 官方 SDK
- node-notifier: 跨平台系统通知库
🔧 配置说明
默认配置
{
interval: 30, // 30分钟
message: "该起身活动一下了!久坐对健康不利,建议站起来走动走动。",
title: "健康提醒",
sound: true // 开启提示音
}
自定义配置
您可以通过以下方式自定义配置:
- 通过交互式菜单:选择选项 2,按提示输入配置
- 通过 MCP 工具调用:使用
start_reminder工具并传入参数
📱 系统通知支持
- Windows 10/11: 使用原生通知中心
- macOS: 使用原生通知中心
- Linux: 使用 libnotify (需要安装)
Linux 安装通知支持
# Ubuntu/Debian
sudo apt-get install libnotify-bin
# Fedora
sudo dnf install libnotify
# Arch Linux
sudo pacman -S libnotify
📚 文档
部署方式
- 部署方式指南 - 了解不同部署方式的区别
- 发布到 npm - 📦 推荐!像
chrome-devtools-mcp一样分享你的 MCP Server - 服务器部署 - 云服务器部署(仅供参考,不推荐用于本项目)
使用和配置
- Cursor 配置指南 - 在 Cursor 中使用 MCP
- 配置说明 - 详细的配置选项
- API 文档 - MCP 工具接口文档
- 使用教程 - 完整的使用教程
🤝 集成到其他应用
由于使用了 MCP 协议,您可以轻松将此健康提醒系统集成到任何支持 MCP 的应用中:
- 将 Server 注册到 MCP 配置文件
- 使用任何 MCP Client 连接
- 调用提供的工具即可
分享给其他人使用
想让其他人也能使用你的健康提醒系统?查看 发布到 npm 指南
📄 许可证
MIT License
🙏 致谢
💪 健康小贴士
- 建议每 30 分钟起身活动 5-10 分钟
- 可以做简单的伸展运动
- 远眺窗外放松眼睛
- 适量饮水,保持身体水分
- 保持良好坐姿,避免长时间低头
祝您使用愉快,身体健康! 🌟
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。