MCP Server Notifier
Um serviço de notificação leve que envia webhooks para tarefas MCP concluídas para provedores como Discord, Slack e Teams.
Documentação
MCP Server Notifier
Um serviço de notificação leve que se integra ao MCP (Model Context Protocol) para enviar webhooks quando agentes de IA concluem tarefas.

Autores
Originalmente criado por tuberrabbit@gmail.com.
Atualmente mantido por zudsniper.
Recursos
- Notificações via Webhook: Receba alertas quando seus agentes de IA concluírem tarefas
- Múltiplos Provedores de Webhook: Suporte para Discord, Slack, Microsoft Teams, Feishu, Ntfy e webhooks personalizados
- Suporte a Imagens: Inclua imagens nas notificações via Imgur
- Suporte a Múltiplos Projetos: Gerencie notificações de forma eficiente em diferentes projetos
- Integração Fácil: Configuração simples com ferramentas de IA como Cursor
- Mensagens Personalizáveis: Envie notificações personalizadas com título, corpo e links
Instalação
Opção 1: Usando npm
npm install -g mcp-server-notifier
Opção 2: Usando Docker
docker pull zudsniper/mcp-server-notifier:latest
# Run with environment variables
docker run -e WEBHOOK_URL=https://your-webhook-url -e WEBHOOK_TYPE=discord zudsniper/mcp-server-notifier
Opção 3: A partir do código-fonte
git clone https://github.com/zudsniper/mcp-server-notifier.git
cd mcp-server-notifier
npm install
npm run build
Integração
Integração com Cursor
- Vá para 'Cursor Settings'
- Clique em
MCPna barra lateral e depois clique em+ Add new global MCP server - Adicione
mcp-server-notifier.
{
"mcpServers": {
"notifier": {
"command": "npx",
"args": [
"-y",
"mcp-server-notifier"
],
"env": {
"WEBHOOK_URL": "https://ntfy.sh/webhook-url-example",
"WEBHOOK_TYPE": "ntfy"
}
}
}
}
Configuração
Por padrão, o notificador suporta vários tipos de webhook:
- Discord
- Slack
- Microsoft Teams
- Feishu
- Ntfy
- JSON Genérico
Você pode especificar o tipo de webhook e a URL por meio de variáveis de ambiente:
env WEBHOOK_URL="https://your-webhook-url" WEBHOOK_TYPE="discord" npx -y mcp-server-notifier
Tokens de Autenticação
WEBHOOK_TOKEN é uma variável de ambiente opcional. Quando definida, ela será incluída como um token Bearer no cabeçalho Authorization apenas para requisições de webhook ntfy. Se WEBHOOK_TOKEN não estiver definida, nenhum cabeçalho Authorization será enviado.
- Autenticação Básica não é suportada.
- Este token é ignorado por todos os outros provedores de webhook (Discord, Slack, Teams, Feishu, JSON Genérico).
Exemplo:
env WEBHOOK_URL="https://ntfy.sh/your-topic" WEBHOOK_TYPE="ntfy" WEBHOOK_TOKEN="your-secret-token" npx -y mcp-server-notifier
Arquivo de Configuração
Para configurações mais avançadas, você pode criar um arquivo webhook-config.json:
{
"webhook": {
"type": "discord",
"url": "https://discord.com/api/webhooks/your-webhook-url",
"name": "My Notifier"
},
"imgur": {
"clientId": "your-imgur-client-id"
}
}
Consulte o Guia de Configuração para detalhes completos e exemplos.
Uso
- Peça ao seu agente de IA para notificá-lo com uma mensagem personalizada quando uma tarefa for concluída
- Configure como uma regra persistente nas configurações do Cursor para evitar repetir a configuração
Para instruções detalhadas de uso, consulte o Guia de Uso.
Ferramentas Disponíveis
notify- Finalidade: Enviar notificações ricas para qualquer webhook configurado
- Entrada:
message- Conteúdo de texto da notificaçãotitle(opcional) - Título da notificaçãolink(opcional) - URL para incluir na notificação (usada como ação de clique para ntfy)imageUrl(opcional) - URL de uma imagem para incluir (legado, useimageouattachments)image(opcional) - Caminho local de uma imagem para enviar ao Imgurpriority(opcional, apenas ntfy) - Prioridade da notificação (1-5)attachments(opcional, apenas ntfy) - Matriz de URLs para anexartemplate(opcional, apenas ntfy) - Modelo predefinido a usar: status, question, progress, problemtemplateData(opcional, apenas ntfy) - Dados para preencher o modelo escolhidoactions(opcional, apenas ntfy) - Matriz de definições de botões de ação (viewouhttp)
- Melhor para: Necessidades gerais de notificação
Nota: A funcionalidade de modelos está atualmente em desenvolvimento e tem suporte limitado. Os modelos funcionam melhor com ntfy.sh, mas podem não estar totalmente implementados para todos os provedores de webhook. Consulte o arquivo ROADMAP.md para planos de implementação futuros.
Modelos NTFY
Ao usar ntfy.sh como seu provedor de webhook, você pode usar os seguintes modelos predefinidos:
-
Modelo de Status (
status)- Finalidade: Enviar atualizações de status sobre sistemas, processos ou tarefas
- Campos de Dados:
status- Status atual (ex.: "online", "completed", "pending")details(opcional) - Informações adicionais sobre o statustimestamp(opcional) - Quando este status foi registradocomponent(opcional) - O componente do sistema ao qual este status se aplica
-
Modelo de Pergunta (
question)- Finalidade: Fazer perguntas que exigem uma resposta
- Campos de Dados:
question- A pergunta principal que está sendo feitacontext(opcional) - Informações de contexto para a perguntaoptions(opcional) - Possíveis opções de respostadeadline(opcional) - Quando uma resposta é necessária
-
Modelo de Progresso (
progress)- Finalidade: Acompanhar o progresso de tarefas de longa duração
- Campos de Dados:
title- Nome da tarefa ou processocurrent- Valor atual do progressototal- Valor total para atingir a conclusãopercentage(opcional) - Valor percentual explícito (calculado se não fornecido)eta(opcional) - Tempo estimado para conclusãodetails(opcional) - Informações adicionais sobre o progresso
-
Modelo de Problema (
problem)- Finalidade: Relatar erros ou problemas
- Campos de Dados:
title- Descrição curta do problemadescription(opcional) - Informações detalhadas sobre o problemaseverity(opcional) - Gravidade do problema (ex.: "critical", "warning")source(opcional) - Onde o problema se originoutimestamp(opcional) - Quando o problema ocorreusolution(opcional) - Formas sugeridas de corrigir o problema
Exemplo Usando Modelo:
// Send a progress notification
{
"template": "progress",
"templateData": {
"title": "Database Backup",
"current": 75,
"total": 100,
"eta": "2 minutes remaining",
"details": "Compressing backup files"
},
"priority": 3
}
Suporte a Docker
O MCP Server Notifier está disponível como uma imagem Docker:
docker pull zudsniper/mcp-server-notifier:latest
Execute com variáveis de ambiente:
docker run -e WEBHOOK_URL=https://your-webhook-url -e WEBHOOK_TYPE=discord zudsniper/mcp-server-notifier
Exemplos de Configuração
Exemplos de configurações de webhook estão disponíveis no diretório examples.
Desenvolvimento
Configurando o Ambiente de Desenvolvimento
- Clone o repositório:
git clone https://github.com/zudsniper/mcp-server-notifier.git
cd mcp-server-notifier
- Instale as dependências:
npm install
- Compile o projeto:
npm run build
Testando Suas Alterações
- Execute o servidor MCP em modo de desenvolvimento:
# Install the MCP Inspector if you haven't already
npm install -g @modelcontextprotocol/inspector
# Start the server with the Inspector
npx @modelcontextprotocol/inspector node build/index.js
- O Inspector fornece uma interface web onde você pode:
- Enviar requisições para suas ferramentas
- Visualizar logs de requisição/resposta
- Depurar problemas com sua implementação
Lançando Novas Versões
Para lançar uma nova versão:
- Atualize a versão em
package.json - Envie as alterações para o branch
release - O GitHub Actions automaticamente:
- Executará testes
- Compilará e enviará imagens Docker
- Publicará no npm
- Criará um GitHub Release
Segredos de repositório necessários para CI/CD:
DOCKERHUB_USERNAME- Nome de usuário do Docker HubDOCKERHUB_TOKEN- Token de acesso do Docker HubNPM_TOKEN- Token de acesso do npm
Licença
Licença MIT - consulte o arquivo LICENSE para detalhes.
Contribuições
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
Este MCP é certificado pela MCP Review.
Página de certificação: https://mcpreview.com/mcp-servers/tuberrabbit/mcp-server-notifier