Slack MCP

Servidor comunitario de Slack MCP para leer, enviar, buscar y gestionar mensajes y canales del espacio de trabajo de Slack desde asistentes de IA compatibles con MCP.

Documentación

Servidor Slack MCP

Trust Score

Servidor del Protocolo de Contexto de Modelos (MCP) para Espacios de Trabajo de Slack. El servidor MCP de Slack más potente: admite transportes Stdio, SSE y HTTP, configuración de proxy, mensajes directos (DMs), mensajes directos grupales, recuperación de Historial Inteligente (por fecha o cantidad), puede funcionar mediante OAuth o en modo sigiloso completo sin permisos ni ámbitos en el Espacio de Trabajo 😏.

[!IMPORTANTE]
¡Necesitamos tu apoyo! Cada mes, más de 30,000 ingenieros visitan este repositorio, y más de 9,000 ya lo están utilizando.

Si aprecias el trabajo que nuestros contribuidores han realizado en este proyecto, considera darle una estrella al repositorio.

Este servidor MCP de Slack, repleto de funciones, tiene:

  • Modos Sigiloso y OAuth: Ejecuta el servidor sin requerir permisos adicionales ni instalaciones de bots (modo sigiloso), o utiliza tokens OAuth seguros para el acceso sin necesidad de actualizar o extraer tokens del navegador (modo OAuth).
  • Soporte para Espacios de Trabajo Empresariales: Posibilidad de integrarse con configuraciones empresariales de Slack.
  • Soporte de Canales e Hilos con #Name @Lookup: Recupera mensajes de canales e hilos, incluidos mensajes de actividad, y obtén canales usando sus nombres (p. ej., #general) así como sus IDs.
  • Historial Inteligente: Recupera mensajes con paginación por fecha (1d, 7d, 1m) o por cantidad de mensajes.
  • Mensajes No Leídos: Obtén todos los mensajes no leídos en los canales de manera eficiente con ordenamiento por prioridad (DMs > canales de socios > internos), filtrado por @menciones y soporte para marcar como leído.
  • Búsqueda de Mensajes: Busca mensajes en canales, hilos y DMs usando varios filtros como fecha, usuario y contenido.
  • Publicación Segura de Mensajes: La herramienta conversations_add_message está deshabilitada por defecto por seguridad. Actívala mediante una variable de entorno, con restricciones opcionales de canales.
  • Soporte de DM y DM Grupal: Recupera mensajes directos y mensajes directos grupales.
  • Información de usuario integrada: Integra información de usuario en los mensajes para un mejor contexto.
  • Soporte de caché: Almacena en caché usuarios y canales para un acceso más rápido.
  • Transportes Stdio/SSE/HTTP y Soporte de Proxy: Usa el servidor con cualquier cliente MCP que admita transportes Stdio, SSE o HTTP, y configúralo para enrutar solicitudes salientes a través de un proxy si es necesario.

Demostración de Analítica

Analytics

Demostración de Agregar Mensaje

Add Message

Herramientas

1. conversations_history:

Obtén mensajes del canal (o DM) por channel_id; la última fila/columna en la respuesta se usa como parámetro 'cursor' para la paginación si no está vacía.

  • Parámetros:
    • channel_id (cadena, obligatorio): - channel_id (cadena): ID del canal en formato Cxxxxxxxxxx o su nombre que comienza con #... o @... también conocido como #general o @username_dm.
    • include_activity_messages (booleano, predeterminado: false): Si es true, la respuesta incluirá mensajes de actividad como channel_join o channel_leave. El valor predeterminado es booleano false.
    • cursor (cadena, opcional): Cursor para la paginación. Usa el valor de la última fila y columna en la respuesta como campo next_cursor devuelto por la solicitud anterior.
    • limit (cadena, predeterminado: "1d"): Límite de mensajes a recuperar en formato de rangos máximos de tiempo (p. ej., 1d - 1 día, 1w - 1 semana, 30d - 30 días, 90d - 90 días, que es el límite predeterminado para el historial del nivel gratuito) o número de mensajes (p. ej., 50). Debe estar vacío cuando se proporciona 'cursor'.

2. conversations_replies:

