Slack Search

Busca mensajes y archivos dentro de un espacio de trabajo de Slack utilizando la API de Slack.

Documentación

Servidor MCP de Slack Search

Un servidor de Model Context Protocol (MCP) que proporciona herramientas y recursos para acceder a la funcionalidad de búsqueda de Slack. Este servidor permite a los LLMs buscar y recuperar usuarios, canales, mensajes y más de un espacio de trabajo de Slack.

Características

Herramientas

  1. get_users - Obtener una lista de usuarios en el espacio de trabajo de Slack
  2. get_channels - Obtener una lista de canales en el espacio de trabajo de Slack
  3. get_channel_messages - Obtener mensajes de un canal específico
  4. get_thread_replies - Obtener respuestas en un hilo
  5. search_messages - Buscar mensajes en Slack

Recursos

  1. allusers:// - Obtener todos los usuarios en el espacio de trabajo de Slack
  2. allchannels:// - Obtener todos los canales en el espacio de trabajo de Slack

Requisitos

  • Entorno de ejecución Bun
  • Token de API de Slack con los permisos adecuados

Instalación

  1. Clonar el repositorio
  2. Instalar las dependencias:
    bun install
    

Uso

  1. Establecer el token de API de Slack como variable de entorno:

    export SLACK_TOKEN=xoxb-your-token-here
    
  2. Ejecutar el servidor:

    bun run index.ts
    

    O usar la versión compilada:

    ./dist/slack_search_function_mcp
    

Compilación

Para compilar el ejecutable:

bun run build

Esto creará un ejecutable compilado en el directorio dist.

Configuración de MCP

Para usar este servidor con un LLM habilitado para MCP, agréguelo a su configuración de MCP:

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

Ejemplos de Herramientas

Obtener Usuarios

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

Obtener Canales

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

Obtener Mensajes de Canal

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

Obtener Respuestas de Hilo

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

Buscar Mensajes

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

Ejemplos de Recursos

Obtener Todos los Usuarios

allusers://

Obtener Todos los Canales

allchannels://

Manejo de Errores

El servidor incluye un manejo integral de errores para:

  • Token de API de Slack inválido o faltante
  • Límites de tasa de la API
  • Errores de red
  • Parámetros inválidos
  • Fallos de autenticación

Seguridad

  • El token de API de Slack nunca se registra ni se expone en las respuestas
  • El token se pasa de forma segura mediante variables de entorno