Slack MCP

Servidor comunitário Slack MCP para ler, enviar, pesquisar e gerenciar mensagens e canais do workspace Slack a partir de assistentes de IA compatíveis com MCP.

Documentação

Servidor Slack MCP

Trust Score

Servidor Model Context Protocol (MCP) para Workspaces do Slack. O servidor MCP Slack mais poderoso — suporta transportes Stdio, SSE e HTTP, configurações de proxy, DMs, DMs em grupo, busca de Histórico Inteligente (por data ou contagem), pode funcionar via OAuth ou em modo totalmente furtivo, sem permissões e escopos no Workspace 😏.

[!IMPORTANT]
Precisamos do seu apoio! Todos os meses, mais de 30.000 engenheiros visitam este repositório, e mais de 9.000 já estão usando.

Se você aprecia o trabalho que nossos contribuidores dedicaram a este projeto, considere dar uma estrela ao repositório.

Este Servidor MCP Slack repleto de recursos tem:

  • Modos Furtivo e OAuth: Execute o servidor sem exigir permissões adicionais ou instalação de bots (modo furtivo), ou use tokens OAuth seguros para acesso sem precisar atualizar ou extrair tokens do navegador (modo OAuth).
  • Suporte a Workspaces Empresariais: Possibilidade de integração com configurações Enterprise do Slack.
  • Suporte a Canais e Tópicos com #Name @Lookup: Busque mensagens de canais e tópicos, incluindo mensagens de atividade, e recupere canais usando seus nomes (ex.: #geral) bem como seus IDs.
  • Histórico Inteligente: Busque mensagens com paginação por data (d1, 7d, 1m) ou por contagem de mensagens.
  • Mensagens Não Lidas: Obtenha todas as mensagens não lidas nos canais de forma eficiente com ordenação por prioridade (DMs > canais parceiros > internos), filtro por @menções e suporte a marcar como lido.
  • Buscar Mensagens: Pesquise mensagens em canais, tópicos e DMs usando vários filtros como data, usuário e conteúdo.
  • Postagem Segura de Mensagens: A ferramenta conversations_add_message está desabilitada por padrão por segurança. Ative-a por meio de uma variável de ambiente, com restrições opcionais de canais.
  • Suporte a DM e DM em Grupo: Recupere mensagens diretas e mensagens diretas em grupo.
  • Informações de usuário incorporadas: Incorpore informações do usuário nas mensagens, para melhor contexto.
  • Suporte a cache: Armazene em cache usuários e canais para acesso mais rápido.
  • Transportes Stdio/SSE/HTTP e Suporte a Proxy: Use o servidor com qualquer cliente MCP que suporte transportes Stdio, SSE ou HTTP, e configure-o para rotear solicitações de saída por um proxy, se necessário.

Demonstração de Análise

Analytics

Demonstração de Adicionar Mensagem

Add Message

Ferramentas

1. conversations_history:

Obtenha mensagens do canal (ou DM) por channel_id; a última linha/coluna na resposta é usada como parâmetro 'cursor' para paginação se não estiver vazia.

  • Parâmetros:
    • channel_id (string, obrigatório): - channel_id (string): ID do canal no formato Cxxxxxxxxxx ou seu nome começando com #... ou @..., também conhecido como #general ou @username_dm.
    • include_activity_messages (booleano, padrão: false): Se verdadeiro, a resposta incluirá mensagens de atividade como channel_join ou channel_leave. O padrão é booleano falso.
    • cursor (string, opcional): Cursor para paginação. Use o valor da última linha e coluna na resposta como campo next_cursor retornado da solicitação anterior.
    • limit (string, padrão: "1d"): Limite de mensagens a buscar no formato de faixas máximas de tempo (ex.: 1d - 1 dia, 1w - 1 semana, 30d - 30 dias, 90d - 90 dias, que é o limite padrão para histórico do plano gratuito) ou número de mensagens (ex.: 50). Deve estar vazio quando 'cursor' for fornecido.

2. conversations_replies:

