项目简介

这是一个基于 Model Context Protocol (MCP) 的后端服务,运行在 macOS 系统上。它允许连接到它的 AI 助手(如支持 MCP 的大型语言模型客户端)通过调用特定的功能(称为“工具”)来触发 macOS 的系统通知、播放声音或进行文本转语音。

主要功能点

  • 声音通知: 允许 AI 播放 macOS 系统内置的声音,例如提示音或警报音。
  • 横幅通知: 允许 AI 在屏幕右上角显示标准 macOS 通知横幅,可以自定义标题、消息和副标题,并可选地播放声音。
  • 语音通知: 允许 AI 将一段文本通过 macOS 的文本转语音功能朗读出来,可以指定声音类型、语速和音量。
  • 语音管理: 允许 AI 查询系统上所有可用的文本转语音声音列表。
  • 系统测试: 包含一个工具,可以用来测试上述所有通知功能是否正常工作。

安装步骤

推荐使用 'uvx' 来运行,无需永久安装:

  1. 安装 uv (如果未安装): 打开终端,运行以下命令:
    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. 使用 uvx 运行服务器: 在终端中直接运行:
    uvx macos-notification-mcp

或者,你也可以使用 pip 进行标准安装:

pip install macos-notification-mcp

安装后,可以在终端中运行 'macos-notification-mcp' 命令来启动服务器。

MCP 服务器配置

此 MCP 服务器是为 MCP 客户端设计的。要让你的 AI 客户端(例如支持 MCP 的应用)使用此服务器,你需要在客户端的配置中添加该服务器的信息。配置通常是一个 JSON 格式,需要指定服务器的名称、启动命令和参数。

以下是添加到 MCP 客户端配置中的示例信息结构(请根据你的客户端实际配置文件格式进行调整):

// 示例 MCP 客户端配置片段,用于描述如何启动此服务器
"mcpServers": {
  "macos-notification-mcp": { // 服务器的唯一名称,客户端通过此名称引用
    "command": "uvx",        // 启动服务器的可执行命令,这里是 uvx
    "args": [                // 传递给启动命令的参数列表
      "macos-notification-mcp" // uvx 运行的包名或命令
    ]
    // 其他可能的配置,如 "protocol": "stdio" 等,取决于客户端
  }
  // 可以添加其他 MCP 服务器配置
}

配置完成后,重启你的 MCP 客户端,客户端应该就能发现并连接到此 macOS Notification MCP 服务器,并了解它提供的工具能力。

基本使用方法

成功配置并连接到 MCP 客户端后,你就可以通过与 AI 助手进行自然语言交互来间接使用这些功能。AI 助手会识别你的意图,并调用相应的 MCP 工具。

例如,你可以对 AI 说:

  • “播放一下 Ping 声音。” (AI 可能调用 'sound_notification' 工具,参数 'sound_name'="Ping")
  • “给我一个通知,标题是‘提醒’,内容是‘该休息一下了’。” (AI 可能调用 'banner_notification' 工具,参数 'title'="提醒", 'message'="该休息一下了")
  • “用默认声音对我说‘你好,世界’。” (AI 可能调用 'speak_notification' 工具,参数 'text'="你好,世界")
  • “列出所有可以使用的语音。” (AI 可能调用 'list_available_voices' 工具)

AI 助手会负责将你的指令转化为对 MCP 服务器工具的调用,并在 macOS 上执行相应的操作。

信息

分类

桌面与硬件