Obtén un hilo de mensajes publicados en una conversación por channelID y thread_ts; la última fila/columna en la respuesta se usa como parámetro cursor para la paginación si no está vacía.

  • Parámetros:
    • channel_id (cadena, obligatorio): ID del canal en formato Cxxxxxxxxxx o su nombre que comienza con #... o @... también conocido como #general o @username_dm.
    • thread_ts (cadena, obligatorio): Identificador único del mensaje principal de un hilo o de un mensaje en el hilo. ts debe ser la marca de tiempo en formato 1234567890.123456 de un mensaje existente con 0 o más respuestas.
    • include_activity_messages (booleano, predeterminado: false): Si es true, la respuesta incluirá mensajes de actividad como 'channel_join' o 'channel_leave'. El valor predeterminado es booleano false.
    • cursor (cadena, opcional): Cursor para la paginación. Usa el valor de la última fila y columna en la respuesta como campo next_cursor devuelto por la solicitud anterior.
    • limit (cadena, predeterminado: "1d"): Límite de mensajes a recuperar en formato de rangos máximos de tiempo (p. ej., 1d - 1 día, 1w - 1 semana, 30d - 30 días, 90d - 90 días, que es el límite predeterminado para el historial del nivel gratuito) o número de mensajes (p. ej., 50). Debe estar vacío cuando se proporciona 'cursor'.

3. conversations_add_message

Agrega un mensaje a un canal público, canal privado o conversación de mensaje directo (DM o IM) por channel_id y thread_ts.

Nota: La publicación de mensajes está deshabilitada por defecto por seguridad. Para habilitarla, establece la variable de entorno SLACK_MCP_ADD_MESSAGE_TOOL. Si se establece en una lista separada por comas de IDs de canales, la publicación se habilita solo para esos canales específicos. Consulta la sección Variables de Entorno a continuación para más detalles.

  • Parámetros:
    • channel_id (cadena, obligatorio): ID del canal en formato Cxxxxxxxxxx o su nombre que comienza con #... o @... también conocido como #general o @username_dm.
    • thread_ts (cadena, opcional): Identificador único del mensaje principal de un hilo o de un mensaje en el hilo. thread_ts debe ser la marca de tiempo en formato 1234567890.123456 de un mensaje existente con 0 o más respuestas. Opcional; si no se proporciona, el mensaje se agregará al canal en sí; de lo contrario, se agregará al hilo.
    • payload (cadena, obligatorio): Carga útil del mensaje en el formato content_type especificado. Ejemplo: '¡Hola, mundo!' para text/plain o '# ¡Hola, mundo!' para text/markdown.
    • content_type (cadena, predeterminado: "text/markdown"): Tipo de contenido del mensaje. El valor predeterminado es 'text/markdown'. Valores permitidos: 'text/markdown', 'text/plain'.

4. conversations_search_messages

Busca mensajes en un canal público, canal privado o conversación de mensaje directo (DM o IM) usando filtros. Todos los filtros son opcionales; si no se proporcionan, search_query es obligatorio.

