Slack Search

Pesquise mensagens e arquivos em um workspace do Slack usando a API do Slack.

Documentação

Servidor MCP Slack Search

Um servidor Model Context Protocol (MCP) que fornece ferramentas e recursos para acessar a funcionalidade de busca do Slack. Este servidor permite que LLMs pesquisem e recuperem usuários, canais, mensagens e muito mais de um workspace do Slack.

Recursos

Ferramentas

  1. get_users - Obter uma lista de usuários no workspace do Slack
  2. get_channels - Obter uma lista de canais no workspace do Slack
  3. get_channel_messages - Obter mensagens de um canal específico
  4. get_thread_replies - Obter respostas em um thread
  5. search_messages - Pesquisar mensagens no Slack

Recursos

  1. allusers:// - Obter todos os usuários no workspace do Slack
  2. allchannels:// - Obter todos os canais no workspace do Slack

Requisitos

  • Runtime Bun
  • Token da API do Slack com as permissões adequadas

Instalação

  1. Clone o repositório
  2. Instale as dependências:
    bun install
    

Uso

  1. Defina o token da API do Slack como uma variável de ambiente:

    export SLACK_TOKEN=xoxb-your-token-here
    
  2. Execute o servidor:

    bun run index.ts
    

    Ou use a versão compilada:

    ./dist/slack_search_function_mcp
    

Compilação

Para compilar o executável:

bun run build

Isso criará um executável compilado no diretório dist.

Configuração do MCP

Para usar este servidor com um LLM habilitado para MCP, adicione-o à sua configuração do MCP:

{
  "mcpServers": {
    "slack": {
      "command": "/path/to/dist/slack_search_function_mcp",
      "env": {
        "SLACK_TOKEN": "xoxb-your-token-here"
      }
    }
  }
}

Exemplos de Ferramentas

Obter Usuários

{
  "name": "get_users",
  "arguments": {
    "limit": 10
  }
}

Obter Canais

{
  "name": "get_channels",
  "arguments": {
    "limit": 10,
    "exclude_archived": true
  }
}

Obter Mensagens do Canal

{
  "name": "get_channel_messages",
  "arguments": {
    "channel": "C01234ABCDE",
    "limit": 10
  }
}

Obter Respostas do Thread

{
  "name": "get_thread_replies",
  "arguments": {
    "channel": "C01234ABCDE",
    "thread_ts": "1234567890.123456",
    "limit": 10
  }
}

Pesquisar Mensagens

{
  "name": "search_messages",
  "arguments": {
    "query": "important announcement",
    "sort": "timestamp",
    "sort_dir": "desc",
    "count": 10
  }
}

Exemplos de Recursos

Obter Todos os Usuários

allusers://

Obter Todos os Canais

allchannels://

Tratamento de Erros

O servidor inclui tratamento abrangente de erros para:

  • Token da API do Slack inválido ou ausente
  • Limites de taxa da API
  • Erros de rede
  • Parâmetros inválidos
  • Falhas de autenticação

Segurança

  • O token da API do Slack nunca é registrado ou exposto nas respostas
  • O token é passado com segurança por meio de variáveis de ambiente