Obtenha um tópico de mensagens postadas em uma conversa por channelID e thread_ts; a última linha/coluna na resposta é usada como parâmetro cursor para paginação se não estiver vazia.

  • Parâmetros:
    • channel_id (string, obrigatório): ID do canal no formato Cxxxxxxxxxx ou seu nome começando com #... ou @..., também conhecido como #general ou @username_dm.
    • thread_ts (string, obrigatório): Identificador único da mensagem pai de um tópico ou de uma mensagem no tópico. ts deve ser o timestamp no formato 1234567890.123456 de uma mensagem existente com 0 ou mais respostas.
    • include_activity_messages (booleano, padrão: false): Se verdadeiro, a resposta incluirá mensagens de atividade como 'channel_join' ou 'channel_leave'. O padrão é booleano falso.
    • cursor (string, opcional): Cursor para paginação. Use o valor da última linha e coluna na resposta como campo next_cursor retornado da solicitação anterior.
    • limit (string, padrão: "1d"): Limite de mensagens a buscar no formato de faixas máximas de tempo (ex.: 1d - 1 dia, 1w - 1 semana, 30d - 30 dias, 90d - 90 dias, que é o limite padrão para histórico do plano gratuito) ou número de mensagens (ex.: 50). Deve estar vazio quando 'cursor' for fornecido.

3. conversations_add_message

Adicione uma mensagem a um canal público, canal privado ou conversa de mensagem direta (DM, ou IM) por channel_id e thread_ts.

Nota: Postar mensagens está desabilitado por padrão por segurança. Para habilitar, defina a variável de ambiente SLACK_MCP_ADD_MESSAGE_TOOL. Se definida como uma lista separada por vírgulas de IDs de canais, a postagem será habilitada apenas para esses canais específicos. Consulte a seção Variáveis de Ambiente abaixo para detalhes.

  • Parâmetros:
    • channel_id (string, obrigatório): ID do canal no formato Cxxxxxxxxxx ou seu nome começando com #... ou @..., também conhecido como #general ou @username_dm.
    • thread_ts (string, opcional): Identificador único da mensagem pai de um tópico ou de uma mensagem no tópico. thread_ts deve ser o timestamp no formato 1234567890.123456 de uma mensagem existente com 0 ou mais respostas. Opcional; se não for fornecido, a mensagem será adicionada ao próprio canal; caso contrário, será adicionada ao tópico.
    • payload (string, obrigatório): Payload da mensagem no formato content_type especificado. Exemplo: 'Olá, mundo!' para text/plain ou '# Olá, mundo!' para text/markdown.
    • content_type (string, padrão: "text/markdown"): Tipo de conteúdo da mensagem. O padrão é 'text/markdown'. Valores permitidos: 'text/markdown', 'text/plain'.

4. conversations_search_messages

Pesquise mensagens em um canal público, canal privado ou conversa de mensagem direta (DM, ou IM) usando filtros. Todos os filtros são opcionais; se não forem fornecidos, search_query é obrigatório.