Nota: Esta herramienta no está disponible cuando se usan tokens de bot (xoxb-*). Los tokens de bot no pueden usar la API search.messages.

  • Parámetros:
    • search_query (cadena, opcional): Consulta de búsqueda para filtrar mensajes. Ejemplo: 'informe de marketing' o URL completa de un mensaje de Slack, p. ej., 'https://slack.com/archives/C1234567890/p1234567890123456'; entonces la herramienta devolverá un solo mensaje que coincida con la URL dada, y todos los demás parámetros se ignorarán.
    • filter_in_channel (cadena, opcional): Filtra mensajes en un canal específico por su ID o nombre. Ejemplo: C1234567890 o #general. Si no se proporciona, se buscarán todos los canales.
    • filter_in_im_or_mpim (cadena, opcional): Filtra mensajes en una conversación de mensaje directo (DM) o mensaje directo multipersona (MPIM) por su ID o nombre. Ejemplo: D1234567890 o @username_dm. Si no se proporciona, se buscarán todos los DMs y MPIMs.
    • filter_users_with (cadena, opcional): Filtra mensajes con un usuario específico por su ID o nombre para mostrar en hilos y DMs. Ejemplo: U1234567890 o @username. Si no se proporciona, se buscarán todos los hilos y DMs.
    • filter_users_from (cadena, opcional): Filtra mensajes de un usuario específico por su ID o nombre para mostrar. Ejemplo: U1234567890 o @username. Si no se proporciona, se buscarán todos los usuarios.
    • filter_date_before (cadena, opcional): Filtra mensajes enviados antes de una fecha específica en formato YYYY-MM-DD. Ejemplo: 2023-10-01, July, Yesterday o Today. Si no se proporciona, se buscarán todas las fechas.
    • filter_date_after (cadena, opcional): Filtra mensajes enviados después de una fecha específica en formato YYYY-MM-DD. Ejemplo: 2023-10-01, July, Yesterday o Today. Si no se proporciona, se buscarán todas las fechas.
    • filter_date_on (cadena, opcional): Filtra mensajes enviados en una fecha específica en formato YYYY-MM-DD. Ejemplo: 2023-10-01, July, Yesterday o Today. Si no se proporciona, se buscarán todas las fechas.
    • filter_date_during (cadena, opcional): Filtra mensajes enviados durante un período específico en formato YYYY-MM-DD. Ejemplo: July, Yesterday o Today. Si no se proporciona, se buscarán todas las fechas.
    • filter_threads_only (booleano, predeterminado: false): Si es true, la respuesta incluirá solo mensajes de hilos. El valor predeterminado es booleano false.
    • cursor (cadena, predeterminado: ""): Cursor para la paginación. Usa el valor de la última fila y columna en la respuesta como campo next_cursor devuelto por la solicitud anterior.
    • limit (número, predeterminado: 20): El número máximo de elementos a devolver. Debe ser un entero entre 1 y 100.

5. channels_list:

Obtén la lista de canales.

  • Parámetros:
    • channel_types (cadena, obligatorio): Tipos de canal separados por comas. Valores permitidos: mpim, im, public_channel, private_channel. Ejemplo: public_channel,private_channel,im
    • sort (cadena, opcional): Tipo de ordenamiento. Valores permitidos: popularity - ordenar por número de miembros/participantes en cada canal.
    • limit (número, predeterminado: 100): El número máximo de elementos a devolver. Debe ser un entero entre 1 y 1000 (máximo 999).
    • cursor (cadena, opcional): Cursor para la paginación. Usa el valor de la última fila y columna en la respuesta como campo next_cursor devuelto por la solicitud anterior.

6. reactions_add:

Agrega una reacción de emoji a un mensaje en un canal público, canal privado o conversación de mensaje directo (DM o IM).

Nota: Agregar reacciones está deshabilitado por defecto por seguridad. Para habilitarlo, establece la variable de entorno SLACK_MCP_REACTION_TOOL. Si se establece en una lista separada por comas de IDs de canales, las reacciones se habilitan solo para esos canales específicos. Consulta la sección Variables de Entorno a continuación para más detalles.

  • Parámetros:
    • channel_id (cadena, obligatorio): ID del canal en formato Cxxxxxxxxxx o su nombre que comienza con #... o @... también conocido como #general o @username_dm.
    • timestamp (cadena, obligatorio): Marca de tiempo del mensaje al que se agregará la reacción, en formato 1234567890.123456.
    • emoji (cadena, obligatorio): El nombre del emoji a agregar como reacción (sin dos puntos). Ejemplo: thumbsup, heart, rocket.

7. reactions_remove:

Elimina una reacción de emoji de un mensaje en un canal público, canal privado o conversación de mensaje directo (DM o IM).

Nota: Eliminar reacciones sigue el mismo modelo de permisos que reactions_add. Para habilitarlo, establece la variable de entorno SLACK_MCP_REACTION_TOOL.

  • Parámetros:
    • channel_id (cadena, obligatorio): ID del canal en formato Cxxxxxxxxxx o su nombre que comienza con #... o @... también conocido como #general o @username_dm.
    • timestamp (cadena, obligatorio): Marca de tiempo del mensaje del que se eliminará la reacción, en formato 1234567890.123456.
    • emoji (cadena, obligatorio): El nombre del emoji a eliminar como reacción (sin dos puntos). Ejemplo: thumbsup, heart, rocket.

8. users_search:

