Ai Notify MCP

Recibe notificaciones del sistema en tu editor de código cuando una respuesta de IA esté completa.

Documentación

Ai Notify MCP

License: MIT TypeScript Node.js

🎯 Servidor de notificaciones inteligente diseñado para editores de código con IA que admiten el protocolo MCP. Envía notificaciones del sistema automáticamente cuando la IA completa una respuesta, mejorando la experiencia de programación.

ai-notify

📑 Índice

✨ Características

🔔 Soporte de notificaciones multiplataforma

PlataformaMétodo de notificaciónSoporte de iconosSoporte de sonido
macOSCentro de notificaciones del sistema✅✅
WindowsSistema de notificaciones de Windows✅✅
Linuxlibnotify✅✅

🎨 Altamente personalizable

  • Título inteligente: muestra automáticamente el nombre del proyecto actual
  • Contenido flexible: admite mensajes de notificación personalizados
  • Personalización de iconos: admite iconos de notificación personalizados
  • Control de sonido: permite activar/desactivar el sonido de notificación

🤖 Activación inteligente

  • Notificación automática: se activa automáticamente cuando la IA completa una respuesta
  • Control manual: admite llamadas programáticas de notificaciones

📦 Instalación y configuración

Requisitos del sistema

EntornoRequisito
Node.js≥ 14.0.0
npm≥ 6.0.0
Requisitos adicionales para Linuxlibnotify

Instalación de libnotify para usuarios de Linux

Haz clic para expandir los comandos de instalación de cada distribución
# Ubuntu/Debian
sudo apt-get install libnotify-bin

# CentOS/RHEL/Fedora
sudo dnf install libnotify  # 或 yum install libnotify

# Arch Linux
sudo pacman -S libnotify

# openSUSE
sudo zypper install libnotify-tools

Pasos de instalación detallados

1️⃣ Clonar el proyecto

git clone https://github.com/zhiyingzzhou/ai-notify-mcp.git
cd ai-notify-mcp

2️⃣ Instalar dependencias y compilar

npm install
npm run build

3️⃣ Configurar el editor

Edita tu archivo de configuración de MCP y añade la siguiente configuración:

{
  "mcpServers": {
    "ai-notify": {
      "command": "node",
      "args": ["/绝对路径/ai-notify-mcp/dist/index.js"],
      "autoRun": true
    }
  }
}

💡 Consejo: reemplaza la ruta con tu ruta de instalación real

4️⃣ Configurar las reglas del asistente de IA

En Cursor Settings → Rules → User Rules añade:

When responding to user requests, use the ai-notify MCP tool (auto_notify_completion) only as the final step after you have fully completed your answer. Never call this tool during thinking phases, tool calls, or before your answer is complete. The notification should only be triggered when the entire response is ready for the user.

5️⃣ Activar el modo Auto-Run

Cursor Auto-Run Settings

Pasos de configuración:

  1. Abre Cursor Settings → Features → Chat
  2. Marca Enable auto-run mode
  3. Reinicia Cursor

🛠 Instrucciones de uso

📋 Herramientas disponibles

Este servicio MCP proporciona las siguientes dos herramientas para que la IA las invoque:

🔧 show_completion_notification

Función: activa notificaciones manualmente, admite parámetros personalizados

ParámetroTipoValor predeterminadoDescripción
titlestring"AI Assistant"Título de la notificación
messagestring"Respuesta completada"Contenido de la notificación
soundbooleantrueSi se reproduce el sonido de notificación

🤖 auto_notify_completion

Función: herramienta de notificación automática, se invoca automáticamente cuando la IA completa una respuesta

ParámetroTipoValor predeterminadoDescripción
responseLengthnumber0Longitud de la respuesta (para estadísticas internas)

⚙️ Configuración de notificaciones

Puedes personalizar el comportamiento de las notificaciones mediante el archivo de configuración:

{
  "notification": {
    "sound": true,
    "icon": "./assets/icon.png",
    "defaultTitle": "Cursor AI",
    "defaultMessage": "回答完成"
  }
}

Descripción de las opciones de configuración:

Elemento de configuraciónTipoValor predeterminadoDescripción
soundbooleantrueSi se reproduce el sonido de notificación
iconstring-Ruta del icono de notificación personalizado
defaultTitlestring"AI Assistant"Título de notificación predeterminado
defaultMessagestring"Respuesta completada"Mensaje de notificación predeterminado

🎨 Recomendaciones de especificaciones de iconos

PlataformaTamaño recomendadoFormatos admitidosNotas
macOS128×128pxPNG, ICNSAdmite fondo transparente
Windows256×256pxPNG, ICOSe recomienda ICO de varios tamaños
Linux128×128pxPNG, SVGSe recomienda SVG vectorial

🔧 Guía de desarrollo

Entorno de desarrollo

# 开发模式(热重载)
npm run dev

# 构建项目
npm run build

# 启动服务
npm start

# 类型检查
npm run type-check

Estructura del proyecto

ai-notify-mcp/
├── 📁 src/
│   └── 📄 index.ts          # 主入口文件
├── 📁 dist/                 # 构建输出
├── 📁 assets/               # 资源文件
│   ├── 🖼️ icon.png          # 默认图标
│   └── 🖼️ cursor-auto-run.jpg # 配置截图
├── 📄 package.json          # 项目配置
├── 📄 tsconfig.json         # TypeScript 配置
└── 📄 README.md            # 项目文档

Desarrollo de extensiones

// 自定义通知处理器示例
import { NotificationHandler } from './types';

const customHandler: NotificationHandler = {
  async show(options) {
    // 你的自定义逻辑
    console.log(`显示通知: ${options.title}`);
  }
};

🔍 Solución de problemas

🔧 Preguntas frecuentes

❌ P: ¿Qué hago si no aparece la notificación?

🔍 Lista de verificación:

  • ✅ Confirma que el modo Auto-Run está activado
  • ✅ Comprueba que la ruta de configuración de MCP es correcta
  • ✅ Confirma que el servicio se ha iniciado correctamente
  • ✅ Comprueba la configuración de permisos de notificaciones del sistema
  • ✅ Verifica que las reglas del asistente de IA están configuradas correctamente

🛠 Comandos de depuración:

# 检查进程是否运行
ps aux | grep "ai-notify"

# 手动测试通知
node dist/index.js test

# 查看 MCP 服务状态
curl -X POST http://localhost:3000/test
🐧 P: ¿Las notificaciones no funcionan en Linux?

💡 Solución:

# 1. 安装必要依赖
sudo apt-get install libnotify-bin

# 2. 测试系统通知
notify-send "测试" "通知功能正常"

# 3. 检查 D-Bus 服务
systemctl --user status dbus

# 4. 检查通知守护进程
ps aux | grep notification

🔧 Configuración común de distribuciones de Linux:

DistribuciónComando de instalaciónNotas
Ubuntu/Debiansudo apt install libnotify-binNormalmente preinstalado
CentOS/RHELsudo dnf install libnotifyPuede requerir el repositorio EPEL
Arch Linuxsudo pacman -S libnotifyInstalación ligera
🖼️ P: ¿No se muestra el icono?

🎨 Pasos para resolver:

  1. Confirma que el archivo de icono existe

    ls -la ./assets/icon.png
    
  2. Comprueba el formato y el tamaño del archivo de icono

    file ./assets/icon.png
    identify ./assets/icon.png  # 需要 ImageMagick
    
  3. Usa una ruta absoluta

    {
      "notification": {
        "icon": "/Users/username/ai-notify-mcp/assets/icon.png"
      }
    }
    
  4. Comprueba los permisos del archivo

    chmod 644 ./assets/icon.png
    
⚙️ P: ¿El servidor MCP no puede iniciarse?

🔍 Pasos de diagnóstico:

  1. Comprueba la versión de Node.js

    node --version  # 应该 ≥ 14.0.0
    
  2. Verifica la salida de compilación

    ls -la dist/
    cat dist/index.js | head -10
    
  3. Prueba de inicio manual

    node dist/index.js --test
    
  4. Comprueba la ocupación del puerto

    lsof -i :3000  # 默认端口
    

