Toast Mcp Server

Toast Mcp Server

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

本项目致力于打造一个具备桌面通知显示功能的 Model Context Protocol (MCP) 服务器。在 Windows 10 系统中借助 win10toast 库,而在 macOS 系统则利用 osascript 来实现通知展示。该服务器会接收来自 MCP 客户端(例如 VSCode Cline)的请求,并依据这些请求在桌面呈现相应通知。

🚀 快速开始

完成后的服务器可以这样运行:

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

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

✨ 主要特性

  • MCP 协议支持:实现与 MCP 客户端的通信,建立 Model Context Protocol,支持最新的 MCP 规格,确保与 VSCode Cline 完全兼容,能处理同步和异步请求。
  • 通知系统:在 Windows 10 上用 win10toast 库显示桌面通知,在 macOS 上通过 osascript 在 NotificationCenter 中显示通知,支持可自定义的通知参数,如标题、消息内容、显示时间等。
  • 客户端连接:支持在设置的网络接口上侦听,不仅限于 localhost 的 127.0.0.1,也支持所有接口的 0.0.0.0,支持设置端口(默认 8000),能处理多个同时客户端连接,并对连接问题进行适当的错误处理。
  • 命令处理:处理来自 MCP 客户端的通知命令,支持触发通知的简单 API,进行命令验证并提供适当的错误响应。

📦 安装指南

此部分原文档未提及安装命令,故跳过。

💻 使用示例

基础用法

完成后的服务器可以这样运行:

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

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

📚 详细文档

需求

功能需求

  1. MCP 协议支持
    • 实现与 MCP 客户端的通信,以建立 Model Context Protocol。
    • 支持最新的 MCP 规格(提供与 VSCode Cline 的完全兼容性)。
    • 处理同步和异步请求。
  2. 通知系统
    • 在 Windows 10 上使用 win10toast 库显示桌面通知。
    • 在 macOS 上使用 osascript 在 NotificationCenter 中显示通知。
    • 支持可自定义的通知参数:
      • 标题
      • 消息内容
      • 显示时间
      • 图标(Windows 专用,可选)
      • 副标题(macOS 专用,可选)
      • 通知音(macOS 专用,可选)
      • 通知类型(信息、警告、错误、成功)
  3. 客户端连接
    • 支持在设置的网络接口上进行侦听(不仅限于 localhost 的 127.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. Python 实现的 MCP 服务器。
  2. 验证功能的测试脚本。
  3. 列出所有依赖项的 requirements.txt。
  4. 使用方法和配置的相关文档。
  5. 一般问题的故障排除指南。

实现注意事项

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

🔧 技术细节

  • 服务器实现:采用 Python 3.8 或更高版本,借助 asyncio 或类似库实现异步服务器,遵循 MCP 服务器实现的最佳实践。
  • 依赖关系:Windows 10 桌面通知依赖 win10toast,macOS 通知使用系统自带的 osascript,同时包含实现 MCP 协议所需的库,并尽量减少外部依赖项。
  • 配置方式:支持通过命令行参数和环境变量进行设置,且为所有设置提供合理的默认值。
  • 日志记录和错误处理:实现了全面的日志系统,记录所有客户端连接、命令和错误,并对有意义的错误消息进行适当的异常处理。
  • 0 关注
  • 0 收藏,16 浏览
  • system 提出于 2025-10-06 09:18

相似服务问题

相关AI产品