Toast MCP Server

带有 Windows 10 和 macOS 通知的 MCP 服务器

项目概述

该项目旨在创建一个能够显示桌面通知的模型上下文协议 (MCP) 服务器。在 Windows 10 上,它使用 win10toast 库,而在 macOS 上,它使用 osascript 来显示通知。该服务器接收来自 MCP 客户端(例如 VSCode Cline)的请求并相应地显示桌面通知。

要求

功能要求

  1. MCP 协议支持
    • 模型上下文协议的实现,用于与 MCP 客户端建立通信。
    • 支持最新的 MCP 规范(提供与 VSCode Client 的完全兼容性)
    • 处理同步和异步请求
  2. 通知系统
    • Windows 10 使用 win10toast 库显示桌面通知
    • 在 macOS 上,使用 osascript 在通知中心显示通知
    • 支持自定义通知参数:
      • 标题
      • 消息内容
      • 显示时间
      • 图标(仅限 Windows,可选)
      • 字幕(仅限 macOS,可选)
      • 通知声音(仅限 macOS,可选)
      • 通知类型(信息、警告、错误、成功)
  3. 客户端连接
    • 监听可配置的网络接口(不仅是本地主机的 127.0.0.1,还有所有接口的 0.0.0.0)
    • 可配置端口(默认值:8000)
    • 处理多个同时的客户端连接
    • 正确处理连接问题的错误
  4. 命令处理
    • 处理来自 MCP 客户端的通知命令
    • 支持简单的 API 来触发通知
    • 验证命令并提供适当的错误响应

技术要求

  1. 服务器实现
    • 实现需要 Python 3.8 或更高版本
    • 使用 asyncio 或类似库实现异步服务器
    • 遵循 MCP 服务器实施的最佳实践
  2. 依赖项
    • win10toast 用于 Windows 10 桌面通知
    • 用于 macOS 通知的 osascript(随系统附带)
    • 实现 MCP 协议所需的库
    • 尽量减少外部依赖
  3. 环境
    • 支持通过命令行参数进行配置
    • 支持环境变量
    • 为所有设置提供合理的默认值
  4. 日志记录和错误处理
    • 实施全面的日志系统
    • 记录所有客户端连接、命令和错误
    • 正确处理异常并给出有意义的错误消息

测试要求

  1. 测试脚本
    • 包括测试脚本来演示服务器的功能
    • 不同通知类型的示例
  2. 客户端兼容性
    • 确保与 VSCode 客户端兼容
    • 记录客户特定的配置要求

交付成果

  1. MCP服务器的Python实现
  2. 测试脚本来演示功能
  3. 列出所有依赖项的 requirements.txt
  4. 使用和配置文档
  5. 常见问题故障排除指南

实施说明

  • 使服务器绑定到所有接口(0.0.0.0)而不仅仅是本地主机
  • 使用适当的线程或异步模式来处理并发请求
  • 包括适当的安全措施(例如输入验证)
  • 提供用于调试连接问题的详细日志选项
  • 实现服务器的正常关闭

使用示例

完成后的服务器可以按如下方式运行:

python mcp_server.py --port 8000 --host 0.0.0.0

然后,您可以通过 MCP 协议从 VSCode Cline 或其他 MCP 客户端触发通知。

-
security - not tested
-
license - not tested
-
quality - not tested

一个在 Windows 10 和 macOS 上显示桌面通知的 MCP 服务器,兼容 VSCode Cline 并支持可自定义的通知参数。

  1. プロジェクト概要
    1. 要件
      1. 機能要件
      2. 技術要件
      3. テスト要件
    2. 成果物
      1. 実装上の注意
        1. 使用例
          ID: jld7uwa9h9