跨平台通知服务器

一个支持Windows 10和macOS的MCP协议通知服务器,用于接收客户端请求并显示桌面通知。

  • by naru-sensei
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 naru-sensei/-toast-mcp-server

使用说明

Windows 10 单击功能区上macOS 带通知功能MCP 服务器

项目简介

此项目可显示桌面通知Model Context Protocol (MCP) 目的是创建服务器。Windows 10 那么,那么win10toast 使用库macOS 那么,那么osascript 查看项目中可用的所有族。这个服务器MCP 接收来自客户端(例如,VScode Cline)的请求,并根据该请求显示桌面通知。

要件

机能要件

  1. MCP 协议支持

    • MCP 建立与客户端的通信Model Context Protocol 实施
    • 最新MCP 规格支持(与VSCode Cline完全兼容)
    • 处理同步和异步请求
  2. 通知系统

    • Windows 10 那么,那么win10toast 使用库查看桌面通知
    • macOS 那么,那么osascript 使用在通知中心显示通知
    • 支持可定制的通知参数:
      • 标题
      • 信息内容
      • 表示时间
      • 图标(仅Windows,可选)
      • 副标题(仅macOS可选)
      • 通知音(仅macOS可选)
      • 通知类型(信息、警告、错误、成功)
  3. 客户端连接

    • 在可配置的网络接口上进行监听(不仅是localhost的127.0.0.0.1,也是所有接口的0.0.0.0)
    • 可配置端口(默认值:8000)
    • 处理多个并发客户端连接
    • 正确的连接问题错误处理
  4. 命令处理

    • MCP 处理客户端通知命令
    • 简单的触发通知API 支持
    • 提供命令验证和适当的错误响应

技術要件

  1. 服务器实施

    • 要实施Python 3.8 使用以上
    • asyncio 或使用类似库实现为异步服务器
    • MCP 遵循服务器实施最佳实践
  2. 依存关系

    • Windows 10 桌面通知win10toast
    • macOS 通知osascript(系统标配)
    • MCP 协议实现所需的库
    • 最小化外部依赖关系
  3. 设定

    • 支持命令行参数设置
    • 环境变量支持设置
    • 为所有设置提供合理的默认值
  4. 记录和错误处理

    • 实现全面的日志系统
    • 记录所有客户端连接、命令和错误
    • 适当的异常处理,包括有意义的错误消息

测试要求

  1. 测试脚本

    • 包含验证服务器功能的测试脚本
    • 各种通知类型的示例
  2. 客户端兼容性

    • VSCode Cline 的兼容性
    • 记录特定于客户端的配置要求

成果物

  1. MCP 服务器Python 实施
  2. 验证功能的测试脚本
  3. 列出了所有依赖关系requirements.txt
  4. 使用和设置文档
  5. 常见问题故障排除指南

实施注意事项

  • 服务器localhost 绑定到所有接口(0.0.0.0)
  • 使用适当的线程或异步模式处理并发请求
  • 包括适当的安全措施(输入验证等)
  • 为调试连接问题提供详细的日志选项
  • 实施适当的服务器关闭

使用例

完成的服务器可执行以下操作:

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

然后VSCode Cline 或其他MCP 从客户端MCP 允许通过协议触发通知。