Busca usuarios por nombre, correo electrónico o nombre para mostrar. Devuelve detalles del usuario y el ID del canal de DM si está disponible.

Nota: Para tokens OAuth (xoxp/xoxb), esta herramienta busca en la caché local de usuarios usando coincidencia de patrones. Para tokens de sesión de navegador (xoxc/xoxd), usa la API perimetral de Slack para la búsqueda en tiempo real.

  • Parámetros:
    • query (cadena, obligatorio): Consulta de búsqueda: coincide con nombre real, nombre para mostrar, nombre de usuario o correo electrónico.
    • limit (número, predeterminado: 10): Número máximo de resultados a devolver (1-100).
  • Devuelve: CSV con los campos:
    • UserID: ID de usuario (p. ej., U1234567890)
    • UserName: Nombre de usuario de Slack
    • RealName: Nombre real del usuario
    • DisplayName: Nombre para mostrar del usuario
    • Email: Dirección de correo electrónico del usuario
    • Title: Título del puesto del usuario
    • DMChannelID: ID del canal de DM si está disponible en la caché (para mensajería rápida)

9. usergroups_list:

Lista todos los grupos de usuarios (subequipos) en el espacio de trabajo.

  • Parámetros:

    • include_users (booleano, predeterminado: false): Incluye la lista de IDs de usuario en cada grupo.
    • include_count (booleano, predeterminado: true): Incluye el recuento de usuarios para cada grupo.
    • include_disabled (booleano, predeterminado: false): Incluye grupos deshabilitados/archivados.
  • Devuelve: CSV con los campos: id, name, handle, description, user_count, is_external

Ámbitos OAuth requeridos: usergroups:read

10. usergroups_create:

Crea un nuevo grupo de usuarios en el espacio de trabajo.

  • Parámetros:

    • name (cadena, requerido): Nombre del grupo de usuarios (p. ej., "Engineering Team").
    • handle (cadena, opcional): Manejo de mención sin @ (p. ej., "engineering"). Si no se proporciona, Slack generará uno automáticamente.
    • description (cadena, opcional): Propósito o descripción del grupo.
    • channels (cadena, opcional): IDs de canal separados por comas para los canales predeterminados donde se resaltarán las menciones del grupo.
  • Devuelve: JSON con los detalles del grupo creado (id, name, handle, description)

Ámbitos OAuth requeridos: usergroups:write

11. usergroups_update:

Actualiza los metadatos de un grupo de usuarios existente.

  • Parámetros:

    • usergroup_id (cadena, requerido): ID del grupo de usuarios (p. ej., "S1234567890").
    • name (cadena, opcional): Nuevo nombre para el grupo.
    • handle (cadena, opcional): Nuevo manejo de mención.
    • description (cadena, opcional): Nueva descripción.
    • channels (cadena, opcional): Nuevos canales predeterminados (IDs separados por comas). Esto reemplaza los canales predeterminados existentes.
  • Devuelve: JSON con los detalles del grupo actualizado

Ámbitos OAuth requeridos: usergroups:write

12. usergroups_users_update:

Actualiza los miembros de un grupo de usuarios. Esto reemplaza a todos los miembros existentes.

  • Parámetros:

    • usergroup_id (cadena, requerido): ID del grupo de usuarios (p. ej., "S1234567890").
    • users (cadena, requerido): IDs de usuario separados por comas para establecer como miembros (p. ej., "U123,U456,U789").
  • Devuelve: JSON con los detalles del grupo actualizado, incluida la nueva lista de usuarios

Ámbitos OAuth requeridos: usergroups:write

13. usergroups_me:

Gestiona tu membresía en grupos de usuarios: lista los grupos en los que estás, únete a un grupo o abandona un grupo.

  • Parámetros:

    • action (cadena, requerido): Acción a realizar: list para ver tus grupos, join para agregarte, leave para eliminarte.
    • usergroup_id (cadena, opcional): ID del grupo de usuarios (p. ej., "S1234567890"). Requerido para las acciones join y leave.
  • Devuelve:

    • Para list: CSV con los grupos de los que eres miembro
    • Para join/leave: JSON con el mensaje de resultado e información del grupo actualizado

