macOS Notification MCP

Activa notificaciones, sonidos y texto a voz en macOS desde un asistente de IA.

Documentación

🔔 macOS Notification MCP

Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los asistentes de IA activar notificaciones, sonidos y texto a voz de macOS.

✨ Características

  • 🔊 Notificaciones de sonido: Reproduce sonidos del sistema como Submarine, Ping o Tink
  • 💬 Notificaciones de banner: Muestra notificaciones visuales con título, mensaje y subtítulo personalizables
  • 🗣️ Notificaciones de voz: Convierte texto a voz con voz, velocidad y volumen ajustables
  • 🎙️ Gestión de voces: Lista y selecciona entre las voces del sistema disponibles
  • 🧪 Herramientas de prueba: Utilidades de diagnóstico para verificar todos los métodos de notificación

🚀 Inicio rápido con uvx (Recomendado)

La forma más rápida de usar esta herramienta es con uvx, que ejecuta paquetes sin instalación permanente:

# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh

# Run the MCP server directly (no installation needed)
uvx macos-notification-mcp

⚙️ Configurar Claude Desktop

Añade esto a tu configuración de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "macos-notification-mcp": {
      "command": "uvx",
      "args": ["macos-notification-mcp"]
    }
  }
}

Luego reinicia Claude Desktop.

📦 Métodos de instalación alternativos

Instalación estándar:

pip install macos-notification-mcp

Instalar desde el código fuente:

git clone https://github.com/devizor/macos-notification-mcp
cd macos-notification-mcp
pip install .

🛠️ Herramientas de notificación disponibles

🔊 Notificación de sonido

sound_notification(sound_name="Submarine")

Sonidos disponibles: Basso, Blow, Bottle, Frog, Funk, Glass, Hero, Morse, Ping, Pop, Purr, Sosumi, Submarine, Tink

💬 Notificación de banner

banner_notification(
    title="Task Complete",
    message="Your analysis is ready",
    subtitle=None,  # Optional
    sound=False,    # Optional: Play sound with notification
    sound_name=None # Optional: Specify system sound
)

🗣️ Notificación de voz

speak_notification(
    text="The process has completed",
    voice=None,     # Optional: System voice to use
    rate=150,       # Optional: Words per minute (default: 150)
    volume=1.0      # Optional: Volume level 0.0-1.0
)

🎙️ Gestión de voces

list_available_voices()  # Lists all available text-to-speech voices

🧪 Pruebas

test_notification_system()  # Tests all notification methods

🔒 Detalles de implementación

  • ⏱️ Límite de velocidad: Las notificaciones se procesan una a la vez con un intervalo mínimo de 0,5 segundos
  • 🔄 Cola: Las múltiples solicitudes de notificación se manejan secuencialmente
  • 🪟 Integración con el sistema: Utiliza comandos nativos de macOS (afplay, osascript, say)
  • 🔌 FastMCP: Construido sobre el framework FastMCP para la comunicación con IA

⚠️ Solución de problemas

  • 🔐 Permisos: Asegúrate de que las notificaciones estén permitidas en Configuración del Sistema → Notificaciones
  • Tiempo: Solo se procesa una notificación a la vez
  • 🌐 Entorno: Si usas el comando directamente (no uvx), es posible que necesites usar rutas completas

📄 Licencia

Licencia MIT