Slack User
Interactúa con espacios de trabajo de Slack como un usuario a través de la API de Slack.
Documentación
Slack User MCP Server
Servidor MCP para la API de Slack, que permite a Claude interactuar con espacios de trabajo de Slack como usuario.
Herramientas
-
slack_list_channels- Lista los canales públicos del espacio de trabajo
- Entradas opcionales:
limit(número, predeterminado: 100, máximo: 200): Número máximo de canales a devolvercursor(cadena): Cursor de paginación para la siguiente página
- Devuelve: Lista de canales con sus IDs e información
-
slack_post_message- Publica un nuevo mensaje en un canal de Slack
- Entradas requeridas:
channel_id(cadena): El ID del canal donde publicartext(cadena): El texto del mensaje a publicar
- Devuelve: Confirmación de publicación del mensaje y marca de tiempo
-
slack_reply_to_thread- Responde a un hilo de mensaje específico
- Entradas requeridas:
channel_id(cadena): El canal que contiene el hilothread_ts(cadena): Marca de tiempo del mensaje principaltext(cadena): El texto de la respuesta
- Devuelve: Confirmación de respuesta y marca de tiempo
-
slack_add_reaction- Añade una reacción emoji a un mensaje
- Entradas requeridas:
channel_id(cadena): El canal que contiene el mensajetimestamp(cadena): Marca de tiempo del mensaje al que reaccionarreaction(cadena): Nombre del emoji sin dos puntos
- Devuelve: Confirmación de la reacción
-
slack_get_channel_history- Obtiene mensajes recientes de un canal
- Entradas requeridas:
channel_id(cadena): El ID del canal
- Entradas opcionales:
limit(número, predeterminado: 10): Número de mensajes a recuperar
- Devuelve: Lista de mensajes con su contenido y metadatos
-
slack_get_thread_replies- Obtiene todas las respuestas en un hilo de mensaje
- Entradas requeridas:
channel_id(cadena): El canal que contiene el hilothread_ts(cadena): Marca de tiempo del mensaje principal
- Devuelve: Lista de respuestas con su contenido y metadatos
-
slack_get_users- Obtiene la lista de usuarios del espacio de trabajo con información básica del perfil
- Entradas opcionales:
cursor(cadena): Cursor de paginación para la siguiente páginalimit(número, predeterminado: 100, máximo: 200): Número máximo de usuarios a devolver
- Devuelve: Lista de usuarios con sus perfiles básicos
-
slack_get_user_profile- Obtiene información detallada del perfil de un usuario específico
- Entradas requeridas:
user_id(cadena): El ID del usuario
- Devuelve: Información detallada del perfil del usuario
Configuración
-
Crea una aplicación de Slack:
- Visita la página de aplicaciones de Slack
- Haz clic en "Create New App"
- Elige "From scratch"
- Nombra tu aplicación y selecciona tu espacio de trabajo
-
Configura los ámbitos del token de usuario: Navega a "OAuth & Permissions" y añade estos ámbitos:
channels:history- Ver mensajes y otro contenido en canales públicoschannels:read- Ver información básica del canalchat:write- Enviar mensajes como tú mismoreactions:write- Añadir reacciones emoji a mensajesusers:read- Ver usuarios y su información básica
-
Instala la aplicación en el espacio de trabajo:
- Haz clic en "Install to Workspace" y autoriza la aplicación
- Guarda el "User OAuth Token" que comienza con
xoxp-.
-
Para tokens a nivel de organización, obtén tu Team ID (comienza con
T) siguiendo esta guía. Es opcional para tokens de espacio de trabajo ordinarios.
Trata los tokens OAuth como secretos. No los confirmes en repositorios, no los incluyas en issues o pull requests, ni los pegues en configuración compartida. Rota un token inmediatamente si se expone.
Uso con Claude Desktop
Añade lo siguiente a tu claude_desktop_config.json:
Instalación local
Primero instala y compila el servidor:
git clone https://github.com/lars-hagen/slack-user-mcp.git
cd slack-user-mcp
npm install
npm run build
Luego configura Claude Desktop:
{
"mcpServers": {
"slack": {
"command": "npm",
"args": [
"run",
"--prefix",
"/path/to/slack-user-mcp",
"start"
],
"env": {
"SLACK_TOKEN": "xoxp-your-user-token"
}
}
}
}
NPX
Este proyecto no está publicado en npm. No uses un nombre de paquete npx para él. Clona y compílalo localmente como se muestra arriba, y luego usa la configuración local.
Docker
{
"mcpServers": {
"slack": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SLACK_TOKEN",
"slack-user-mcp"
],
"env": {
"SLACK_TOKEN": "xoxp-your-user-token"
}
}
}
}
Compila la imagen primero con docker build -t slack-user-mcp .. Añade -e SLACK_TEAM_ID y SLACK_TEAM_ID a env solo cuando uses un token a nivel de organización.
Instalación mediante Smithery
Para instalar Slack User Server para Claude Desktop automáticamente mediante Smithery:
npx -y @smithery/cli install @lars-hagen/slack-user-mcp --client claude
Solución de problemas
Si encuentras errores de permisos, verifica que:
- Todos los ámbitos requeridos estén añadidos a tu aplicación de Slack
- La aplicación esté correctamente instalada en tu espacio de trabajo
- El token y, cuando sea necesario, el ID del espacio de trabajo estén copiados correctamente en tu configuración
- La aplicación se haya añadido a los canales a los que necesita acceder
- Estés usando un User OAuth Token (comienza con
xoxp-) en lugar de un Bot Token
Compilación
Compilación de Docker:
docker build -t slack-user-mcp .
Estado de mantenimiento
Este proyecto recibe mantenimiento enfocado y de mejor esfuerzo. No tiene SLA de soporte. Por favor, reporta problemas de seguridad de forma privada como se describe en SECURITY.md.
Licencia
Este servidor MCP está licenciado bajo la Licencia MIT. Esto significa que eres libre de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia MIT. Para más detalles, consulta el archivo LICENSE en el repositorio del proyecto.