Ámbitos OAuth requeridos: usergroups:read (para listar), usergroups:read + usergroups:write (para unirse/abandonar)

14. conversations_unreads

Obtén mensajes no leídos en todos los canales de manera eficiente. Utiliza una sola llamada a la API para identificar canales con no leídos y luego obtiene solo esos mensajes. Los resultados se priorizan: DMs > canales de socios (Slack Connect) > canales internos.

Nota: Esta herramienta funciona mejor con tokens de sesión de navegador (xoxc/xoxd), que utilizan la API eficiente client.counts. Para tokens OAuth estándar (xoxp), se utiliza un método alternativo con conversations.info, que requiere una llamada a la API por canal y puede ser más lento para espacios de trabajo grandes. No disponible con tokens de bot (xoxb).

  • Parámetros:
    • include_messages (booleano, predeterminado: true): Si es true, devuelve los mensajes no leídos reales. Si es false, devuelve solo un resumen de los canales con no leídos.
    • channel_types (cadena, predeterminado: "all"): Filtra por tipo de canal: all, dm (mensajes directos), group_dm (DMs de grupo), partner (canales compartidos externamente), internal (canales regulares del espacio de trabajo).
    • max_channels (número, predeterminado: 50): Número máximo de canales de los que obtener no leídos.
    • max_messages_per_channel (número, predeterminado: 10): Máximo de mensajes a obtener por canal.
    • mentions_only (booleano, predeterminado: false): Si es true, solo devuelve canales donde tienes @menciones. Nota: Este filtro solo funciona con tokens de navegador; los tokens OAuth devolverán todos los canales no leídos.

15. conversations_mark

Marca un canal o DM como leído.

Nota: Marcar mensajes como leídos está deshabilitado por defecto por seguridad. Para habilitarlo, establece la variable de entorno SLACK_MCP_MARK_TOOL a true o 1. Consulta la sección Variables de Entorno a continuación para más detalles.

  • Parámetros:
    • channel_id (cadena, requerido): ID del canal en formato Cxxxxxxxxxx o su nombre que comienza con #... o @... (p. ej., #general, @username).
    • ts (cadena, opcional): Marca de tiempo del mensaje hasta el cual marcar como leído. Si no se proporciona, marca todos los mensajes como leídos.

16. saved_list

Lista los elementos guardados del panel "Save for Later" de Slack. Devuelve los elementos que el usuario ha guardado, con contenido de mensaje opcional. Esto reemplaza la API obsoleta stars.list (changelog).

Nota: Esta herramienta requiere tokens de sesión de navegador (xoxc/xoxd). No está disponible con tokens OAuth estándar (xoxp) o de bot (xoxb).

  • Parámetros:
    • filter (cadena, predeterminado "saved"): Filtra elementos guardados: "saved" (activos/en progreso), "completed" (marcados como completados), "archived".
    • limit (número, predeterminado 50): Número máximo de elementos a devolver. Paginación automática.
    • include_messages (booleano, predeterminado true): Si es true, obtiene el contenido real del mensaje guardado. Si es false, devuelve solo metadatos.
    • max_messages_per_item (número, predeterminado 5): Máximo de mensajes a obtener por elemento guardado (para respuestas en hilos).

17. saved_update

Actualiza un elemento guardado: márcalo como completado, establece una fecha límite/recordatorio, o ambos. Usa los valores item_id y ts de la salida de saved_list. Esto reemplaza las APIs obsoletas stars.add/stars.remove.

Nota: Esta herramienta requiere tokens de sesión de navegador (xoxc/xoxd). No está disponible con tokens OAuth estándar (xoxp) o de bot (xoxb).

  • Parámetros:
    • item_id (cadena, requerido): ID del canal/DM donde se encuentra el mensaje guardado (de la salida de saved_list).
    • ts (cadena, requerido): Marca de tiempo del mensaje del elemento guardado (de la salida de saved_list).
    • mark (cadena, opcional): Establece a "completed" para marcar el elemento como completado.
    • date_due (número, opcional): Marca de tiempo Unix para la fecha límite/recordatorio. Establece a 0 para limpiar.

18. saved_clear_completed

Elimina todos los elementos guardados completados del panel "Save for Later". Esta es una operación masiva que elimina todos los elementos con state="completed".

