README.md•5.11 kB
# Slack MCP Server
Um servidor MCP (Model Context Protocol) **super avançado** para integração com Slack, com funcionalidades profissionais para automação, analytics e gerenciamento.
## 🚀 Funcionalidades
### 📝 **Mensagens & Comunicação**
- **send_slack_message**: Enviar mensagens para canais
- **reply_in_thread**: Responder em threads específicos  
- **mention_users**: Mencionar usuários específicos
- **schedule_slack_message**: Agendar mensagens para o futuro
### 👥 **Usuários & Canais (Incluindo Grupos Privados)**
- **list_slack_channels**: Listar canais públicos e **grupos privados**
- **list_slack_users**: Listar usuários do workspace
- **bulk_invite_users**: Convidar múltiplos usuários para canal
- **set_user_status**: Definir status personalizado
- **get_private_channels_with_user**: Listar grupos privados específicos
- **search_in_private_groups**: Buscar especificamente em grupos privados
### 📊 **Analytics & Insights (Funciona com Grupos)**
- **get_channel_analytics**: Analytics detalhados de canais **e grupos privados**
- **search_slack_messages**: Buscar mensagens avançada (todos os canais)
- **get_slack_channel_history**: Histórico completo de **qualquer canal ou grupo**
### 🎯 **Funcionalidades Avançadas**
- **create_slack_poll**: Criar enquetes interativas com botões
- **add_slack_reaction**: Adicionar reações emoji
- **upload_file_to_slack**: Upload de arquivos
- **send_webhook_message**: Mensagens via webhook
### 🔧 **Automação & Gestão**
- **archive_old_channels**: Arquivar canais inativos automaticamente
- **create_slack_reminder**: Criar lembretes
- **get_workspace_info**: Informações do workspace
## Configuração
### 1. Configurar Slack App
1. Acesse https://api.slack.com/apps
2. Crie uma nova app ou use uma existente
3. Vá para "OAuth & Permissions"
4. **Adicione TODOS os seguintes Bot Token Scopes**:
   ```
   chat:write              - Enviar mensagens
   chat:write.customize    - Personalizar mensagens
   channels:read           - Ler canais públicos
   groups:read            - Ler canais privados
   users:read             - Ler usuários
   channels:history       - Histórico canais públicos
   groups:history         - Histórico canais privados
   files:write            - Upload de arquivos
   reactions:write        - Adicionar reações
   reminders:write        - Criar lembretes
   search:read            - Buscar mensagens
   team:read              - Info do workspace
   users.profile:write    - Alterar status
   channels:manage        - Gerenciar canais
   groups:write           - Gerenciar grupos
   ```
5. Instale a app no seu workspace
6. Copie o "Bot User OAuth Token"
### 2. Variáveis de Ambiente
```bash
cp .env.example .env
# Edite .env com seu token
```
```env
SLACK_BOT_TOKEN=xoxb-seu-token-aqui
```
### 3. Instalação & Execução
```bash
npm install
npm run build
npm start
```
## 🎯 Exemplos de Uso Avançados
### Criar Enquete Interativa
```json
{
  "name": "create_slack_poll",
  "arguments": {
    "channel": "#geral",
    "question": "Qual horário para a reunião?",
    "options": ["9h", "10h", "14h", "15h"],
    "anonymous": false
  }
}
```
### Analytics de Canal
```json
{
  "name": "get_channel_analytics",
  "arguments": {
    "channel": "C1234567890",
    "days": 30
  }
}
```
### Arquivar Canais Inativos
```json
{
  "name": "archive_old_channels",
  "arguments": {
    "days_inactive": 60,
    "dry_run": true
  }
}
```
### Convidar Usuários em Massa
```json
{
  "name": "bulk_invite_users",
  "arguments": {
    "channel": "C1234567890",
    "users": ["U111", "U222", "U333"]
  }
}
```
### Enviar com Menções
```json
{
  "name": "mention_users",
  "arguments": {
    "channel": "#dev",
    "text": "Código está pronto para review!",
    "users": ["U111", "U222"]
  }
}
```
### Upload de Arquivo
```json
{
  "name": "upload_file_to_slack",
  "arguments": {
    "channels": "#anexos",
    "file_path": "C:\\docs\\relatorio.pdf",
    "title": "Relatório Mensal",
    "initial_comment": "Relatório do mês atual"
  }
}
```
## 🔒 Segurança & Boas Práticas
- ✅ **Validação rigorosa** com Zod schemas
- ✅ **Tratamento robusto** de erros
- ✅ **Tokens seguros** em variáveis de ambiente
- ✅ **TypeScript** para type safety completo
- ✅ **Rate limiting** automático do Slack SDK
- ✅ **Logs estruturados** para debugging
## 🚀 Debug & Desenvolvimento
- **Debug no VS Code**: Pressione `F5`
- **Build**: `npm run build`
- **Dev mode**: `npm run dev`
- **Logs**: Configurados automaticamente
## 📈 Casos de Uso Profissionais
1. **Automação de Onboarding**: Convites automáticos, canais, mensagens
2. **Analytics de Equipe**: Monitoramento de atividade e engajamento  
3. **Gestão de Canais**: Arquivamento automático, limpeza
4. **Notificações Inteligentes**: Webhooks, menções direcionadas
5. **Enquetes & Feedback**: Coleta de opinião da equipe
6. **Relatórios Automáticos**: Upload e compartilhamento
Este MCP Server transforma seu Slack em uma **plataforma de automação profissional**! 🎯