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
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
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)
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
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
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
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
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
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
Guión de prueba
Incluye scripts de prueba para demostrar la funcionalidad del servidor.
Ejemplos de diferentes tipos de notificaciones
Compatibilidad del cliente
Garantizar la compatibilidad con el cliente VSCode
Documentar los requisitos de configuración específicos del cliente
Entregables
Implementación de Python del servidor MCP
Scripts de prueba para demostrar la funcionalidad
requirements.txt que enumera todas las dependencias
Documentación de uso y configuración
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:
Y luego puedes activar notificaciones a través del protocolo MCP desde VSCode Cline u otros clientes MCP.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
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.
Related MCP Servers
- AsecurityAlicenseAqualityA simple MCP server that can send notifications on mac devices.Last updated -51222MIT License
- -securityAlicense-qualityThis MCP server provides email sending functionality using Protonmail's SMTP service. It allows both Claude Desktop and Cline VSCode extension to send emails on your behalf using your Protonmail credentials.Last updated -18MIT License
- AsecurityFlicenseAqualityAn MCP server that enables sending Markdown-formatted notifications to Microsoft Teams channels through a simple tool interface.Last updated -12
- AsecurityAlicenseAqualityA Model Context Protocol server that provides system notification capabilities across various platforms (macOS, Windows, Linux) using node-notifier.