Slack Notify
Enviar notificações para o Slack usando tokens de bot OAuth.
Documentação
@mkusaka/mcp-server-slack-notify
Servidor MCP para envio de notificações ao Slack usando tokens OAuth de bot.
Recursos
- Envia mensagens formatadas para canais do Slack com título e descrição
- Menciona usuários específicos automaticamente com o parâmetro de menção
- Suporte à formatação markdown do Slack
- Formatação limpa de mensagens com cabeçalho opcional
- Suporte a TypeScript com segurança total de tipos
Instalação
npm install @mkusaka/mcp-server-slack-notify
# or
pnpm add @mkusaka/mcp-server-slack-notify
Configuração
Criando um app no Slack
-
Crie um novo app no Slack
- Acesse https://api.slack.com/apps
- Clique em "Create New App"
- Escolha "From scratch"
- Digite o nome do seu app (ex.: "MCP Notification Bot")
- Selecione seu workspace
- Clique em "Create App"
-
Configure os escopos OAuth
- Nas configurações do app, navegue até "OAuth & Permissions" na barra lateral
- Role até a seção "Scopes"
- Em "Bot Token Scopes", clique em "Add an OAuth Scope"
- Adicione o seguinte escopo:
chat:write- Necessário para enviar mensagens
-
Instale o app no seu workspace
- Permaneça na página "OAuth & Permissions"
- Clique em "Install to Workspace" no topo
- Revise as permissões e clique em "Allow"
- Você será redirecionado de volta para a página OAuth & Permissions
-
Obtenha seu token de bot
- Após a instalação, você verá um "Bot User OAuth Token" na página OAuth & Permissions
- Ele começa com
xoxb- - Copie este token - você precisará dele para a variável de ambiente
SLACK_BOT_TOKEN
-
Convide o bot para os canais
- No Slack, vá até o canal onde deseja enviar notificações
- Digite
/invite @YourBotName(substitua pelo nome do seu bot) - Ou clique no nome do canal → aba "Integrations" → "Add apps" → Selecione seu bot
Variáveis de ambiente
Defina as seguintes variáveis de ambiente:
SLACK_BOT_TOKEN(obrigatório): Seu token OAuth de usuário bot do passo 4SLACK_DEFAULT_CHANNEL(opcional): Canal padrão para notificações (ex.:#general)SLACK_MENTIONS(opcional): IDs de usuário padrão para mencionar em todas as mensagens (ex.:U1234567890,U0987654321)
Uso com Claude Desktop
Adicione à sua configuração do Claude Desktop:
{
"mcpServers": {
"slack-notify": {
"command": "npx",
"args": ["-y", "@mkusaka/mcp-server-slack-notify@latest"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-token-here",
"SLACK_DEFAULT_CHANNEL": "#general",
"SLACK_MENTIONS": "U1234567890,U0987654321"
}
}
}
}
Uso com Claude Code
Você pode adicionar este servidor MCP ao Claude Code usando o seguinte comando:
claude mcp add slack-notify -e SLACK_BOT_TOKEN=xoxb-your-token-here -e SLACK_DEFAULT_CHANNEL=#general -e SLACK_MENTIONS=U1234567890,U0987654321 -- npx -y @mkusaka/mcp-server-slack-notify@latest
Ou, se você tiver o pacote instalado globalmente:
# Install globally first
npm install -g @mkusaka/mcp-server-slack-notify
# Then add to Claude Code
claude mcp add slack-notify -e SLACK_BOT_TOKEN=xoxb-your-token-here -e SLACK_DEFAULT_CHANNEL=#general -e SLACK_MENTIONS=U1234567890,U0987654321 -- mcp-server-slack-notify
Para adicionar com escopo de usuário (disponível em todos os projetos):
claude mcp add --scope user slack-notify -e SLACK_BOT_TOKEN=xoxb-your-token-here -e SLACK_DEFAULT_CHANNEL=#general -e SLACK_MENTIONS=U1234567890,U0987654321 -- npx -y @mkusaka/mcp-server-slack-notify@latest
Ferramentas disponíveis
send_slack_notification
Envia uma notificação para um canal do Slack.
Parâmetros:
channel(opcional): O canal do Slack (ex.: #general ou C1234567890)title(opcional): O título da notificação (se fornecido, exibe com formatação de cabeçalho)description(obrigatório): O corpo da notificação (suporta markdown do Slack)mention(opcional): ID(s) de usuário para mencionar. Pode ser um único ID de usuário (ex.: U1234567890) ou vários IDs separados por vírgulas (ex.: U1234567890,U0987654321)
Guia de formatação
O campo de descrição suporta a formatação mrkdwn do Slack:
- Menções:
- Usuário:
<@U1234567890>(use o ID do usuário) - Canal:
<#C1234567890>(use o ID do canal) - @here:
<!here> - @channel:
<!channel> - Grupos de usuários:
<!subteam^S1234567890>(use o ID do subtime) - Nota: Ao usar o parâmetro
mentionou a variável de ambienteSLACK_MENTIONS, as menções de usuário são adicionadas automaticamente no início da mensagem
- Usuário:
- Formatação de texto:
- Negrito:
*bold text* - Itálico:
_italic text_ - Tachado:
~strikethrough text~ - Código:
`código inline` - Bloco de código:
``code block`` - Citação:
> quoted text - Link:
<https://example.com|Link text>
- Negrito:
Desenvolvimento
# Install dependencies
pnpm install
# Run tests
pnpm test
# Build
pnpm build
# Run in development mode
pnpm start
# Debug with MCP Inspector
pnpm debug
Testes
O projeto inclui testes abrangentes usando Vitest com chamadas de API do Slack simuladas.
# Run tests
pnpm test
# Run tests in watch mode
pnpm test:watch
Licença
MIT