Nota: Esta ferramenta não está disponível ao usar tokens de bot (xoxb-*). Tokens de bot não podem usar a API search.messages.

  • Parâmetros:
    • search_query (string, opcional): Consulta de pesquisa para filtrar mensagens. Exemplo: 'relatório de marketing' ou URL completa da mensagem do Slack, ex.: 'https://slack.com/archives/C1234567890/p1234567890123456'; então a ferramenta retornará uma única mensagem correspondente à URL fornecida, e todos os outros parâmetros serão ignorados.
    • filter_in_channel (string, opcional): Filtre mensagens em um canal específico por seu ID ou nome. Exemplo: C1234567890 ou #general. Se não for fornecido, todos os canais serão pesquisados.
    • filter_in_im_or_mpim (string, opcional): Filtre mensagens em uma conversa de mensagem direta (DM) ou mensagem direta multipessoa (MPIM) por seu ID ou nome. Exemplo: D1234567890 ou @username_dm. Se não for fornecido, todos os DMs e MPIMs serão pesquisados.
    • filter_users_with (string, opcional): Filtre mensagens com um usuário específico por seu ID ou nome de exibição em tópicos e DMs. Exemplo: U1234567890 ou @username. Se não for fornecido, todos os tópicos e DMs serão pesquisados.
    • filter_users_from (string, opcional): Filtre mensagens de um usuário específico por seu ID ou nome de exibição. Exemplo: U1234567890 ou @username. Se não for fornecido, todos os usuários serão pesquisados.
    • filter_date_before (string, opcional): Filtre mensagens enviadas antes de uma data específica no formato YYYY-MM-DD. Exemplo: 2023-10-01, July, Yesterday ou Today. Se não for fornecido, todas as datas serão pesquisadas.
    • filter_date_after (string, opcional): Filtre mensagens enviadas após uma data específica no formato YYYY-MM-DD. Exemplo: 2023-10-01, July, Yesterday ou Today. Se não for fornecido, todas as datas serão pesquisadas.
    • filter_date_on (string, opcional): Filtre mensagens enviadas em uma data específica no formato YYYY-MM-DD. Exemplo: 2023-10-01, July, Yesterday ou Today. Se não for fornecido, todas as datas serão pesquisadas.
    • filter_date_during (string, opcional): Filtre mensagens enviadas durante um período específico no formato YYYY-MM-DD. Exemplo: July, Yesterday ou Today. Se não for fornecido, todas as datas serão pesquisadas.
    • filter_threads_only (booleano, padrão: false): Se verdadeiro, a resposta incluirá apenas mensagens de tópicos. O padrão é booleano falso.
    • cursor (string, padrão: ""): Cursor para paginação. Use o valor da última linha e coluna na resposta como campo next_cursor retornado da solicitação anterior.
    • limit (número, padrão: 20): O número máximo de itens a retornar. Deve ser um inteiro entre 1 e 100.

5. channels_list:

Obtenha a lista de canais

  • Parâmetros:
    • channel_types (string, obrigatório): Tipos de canais separados por vírgulas. Valores permitidos: mpim, im, public_channel, private_channel. Exemplo: public_channel,private_channel,im
    • sort (string, opcional): Tipo de ordenação. Valores permitidos: popularity - ordenar por número de membros/participantes em cada canal.
    • limit (número, padrão: 100): O número máximo de itens a retornar. Deve ser um inteiro entre 1 e 1000 (máximo 999).
    • cursor (string, opcional): Cursor para paginação. Use o valor da última linha e coluna na resposta como campo next_cursor retornado da solicitação anterior.

6. reactions_add:

Adicione uma reação de emoji a uma mensagem em um canal público, canal privado ou conversa de mensagem direta (DM, ou IM).

Nota: Adicionar reações está desabilitado por padrão por segurança. Para habilitar, defina a variável de ambiente SLACK_MCP_REACTION_TOOL. Se definida como uma lista separada por vírgulas de IDs de canais, as reações serão habilitadas apenas para esses canais específicos. Consulte a seção Variáveis de Ambiente abaixo para detalhes.

  • Parâmetros:
    • channel_id (string, obrigatório): ID do canal no formato Cxxxxxxxxxx ou seu nome começando com #... ou @..., também conhecido como #general ou @username_dm.
    • timestamp (string, obrigatório): Timestamp da mensagem para adicionar a reação, no formato 1234567890.123456.
    • emoji (string, obrigatório): O nome do emoji a adicionar como reação (sem dois-pontos). Exemplo: thumbsup, heart, rocket.

7. reactions_remove:

Remova uma reação de emoji de uma mensagem em um canal público, canal privado ou conversa de mensagem direta (DM, ou IM).

