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**! 🎯