Nota: Esta herramienta requiere tokens de sesión de navegador (xoxc/xoxd). No está disponible con tokens OAuth estándar (xoxp) o de bot (xoxb).

  • Parámetros: Ninguno.

Recursos

El servidor Slack MCP expone dos recursos de directorio especiales para acceder fácilmente a los metadatos del espacio de trabajo:

1. slack://<workspace>/channels — Directorio de Canales

Obtiene un directorio CSV de todos los canales en el espacio de trabajo, incluidos canales públicos, canales privados, DMs y DMs de grupo.

  • URI: slack://<workspace>/channels
  • Formato: text/csv
  • Campos:
    • id: ID del canal (p. ej., C1234567890)
    • name: Nombre del canal (p. ej., #general, @username_dm)
    • topic: Tema del canal (si existe)
    • purpose: Propósito/descripción del canal
    • memberCount: Número de miembros en el canal

2. slack://<workspace>/users — Directorio de Usuarios

Obtiene un directorio CSV de todos los usuarios en el espacio de trabajo.

  • URI: slack://<workspace>/users
  • Formato: text/csv
  • Campos:
    • userID: ID de usuario (p. ej., U1234567890)
    • userName: Nombre de usuario de Slack (p. ej., john)
    • realName: Nombre real del usuario (p. ej., John Doe)

Guía de Configuración

Variables de Entorno (Referencia Rápida)

Variable¿Requerido?PredeterminadoDescripción
SLACK_MCP_XOXC_TOKENSí*nilToken de navegador de Slack (xoxc-...)
SLACK_MCP_XOXD_TOKENSí*nilCookie de navegador de Slack d (xoxd-...)
SLACK_MCP_XOXP_TOKENSí*nilToken OAuth de usuario (xoxp-...) — alternativa a xoxc/xoxd
SLACK_MCP_XOXB_TOKENSí*nilToken de bot (xoxb-...) — alternativa a xoxp/xoxc/xoxd. El bot tiene acceso limitado (solo canales invitados, sin búsqueda)
SLACK_MCP_PORTNo13080Puerto en el que el servidor MCP escuchará
SLACK_MCP_HOSTNo127.0.0.1Host en el que el servidor MCP escuchará
SLACK_MCP_API_KEYNonilToken Bearer para transportes SSE y HTTP
SLACK_MCP_PROXYNonilURL de proxy para solicitudes salientes
SLACK_MCP_USER_AGENTNonilUser-Agent personalizado (para entornos Enterprise de Slack)
SLACK_MCP_CUSTOM_TLSNonilEnviar handshake TLS personalizado a los servidores de Slack basado en SLACK_MCP_USER_AGENT o User-Agent predeterminado. (para entornos Enterprise de Slack)
SLACK_MCP_SERVER_CANonilRuta al certificado CA
SLACK_MCP_SERVER_CA_TOOLKITNonilInyectar el certificado CA de HTTPToolkit en el almacén de confianza raíz para depuración MitM
SLACK_MCP_SERVER_CA_INSECURENofalseConfiar en todas las solicitudes inseguras (NO RECOMENDADO)
SLACK_MCP_ADD_MESSAGE_TOOLNonilHabilitar la publicación de mensajes mediante conversations_add_message configurándolo en true para todos los canales, una lista separada por comas de IDs de canales para permitir canales específicos, o use ! antes de un ID de canal para permitir todos excepto los especificados. Si está vacío, la herramienta solo se registra cuando se lista explícitamente en SLACK_MCP_ENABLED_TOOLS.
SLACK_MCP_ADD_MESSAGE_MARKNonilCuando conversations_add_message está habilitado (mediante SLACK_MCP_ADD_MESSAGE_TOOL o SLACK_MCP_ENABLED_TOOLS), configurar esto en true marcará automáticamente los mensajes enviados como leídos.
SLACK_MCP_ADD_MESSAGE_UNFURLINGNonilHabilitar para permitir que Slack despliegue enlaces publicados o establecer una lista separada por comas de dominios, p. ej. github.com,slack.com para permitir el despliegue solo para ellos. Si el texto contiene dominios permitidos y desconocidos, el despliegue se deshabilitará por razones de seguridad.
SLACK_MCP_REACTION_TOOLNonilHabilitar las herramientas reactions_add y reactions_remove configurándolo en true para todos los canales, una lista separada por comas de IDs de canales para permitir canales específicos, o use ! antes de un ID de canal para permitir todos excepto los especificados. Si está vacío, las herramientas solo se registran cuando se listan explícitamente en SLACK_MCP_ENABLED_TOOLS.
SLACK_MCP_ATTACHMENT_TOOLNonilHabilitar la herramienta attachment_get_data configurándola en true, 1 o yes. No admite restricciones a nivel de canal. Si está vacío, la herramienta solo se registra cuando se lista explícitamente en SLACK_MCP_ENABLED_TOOLS.
SLACK_MCP_MARK_TOOLNonilHabilitar la herramienta conversations_mark configurándola en true o 1. Deshabilitada por defecto para evitar el marcado accidental de mensajes como leídos.
SLACK_MCP_USERS_CACHENo~/Library/Caches/slack-mcp-server/users_cache.json (macOS)
~/.cache/slack-mcp-server/users_cache.json (Linux)
%LocalAppData%/slack-mcp-server/users_cache.json (Windows)
Ruta al archivo de caché de usuarios. Se usa para almacenar en caché la información de usuarios de Slack y evitar llamadas API repetidas al inicio.
SLACK_MCP_CHANNELS_CACHENo~/Library/Caches/slack-mcp-server/channels_cache_v2.json (macOS)
~/.cache/slack-mcp-server/channels_cache_v2.json (Linux)
%LocalAppData%/slack-mcp-server/channels_cache_v2.json (Windows)
Ruta al archivo de caché de canales. Se usa para almacenar en caché la información de canales de Slack y evitar llamadas API repetidas al inicio.
SLACK_MCP_LOG_LEVELNoinfoNivel de registro para stdout o stderr. Los valores válidos son: debug, info, warn, error, panic y fatal
SLACK_MCP_GOVSLACKNonilConfigúrelo en true para habilitar el modo GovSlack. Enruta las llamadas API a los endpoints slack-gov.com en lugar de slack.com para espacios de trabajo gubernamentales compatibles con FedRAMP.
SLACK_MCP_ENABLED_TOOLSNonilLista separada por comas de herramientas a registrar. Si está vacío, se registran todas las herramientas de solo lectura y las herramientas de grupos de usuarios; las herramientas de escritura (conversations_add_message, reactions_add, reactions_remove, attachment_get_data) requieren su variable de entorno específica O deben listarse explícitamente aquí. Cuando una herramienta de escritura se lista aquí, se habilita sin restricciones de canal. Herramientas disponibles: conversations_history, conversations_replies, conversations_add_message, reactions_add, reactions_remove, attachment_get_data, conversations_search_messages, channels_list, usergroups_list, usergroups_me, usergroups_create, usergroups_update, usergroups_users_update.

*Necesita uno de: xoxp (usuario), xoxb (bot), o ambos tokens xoxc/xoxd para la autenticación.

Matriz de limitaciones y caché

Caché de usuariosCaché de canalesLimitaciones
:x::x:Sin caché, sin mejora del contexto LLM con datos de usuario, la herramienta channels_list no será funcional en absoluto. Las herramientas conversations_* tendrán capacidades limitadas y no podrá buscar mensajes por @userHandle o #channel-name, obtener mensajes por @userHandle o #channel-name tampoco estará disponible.
:white_check_mark::x:Sin caché de canales, la herramienta channels_list no será funcional en absoluto. Las herramientas conversations_* tendrán capacidades limitadas y no podrá buscar mensajes por @userHandle o #channel-name, obtener mensajes por @userHandle o #channel-name tampoco estará disponible.
:white_check_mark::white_check_mark:Sin limitaciones, servidor Slack MCP totalmente funcional.

Herramientas de depuración

# Run the inspector with stdio transport
npx @modelcontextprotocol/inspector go run mcp/mcp-server.go --transport stdio

# View logs
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

Seguridad

  • Nunca comparta tokens de API
  • Mantenga los archivos .env seguros y privados

Licencia

Licenciado bajo MIT: consulte el archivo LICENSE. Este no es un producto oficial de Slack.