Skip to main content
Glama

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

项目概述

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

Related MCP server: protonmail-mcp

要求

功能要求

  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
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/naru-sensei/-toast-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server