Nota: Remover reações segue o mesmo modelo de permissão que reactions_add. Para habilitar, defina a variável de ambiente SLACK_MCP_REACTION_TOOL.

  • Parâmetros:
    • channel_id (string, obrigatório): ID do canal no formato Cxxxxxxxxxx ou seu nome começando com #... ou @..., também conhecido como #general ou @username_dm.
    • timestamp (string, obrigatório): Timestamp da mensagem para remover a reação, no formato 1234567890.123456.
    • emoji (string, obrigatório): O nome do emoji a remover como reação (sem dois-pontos). Exemplo: thumbsup, heart, rocket.

8. users_search:

Pesquise usuários por nome, e-mail ou nome de exibição. Retorna detalhes do usuário e o ID do canal de DM, se disponível.

Nota: Para tokens OAuth (xoxp/xoxb), esta ferramenta pesquisa o cache local de usuários usando correspondência de padrões. Para tokens de sessão do navegador (xoxc/xoxd), ela usa a API edge do Slack para pesquisa em tempo real.

  • Parâmetros:
    • query (string, obrigatório): Consulta de pesquisa — corresponde ao nome real, nome de exibição, nome de usuário ou e-mail.
    • limit (número, padrão: 10): Número máximo de resultados a retornar (1-100).
  • Retorna: CSV com os campos:
    • UserID: ID do usuário (ex.: U1234567890)
    • UserName: nome de usuário do Slack
    • RealName: nome real do usuário
    • DisplayName: nome de exibição do usuário
    • Email: endereço de e-mail do usuário
    • Title: cargo do usuário
    • DMChannelID: ID do canal de DM se disponível no cache (para mensagens rápidas)

9. usergroups_list:

Lista todos os grupos de usuários (subequipes) no workspace.

  • Parâmetros:

    • include_users (booleano, padrão: false): Inclui lista de IDs de usuários em cada grupo.
    • include_count (booleano, padrão: true): Inclui contagem de usuários para cada grupo.
    • include_disabled (booleano, padrão: false): Inclui grupos desativados/arquivados.
  • Retorna: CSV com os campos: id, name, handle, description, user_count, is_external

Escopos OAuth necessários: usergroups:read

10. usergroups_create:

Cria um novo grupo de usuários no workspace.

  • Parâmetros:

    • name (string, obrigatório): Nome do grupo de usuários (ex.: "Engineering Team").
    • handle (string, opcional): Handle de menção sem @ (ex.: "engineering"). Se não for fornecido, o Slack gerará um automaticamente.
    • description (string, opcional): Finalidade ou descrição do grupo.
    • channels (string, opcional): IDs de canais separados por vírgula para canais padrão onde as menções ao grupo serão destacadas.
  • Retorna: JSON com detalhes do grupo criado (id, name, handle, description)

Escopos OAuth necessários: usergroups:write

11. usergroups_update:

Atualiza os metadados de um grupo de usuários existente.

  • Parâmetros:

    • usergroup_id (string, obrigatório): ID do grupo de usuários (ex.: "S1234567890").
    • name (string, opcional): Novo nome para o grupo.
    • handle (string, opcional): Novo handle de menção.
    • description (string, opcional): Nova descrição.
    • channels (string, opcional): Novos canais padrão (IDs separados por vírgula). Isso substitui os canais padrão existentes.
  • Retorna: JSON com detalhes atualizados do grupo

Escopos OAuth necessários: usergroups:write

12. usergroups_users_update:

Atualiza os membros de um grupo de usuários. Isso substitui todos os membros existentes.

  • Parâmetros:

    • usergroup_id (string, obrigatório): ID do grupo de usuários (ex.: "S1234567890").
    • users (string, obrigatório): IDs de usuários separados por vírgula para definir como membros (ex.: "U123,U456,U789").
  • Retorna: JSON com detalhes atualizados do grupo, incluindo a nova lista de usuários

Escopos OAuth necessários: usergroups:write

13. usergroups_me:

