使用说明

项目简介

MCP桌面通知服务器是一个实现了 Model Context Protocol (MCP) 的应用后端,专注于为 LLM 客户端提供桌面通知功能。当 Agent 任务完成时,此服务器可以发送跨平台的系统桌面通知,并通过播放声音提醒用户,从而增强用户与 LLM Agent 交互的体验。

主要功能点

  • 桌面通知: 在 Windows, macOS, Linux 系统上发送原生桌面通知。
  • 声音提醒: 任务完成时播放声音提示,吸引用户注意。
  • 跨平台支持: 支持 Windows, macOS, Linux 等主流桌面操作系统。
  • 标准MCP协议: 基于 MCP 协议构建,可以与各种兼容 MCP 协议的 LLM 客户端集成,如 Claude Desktop, Cursor 等。
  • 灵活配置: 支持通过命令行参数配置debug模式和日志文件。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/Cactusinhand/mcp_server_notify.git
    cd mcp_server_notify
  2. 创建并激活虚拟环境 (推荐使用 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
  3. 安装 mcp-server-notify 包:

    使用 uv (更快速):

    uv pip install mcp-server-notify

    或者使用 pip:

    pip install mcp-server-notify
  4. 安装特定系统依赖 (如果需要桌面通知功能):

    Windows:

    pip install pywin32

    macOS: 确保安装 '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桌面通知服务器会发送一个系统通知,告知任务已完成。

信息

分类

桌面与硬件