📊 Modo de depuración

Activa registros detallados para ver el estado de ejecución:

# 启用所有调试信息
DEBUG=* npm start

# 仅查看通知相关日志
DEBUG=mcp:notification npm start

# 保存日志到文件
DEBUG=mcp:notification npm start 2>&1 | tee debug.log

🆘 Obtener ayuda

Si ninguno de los métodos anteriores resuelve el problema:

  1. Recopila información del sistema

    echo "OS: $(uname -a)"
    echo "Node: $(node --version)"
    echo "npm: $(npm --version)"
    
  2. Crea un Issue detallado que incluya:

    • Información del sistema
    • Registros de errores
    • Archivo de configuración
    • Pasos para reproducir

🤝 Guía de contribución

¡Agradecemos todo tipo de contribuciones! Hagamos juntos que este proyecto sea mejor 🚀

🎯 Formas de contribuir

TipoDescripciónEnlace
🐛 Informe de erroresSi encuentras un problema, infórmalo a tiempoCrear Issue
💡 Sugerencias de funcionesPropón ideas para nuevas funcionesSolicitud de función
📝 Mejora de documentaciónMejora la documentaciónEdita el README o añade ejemplos
🔧 Contribución de códigoEnvía nuevas funciones o correccionesFork → Desarrollo → Pull Request

🔄 Flujo de desarrollo

1️⃣ Preparar el entorno

# Fork 并克隆项目
git clone https://github.com/your-username/ai-notify-mcp.git
cd ai-notify-mcp

# 安装依赖
npm install

2️⃣ Crear una rama de función

git checkout -b feature/amazing-feature
# 或者修复分支
git checkout -b fix/issue-123

3️⃣ Desarrollo y pruebas

npm run dev      # 开发模式(热重载)
npm run test     # 运行测试
npm run lint     # 代码检查
npm run build    # 构建验证

4️⃣ Enviar cambios

# 使用约定式提交
git commit -m "feat: add amazing feature"
git commit -m "fix: resolve notification issue"
git commit -m "docs: update installation guide"

git push origin feature/amazing-feature

5️⃣ Crear Pull Request

📋 Estándares de código

EstándarRequisitoHerramienta
LenguajeTypeScriptTSC
Estilo de códigoReglas de ESLintESLint + Prettier
Mensajes de commitCommits convencionalescommitlint
Cobertura de pruebasLas nuevas funciones requieren pruebasJest
DocumentaciónLos cambios importantes requieren documentaciónMarkdown

💡 Consejos de desarrollo

  • 🔍 Antes de enviar: asegúrate de que todas las pruebas pasen
  • 📚 Documentación: añade documentación para funciones complejas
  • 🧪 Pruebas: escribe pruebas unitarias y de integración
  • 🎨 Código: mantén el código limpio y legible
  • 💬 Comunicación: si tienes dudas, discútelas a tiempo en los Issues

📄 Licencia

Este proyecto está bajo la licencia MIT License.

🙏 Agradecimientos

Gracias a todas las personas y organizaciones que hicieron posible este proyecto:

  • 🏛️ Equipo del protocolo MCP - Proporciona un excelente estándar de protocolo
  • 🌍 Comunidad de código abierto - Proporciona valiosos comentarios y contribuciones
  • 👥 Todos los contribuyentes - Hacen que este proyecto sea mejor
  • 💻 Equipo de desarrollo de editores - Admite la implementación del protocolo MCP

📞 Soporte y comentarios

¿Tienes problemas o sugerencias? ¡Nos encantaría escucharte!

CanalEnlaceCaso de uso
🐛 GitHub IssuesEnviar problemaInformes de errores y solicitudes de funciones
📧 Contacto por correozhiyingzzhou@gmail.comContacta directamente con el mantenedor del proyecto

💌 Contáctanos


🌟 Apoya este proyecto

Si Ai Notify MCP te resulta útil, considera:

Star this repo Fork this repo

⭐ Danos una Star • 🔀 Haz Fork y contribuye • 📢 Compártelo con amigos


Haz que la experiencia de programación con IA sea más inteligente y agradable ✨

⬆️ Volver arriba