返回市场
macOS通知MCP

macOS通知MCP

作者:devizor26 星标更新:2025-05-10

项目介绍

🔔 macOS 通知 MCP

一个模型上下文协议(MCP)服务器,使AI助手能够触发macOS的通知、声音和语音播报。

✨ 功能

  • 🔊 声音通知:播放系统声音如Submarine、Ping或Tink
  • 💬 横幅通知:显示带有可自定义标题、消息和副标题的视觉通知
  • 🗣️ 语音通知:将文本转换为语音,并调整语音、语速和音量
  • 🎙️ 语音管理:列出并选择可用的系统语音
  • 🧪 测试工具:诊断工具以验证所有通知方法

🚀 快速开始(推荐)

最快的方式是使用uvx,它可以在不进行永久安装的情况下运行包:

# 如果没有安装uv,请先安装
curl -LsSf https://astral.sh/uv/install.sh | sh

# 直接运行MCP服务器(无需安装)
uvx macos-notification-mcp

⚙️ 配置Claude Desktop

在你的Claude Desktop配置中添加以下内容(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "macos-notification-mcp": {
      "command": "uvx",
      "args": ["macos-notification-mcp"]
    }
  }
}

然后重启Claude Desktop。

📦 其他安装方法

标准安装:

pip install macos-notification-mcp

从源码安装:

git clone https://github.com/devizor/macos-notification-mcp
cd macos-notification-mcp
pip install .

🛠️ 可用的通知工具

🔊 声音通知

sound_notification(sound_name="Submarine")

可用的声音:Basso, Blow, Bottle, Frog, Funk, Glass, Hero, Morse, Ping, Pop, Purr, Sosumi, Submarine, Tink

💬 横幅通知

banner_notification(
    title="任务完成",
    message="您的分析已完成",
    subtitle=None,  # 可选
    sound=False,    # 可选:与通知一起播放声音
    sound_name=None # 可选:指定系统声音
)

🗣️ 语音通知

speak_notification(
    text="进程已完成",
    voice=None,     # 可选:使用的系统语音
    rate=150,       # 可选:每分钟单词数(默认:150)
    volume=1.0      # 可选:音量级别 0.0-1.0
)

🎙️ 语音管理

list_available_voices()  # 列出所有可用的文本到语音的语音

🧪 测试

test_notification_system()  # 测试所有通知方法

🔒 实现细节

  • ⏱️ 速率限制:通知一次处理一个,最小间隔为0.5秒
  • 🔄 队列:多个通知请求按顺序处理
  • 🪟 操作系统集成:使用macOS原生命令(afplay, osascript, say
  • 🔌 FastMCP:基于FastMCP框架构建用于AI通信

⚠️ 故障排除

  • 🔐 权限:确保在系统设置→通知中允许通知
  • 时间:一次只处理一个通知
  • 🌐 环境:如果直接使用命令(而不是uvx),可能需要使用完整路径

📄 许可证

MIT 许可证