Gerencia sua associação a grupos de usuários: lista grupos dos quais você participa, entra em um grupo ou sai de um grupo.

  • Parâmetros:

    • action (string, obrigatório): Ação a ser executada - list para ver seus grupos, join para adicionar você mesmo, leave para remover você mesmo.
    • usergroup_id (string, opcional): ID do grupo de usuários (ex.: "S1234567890"). Obrigatório para as ações join e leave.
  • Retorna:

    • Para list: CSV com os grupos dos quais você é membro
    • Para join/leave: JSON com mensagem de resultado e informações atualizadas do grupo

Escopos OAuth necessários: usergroups:read (para listar), usergroups:read + usergroups:write (para entrar/sair)

14. conversations_unreads

Obtém mensagens não lidas em todos os canais de forma eficiente. Usa uma única chamada de API para identificar canais com não lidas e, em seguida, busca apenas essas mensagens. Os resultados são priorizados: DMs > canais de parceiros (Slack Connect) > canais internos.

Nota: Esta ferramenta funciona melhor com tokens de sessão de navegador (xoxc/xoxd), que usam a API eficiente client.counts. Para tokens OAuth padrão (xoxp), um método alternativo usando conversations.info é usado, o que requer uma chamada de API por canal e pode ser mais lento para workspaces grandes. Não disponível com tokens de bot (xoxb).

  • Parâmetros:
    • include_messages (booleano, padrão: true): Se true, retorna as mensagens não lidas reais. Se false, retorna apenas um resumo dos canais com não lidas.
    • channel_types (string, padrão: "all"): Filtro por tipo de canal: all, dm (mensagens diretas), group_dm (DMs em grupo), partner (canais compartilhados externamente), internal (canais regulares do workspace).
    • max_channels (número, padrão: 50): Número máximo de canais para buscar não lidas.
    • max_messages_per_channel (número, padrão: 10): Máximo de mensagens para buscar por canal.
    • mentions_only (booleano, padrão: false): Se true, retorna apenas canais onde você tem @menções. Nota: Este filtro só funciona com tokens de navegador; tokens OAuth retornarão todos os canais não lidos.

15. conversations_mark

Marca um canal ou DM como lido.

Nota: Marcar mensagens como lidas está desativado por padrão por segurança. Para ativar, defina a variável de ambiente SLACK_MCP_MARK_TOOL como true ou 1. Consulte a seção Variáveis de Ambiente abaixo para detalhes.

  • Parâmetros:
    • channel_id (string, obrigatório): ID do canal no formato Cxxxxxxxxxx ou seu nome começando com #... ou @... (ex.: #general, @username).
    • ts (string, opcional): Timestamp da mensagem até a qual marcar como lida. Se não for fornecido, marca todas as mensagens como lidas.

16. saved_list

Lista itens salvos do painel "Save for Later" do Slack. Retorna itens que o usuário salvou, com conteúdo opcional da mensagem. Isso substitui a API obsoleta stars.list (changelog).

Nota: Esta ferramenta requer tokens de sessão de navegador (xoxc/xoxd). Não está disponível com tokens OAuth padrão (xoxp) ou de bot (xoxb).

  • Parâmetros:
    • filter (string, padrão "saved"): Filtro de itens salvos: "saved" (ativos/em andamento), "completed" (marcados como concluídos), "archived".
    • limit (número, padrão 50): Número máximo de itens a retornar. Paginação automática.
    • include_messages (booleano, padrão true): Se true, busca o conteúdo real da mensagem salva. Se false, retorna apenas metadados.
    • max_messages_per_item (número, padrão 5): Máximo de mensagens para buscar por item salvo (para respostas em thread).

17. saved_update

Atualiza um item salvo: marca como concluído, define uma data de vencimento/lembrete, ou ambos. Use os valores item_id e ts da saída de saved_list. Isso substitui as APIs obsoletas stars.add/stars.remove.

Nota: Esta ferramenta requer tokens de sessão de navegador (xoxc/xoxd). Não está disponível com tokens OAuth padrão (xoxp) ou de bot (xoxb).

  • Parâmetros:
    • item_id (string, obrigatório): ID do canal/DM onde a mensagem salva está (da saída de saved_list).
    • ts (string, obrigatório): Timestamp da mensagem do item salvo (da saída de saved_list).
    • mark (string, opcional): Defina como "completed" para marcar o item como concluído.
    • date_due (número, opcional): Timestamp Unix para data de vencimento/lembrete. Defina como 0 para limpar.

