使用说明
项目简介
MCP桌面通知服务器是一个实现了 Model Context Protocol (MCP) 的应用后端,专注于为 LLM 客户端提供桌面通知功能。当 Agent 任务完成时,此服务器可以发送跨平台的系统桌面通知,并通过播放声音提醒用户,从而增强用户与 LLM Agent 交互的体验。
主要功能点
- 桌面通知: 在 Windows, macOS, Linux 系统上发送原生桌面通知。
- 声音提醒: 任务完成时播放声音提示,吸引用户注意。
- 跨平台支持: 支持 Windows, macOS, Linux 等主流桌面操作系统。
- 标准MCP协议: 基于 MCP 协议构建,可以与各种兼容 MCP 协议的 LLM 客户端集成,如 Claude Desktop, Cursor 等。
- 灵活配置: 支持通过命令行参数配置debug模式和日志文件。
安装步骤
-
克隆仓库:
git clone https://github.com/Cactusinhand/mcp_server_notify.git cd mcp_server_notify -
创建并激活虚拟环境 (推荐使用 uv 或 virtualenv):
使用 uv (更快速):
uv venv source .venv/Scripts/activate # Linux/macOS .venv\Scripts\activate # Windows或者使用 virtualenv:
python -m venv .venv source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows -
安装 mcp-server-notify 包:
使用 uv (更快速):
uv pip install mcp-server-notify或者使用 pip:
pip install mcp-server-notify -
安装特定系统依赖 (如果需要桌面通知功能):
Windows:
pip install pywin32macOS: 确保安装 'terminal-notifier':
brew install terminal-notifier
服务器配置
此 MCP 服务器需要配置到兼容 MCP 协议的 LLM 客户端中才能使用。以下是 Claude Desktop 和 Cursor 的配置示例。
Claude Desktop 配置 (修改 'claude_desktop_config.json' 文件):
{ "mcpServers": { "NotificationServer": { "command": "python", "args": [ "-m", "mcp_server_notify" ] } } }
配置参数说明:
- '"NotificationServer"': 服务器名称,可以自定义。
- '"command": "python"': 启动服务器的命令,这里使用 Python 解释器。
- '"args": ["-m", "mcp_server_notify"]': 传递给 Python 解释器的参数,'-m mcp_server_notify' 表示运行 'mcp_server_notify' 模块。
Cursor 配置 (修改 '~/.cursor/mcp.json' 或 'your_project/.cursor/mcp.json' 文件):
{ "mcpServers": { "NotificationServer": { "command": "python", "args": [ "-m", "mcp_server_notify" ] } } }
配置参数说明 与 Claude Desktop 相同。
其他配置选项:
你还可以通过添加 '--debug' 参数启用debug模式,或使用 '--log-file=path/to/logfile.log' 指定日志文件路径。例如:
{ "mcpServers": { "NotificationServer": { "command": "python", "args": [ "-m", "mcp_server_notify", "--debug", "--log-file=notification_server.log" ] } } }
基本使用方法
配置完成后,在 LLM 客户端(如 Claude Desktop 或 Cursor)中,在你的任务提示末尾添加类似 'finally, send me a notification when task finished.' 的指令,即可在任务完成后收到桌面通知和声音提醒。
在 Cursor 中,你可以将此提示添加到 'Cursor Settings' -> 'Rules' 中,设置为默认规则,避免每次手动输入。
示例提示:
Summarize the following article. finally, send me a notification when task finished.
当 LLM 完成文章总结后,MCP桌面通知服务器会发送一个系统通知,告知任务已完成。
信息
分类
桌面与硬件