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
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_messageestá 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

Demonstração de Adicionar Mensagem

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#generalou@username_dm.include_activity_messages(booleano, padrão: false): Se verdadeiro, a resposta incluirá mensagens de atividade comochannel_joinouchannel_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 formatoCxxxxxxxxxxou seu nome começando com#...ou@..., também conhecido como#generalou@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 formato1234567890.123456de 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 formatoCxxxxxxxxxxou seu nome começando com#...ou@..., também conhecido como#generalou@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 formato1234567890.123456de 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 APIsearch.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:C1234567890ou#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:D1234567890ou@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:U1234567890ou@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:U1234567890ou@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 formatoYYYY-MM-DD. Exemplo:2023-10-01,July,YesterdayouToday. 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 formatoYYYY-MM-DD. Exemplo:2023-10-01,July,YesterdayouToday. 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 formatoYYYY-MM-DD. Exemplo:2023-10-01,July,YesterdayouToday. 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 formatoYYYY-MM-DD. Exemplo:July,YesterdayouToday. 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,imsort(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 formatoCxxxxxxxxxxou seu nome começando com#...ou@..., também conhecido como#generalou@username_dm.timestamp(string, obrigatório): Timestamp da mensagem para adicionar a reação, no formato1234567890.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 ambienteSLACK_MCP_REACTION_TOOL.
- Parâmetros:
channel_id(string, obrigatório): ID do canal no formatoCxxxxxxxxxxou seu nome começando com#...ou@..., também conhecido como#generalou@username_dm.timestamp(string, obrigatório): Timestamp da mensagem para remover a reação, no formato1234567890.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 SlackRealName: nome real do usuárioDisplayName: nome de exibição do usuárioEmail: endereço de e-mail do usuárioTitle: cargo do usuárioDMChannelID: 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 -listpara ver seus grupos,joinpara adicionar você mesmo,leavepara remover você mesmo.usergroup_id(string, opcional): ID do grupo de usuários (ex.: "S1234567890"). Obrigatório para as açõesjoineleave.
-
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
- Para
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 eficienteclient.counts. Para tokens OAuth padrão (xoxp), um método alternativo usandoconversations.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_TOOLcomotrueou1. Consulte a seção Variáveis de Ambiente abaixo para detalhes.
- Parâmetros:
channel_id(string, obrigatório): ID do canal no formatoCxxxxxxxxxxou 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ão50): Número máximo de itens a retornar. Paginação automática.include_messages(booleano, padrãotrue): Se true, busca o conteúdo real da mensagem salva. Se false, retorna apenas metadados.max_messages_per_item(número, padrão5): 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 desaved_list).ts(string, obrigatório): Timestamp da mensagem do item salvo (da saída desaved_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 como0para 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 canalmemberCount: 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ável | Obrigatório? | Padrão | Descrição |
|---|---|---|---|
SLACK_MCP_XOXC_TOKEN | Sim* | nil | Token do navegador Slack (xoxc-...) |
SLACK_MCP_XOXD_TOKEN | Sim* | nil | Cookie do navegador Slack d (xoxd-...) |
SLACK_MCP_XOXP_TOKEN | Sim* | nil | Token OAuth de usuário (xoxp-...) — alternativa ao xoxc/xoxd |
SLACK_MCP_XOXB_TOKEN | Sim* | nil | Token de bot (xoxb-...) — alternativa ao xoxp/xoxc/xoxd. O bot tem acesso limitado (somente canais convidados, sem busca) |
SLACK_MCP_PORT | Não | 13080 | Porta para o servidor MCP escutar |
SLACK_MCP_HOST | Não | 127.0.0.1 | Host para o servidor MCP escutar |
SLACK_MCP_API_KEY | Não | nil | Token Bearer para transportes SSE e HTTP |
SLACK_MCP_PROXY | Não | nil | URL de proxy para solicitações de saída |
SLACK_MCP_USER_AGENT | Não | nil | User-Agent personalizado (para ambientes Slack Enterprise) |
SLACK_MCP_CUSTOM_TLS | Não | nil | Enviar 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_CA | Não | nil | Caminho para o certificado CA |
SLACK_MCP_SERVER_CA_TOOLKIT | Não | nil | Injetar certificado CA do HTTPToolkit no armazenamento de confiança raiz para depuração MitM |
SLACK_MCP_SERVER_CA_INSECURE | Não | false | Confiar em todas as solicitações inseguras (NÃO RECOMENDADO) |
SLACK_MCP_ADD_MESSAGE_TOOL | Não | nil | Habilite 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_MARK | Não | nil | Quando 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_UNFURLING | Não | nil | Habilite 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_TOOL | Não | nil | Habilite 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_TOOL | Não | nil | Habilite 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_TOOL | Não | nil | Habilite 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_CACHE | Nã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_CACHE | Nã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_LEVEL | Não | info | Nível de log para stdout ou stderr. Valores válidos são: debug, info, warn, error, panic e fatal |
SLACK_MCP_GOVSLACK | Não | nil | Defina 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_TOOLS | Não | nil | Lista 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ários | Cache de Canais | Limitaçõ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.