18. saved_clear_completed

Limpa todos os itens salvos concluídos do painel "Save for Later". Esta é uma operação em massa que remove todos os itens com state="completed".

Nota: Esta ferramenta requer tokens de sessão de navegador (xoxc/xoxd). Não está disponível com tokens OAuth padrão (xoxp) ou de bot (xoxb).

  • Parâmetros: Nenhum.

Recursos

O Slack MCP Server expõe dois recursos de diretório especiais para acesso fácil aos metadados do workspace:

1. slack://<workspace>/channels — Diretório de Canais

Busca um diretório CSV de todos os canais no workspace, incluindo canais públicos, canais privados, DMs e DMs em grupo.

  • URI: slack://<workspace>/channels
  • Formato: text/csv
  • Campos:
    • id: ID do canal (ex.: C1234567890)
    • name: Nome do canal (ex.: #general, @username_dm)
    • topic: Tópico do canal (se houver)
    • purpose: Finalidade/descrição do canal
    • memberCount: Número de membros no canal

2. slack://<workspace>/users — Diretório de Usuários

Busca um diretório CSV de todos os usuários no workspace.

  • URI: slack://<workspace>/users
  • Formato: text/csv
  • Campos:
    • userID: ID do usuário (ex.: U1234567890)
    • userName: Nome de usuário do Slack (ex.: john)
    • realName: Nome real do usuário (ex.: John Doe)

Guia de Configuração

Variáveis de Ambiente (Referência Rápida)

VariávelObrigatório?PadrãoDescrição
SLACK_MCP_XOXC_TOKENSim*nilToken do navegador Slack (xoxc-...)
SLACK_MCP_XOXD_TOKENSim*nilCookie do navegador Slack d (xoxd-...)
SLACK_MCP_XOXP_TOKENSim*nilToken OAuth de usuário (xoxp-...) — alternativa ao xoxc/xoxd
SLACK_MCP_XOXB_TOKENSim*nilToken de bot (xoxb-...) — alternativa ao xoxp/xoxc/xoxd. O bot tem acesso limitado (somente canais convidados, sem busca)
SLACK_MCP_PORTNão13080Porta para o servidor MCP escutar
SLACK_MCP_HOSTNão127.0.0.1Host para o servidor MCP escutar
SLACK_MCP_API_KEYNãonilToken Bearer para transportes SSE e HTTP
SLACK_MCP_PROXYNãonilURL de proxy para solicitações de saída
SLACK_MCP_USER_AGENTNãonilUser-Agent personalizado (para ambientes Slack Enterprise)
SLACK_MCP_CUSTOM_TLSNãonilEnviar handshake TLS personalizado aos servidores Slack com base em SLACK_MCP_USER_AGENT ou User-Agent padrão. (para ambientes Slack Enterprise)
SLACK_MCP_SERVER_CANãonilCaminho para o certificado CA
SLACK_MCP_SERVER_CA_TOOLKITNãonilInjetar certificado CA do HTTPToolkit no armazenamento de confiança raiz para depuração MitM
SLACK_MCP_SERVER_CA_INSECURENãofalseConfiar em todas as solicitações inseguras (NÃO RECOMENDADO)
SLACK_MCP_ADD_MESSAGE_TOOLNãonilHabilite o envio de mensagens via conversations_add_message definindo-o como true para todos os canais, uma lista separada por vírgulas de IDs de canais para permitir canais específicos, ou use ! antes de um ID de canal para permitir todos exceto os especificados. Se vazio, a ferramenta só é registrada quando explicitamente listada em SLACK_MCP_ENABLED_TOOLS.
SLACK_MCP_ADD_MESSAGE_MARKNãonilQuando conversations_add_message estiver habilitado (via SLACK_MCP_ADD_MESSAGE_TOOL ou SLACK_MCP_ENABLED_TOOLS), definir isso como true marcará automaticamente as mensagens enviadas como lidas.
SLACK_MCP_ADD_MESSAGE_UNFURLINGNãonilHabilite para permitir que o Slack desdobre links postados ou defina uma lista separada por vírgulas de domínios, ex.: github.com,slack.com, para permitir o desdobramento apenas para eles. Se o texto contiver domínios permitidos e desconhecidos, o desdobramento será desativado por motivos de segurança.
SLACK_MCP_REACTION_TOOLNãonilHabilite as ferramentas reactions_add e reactions_remove definindo como true para todos os canais, uma lista separada por vírgulas de IDs de canais para permitir canais específicos, ou use ! antes de um ID de canal para permitir todos exceto os especificados. Se vazio, as ferramentas só são registradas quando explicitamente listadas em SLACK_MCP_ENABLED_TOOLS.
SLACK_MCP_ATTACHMENT_TOOLNãonilHabilite a ferramenta attachment_get_data definindo como true, 1 ou yes. Não suporta restrições de nível de canal. Se vazio, a ferramenta só é registrada quando explicitamente listada em SLACK_MCP_ENABLED_TOOLS.
SLACK_MCP_MARK_TOOLNãonilHabilite a ferramenta conversations_mark definindo como true ou 1. Desabilitada por padrão para evitar marcação acidental de mensagens como lidas.
SLACK_MCP_USERS_CACHENão~/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)
Caminho para o arquivo de cache de usuários. Usado para armazenar em cache informações de usuários do Slack para evitar chamadas repetidas de API na inicialização.
SLACK_MCP_CHANNELS_CACHENão~/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)
Caminho para o arquivo de cache de canais. Usado para armazenar em cache informações de canais do Slack para evitar chamadas repetidas de API na inicialização.
SLACK_MCP_LOG_LEVELNãoinfoNível de log para stdout ou stderr. Valores válidos são: debug, info, warn, error, panic e fatal
SLACK_MCP_GOVSLACKNãonilDefina como true para habilitar o modo GovSlack. Roteia chamadas de API para endpoints slack-gov.com em vez de slack.com para espaços de trabalho governamentais em conformidade com FedRAMP.
SLACK_MCP_ENABLED_TOOLSNãonilLista separada por vírgulas de ferramentas para registrar. Se vazio, todas as ferramentas somente leitura e ferramentas de grupos de usuários são registradas; ferramentas de escrita (conversations_add_message, reactions_add, reactions_remove, attachment_get_data) exigem sua variável de ambiente específica OU devem ser explicitamente listadas aqui. Quando uma ferramenta de escrita é listada aqui, ela é habilitada sem restrições de canal. Ferramentas disponíveis: 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.

*Você precisa de um dos: xoxp (usuário), xoxb (bot), ou ambos os tokens xoxc/xoxd para autenticação.

Matriz de limitações e Cache

Cache de UsuáriosCache de CanaisLimitações
:x::x:Sem cache, sem aprimoramento de contexto LLM com dados de usuário, a ferramenta channels_list será totalmente não funcional. As ferramentas conversations_* terão capacidades limitadas e você não poderá pesquisar mensagens por @userHandle ou #channel-name, obter mensagens por @userHandle ou #channel-name também não estará disponível.
:white_check_mark::x:Sem cache de canais, a ferramenta channels_list será totalmente não funcional. As ferramentas conversations_* terão capacidades limitadas e você não poderá pesquisar mensagens por @userHandle ou #channel-name, obter mensagens por @userHandle ou #channel-name também não estará disponível.
:white_check_mark::white_check_mark:Sem limitações, servidor Slack MCP totalmente funcional.

Ferramentas de Depuração

# 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

Segurança

  • Nunca compartilhe tokens de API
  • Mantenha os arquivos .env seguros e privados

Licença

Licenciado sob MIT - consulte o arquivo LICENSE. Este não é um produto oficial do Slack.