Toast MCP Server

Servidor MCP con notificaciones de Windows 10 y macOS

Descripción general del proyecto

Este proyecto tiene como objetivo crear un servidor de Protocolo de Contexto de Modelo (MCP) capaz de mostrar notificaciones de escritorio. En Windows 10 utiliza la biblioteca win10toast y en macOS utiliza osascript para mostrar notificaciones. Este servidor recibe solicitudes de clientes MCP (como VSCode Cline) y muestra notificaciones de escritorio en consecuencia.

Requisitos

Requisitos funcionales

  1. Compatibilidad con el protocolo MCP
    • Una implementación del Protocolo de Contexto de Modelo para establecer comunicación con clientes MCP.
    • Compatibilidad con la última especificación MCP (proporciona compatibilidad total con VSCode Client)
    • Manejo de solicitudes sincrónicas y asincrónicas
  2. Sistema de notificación
    • Windows 10 usa la biblioteca win10toast para mostrar notificaciones del escritorio
    • En macOS, use osascript para mostrar notificaciones en el Centro de notificaciones
    • Soporte para parámetros de notificación personalizables:
      • título
      • Contenido del mensaje
      • Tiempo de visualización
      • Icono (solo Windows, opcional)
      • Subtítulo (solo macOS, opcional)
      • Sonidos de notificación (solo macOS, opcional)
      • Tipo de notificación (información, advertencia, error, éxito)
  3. Conexiones de cliente
    • Escuchar en interfaces de red configurables (no solo 127.0.0.1 para localhost, sino también 0.0.0.0 para todas las interfaces)
    • Puerto configurable (predeterminado: 8000)
    • Manejo de múltiples conexiones de cliente simultáneas
    • Manejo adecuado de errores en caso de problemas de conexión
  4. Procesamiento de comandos
    • Manejo de comandos de notificación de clientes MCP
    • Admite API simple para activar notificaciones
    • Validar comandos y proporcionar respuestas de error apropiadas

Requisitos técnicos

  1. Implementación del servidor
    • La implementación requiere Python 3.8 o superior
    • Implementado como un servidor asincrónico utilizando asyncio o una biblioteca similar
    • Siga las mejores prácticas para la implementación del servidor MCP
  2. Dependencias
    • win10toast para notificaciones de escritorio de Windows 10
    • osascript para notificaciones de macOS (incluido con el sistema)
    • Bibliotecas necesarias para implementar el protocolo MCP
    • Minimizar las dependencias externas
  3. configuración
    • Soporte para configuración mediante argumentos de línea de comandos
    • Soporte para variables de entorno
    • Proporcionar valores predeterminados razonables para todas las configuraciones
  4. Registro y manejo de errores
    • Implementación de un sistema de registro integral
    • Registro de todas las conexiones, comandos y errores del cliente
    • Manejo adecuado de excepciones con mensajes de error significativos

Requisitos de prueba

  1. Guión de prueba
    • Incluye scripts de prueba para demostrar la funcionalidad del servidor.
    • Ejemplos de diferentes tipos de notificaciones
  2. Compatibilidad del cliente
    • Garantizar la compatibilidad con el cliente VSCode
    • Documentar los requisitos de configuración específicos del cliente

Entregables

  1. Implementación de Python del servidor MCP
  2. Scripts de prueba para demostrar la funcionalidad
  3. requirements.txt que enumera todas las dependencias
  4. Documentación de uso y configuración
  5. Guía de solución de problemas comunes

Notas de implementación

  • Hacer que el servidor se vincule a todas las interfaces (0.0.0.0) en lugar de solo a localhost
  • Utilice subprocesos adecuados o patrones asincrónicos para gestionar solicitudes simultáneas
  • Incluir medidas de seguridad adecuadas (como validación de entrada)
  • Proporciona opciones de registro detalladas para depurar problemas de conexión.
  • Implementar un apagado elegante del servidor

Ejemplo de uso

El servidor completado se puede ejecutar de la siguiente manera:

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

Y luego puedes activar notificaciones a través del protocolo MCP desde VSCode Cline u otros clientes MCP.

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

Un servidor MCP que muestra notificaciones de escritorio en Windows 10 y macOS, compatible con VSCode Cline y que admite parámetros de notificación personalizables.

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