Skip to main content
Glama
AVIMBU

Slack MCP Server

by AVIMBU

Servidor de protocolo de contexto del modelo Slack

Este es un conector que permite que Claude Desktop (o cualquier cliente MCP) interactúe con su espacio de trabajo de Slack para publicar mensajes y consultar una lista de todos los usuarios.

Desarrollo local

Para ejecutar este cliente localmente, agregue la siguiente configuración a su archivo de configuración de Claude Desktop MCP Server:

 {
  "mcpServers": {
    "mcp-slack-local": {
      "command": "node",
      "args": ["/path/to/project/dist/index.js"], <---- replace this with your project path
      "env": {
        "SLACK_BOT_USER_OAUTH_TOKEN": "test-bot-token", 
        "SLACK_TEAM_ID": "test-team-id"
      }
    },
  }
}

Después de esto, deberías poder probar esta implementación en tu aplicación de escritorio Claude usando indicaciones de ejemplo como:

  • "¿Puedes enumerar todos los usuarios de mi equipo de Slack?"

  • "¿Puedes enviar un mensaje de bienvenida a mi canal de Slack con el ID <channel id> ?"

Ejecutando el servidor localmente:

node dist/index.js

Con la construcción en otra terminal

npm run watch

Related MCP server: Slack MCP Server by CData

Ámbitos de permisos de Slack

Los siguientes permisos ya están implementados:

Permiso

Descripción

Implementado

configuraciones_de_aplicación:leer

Leer la información de configuración de la aplicación a través de las API del manifiesto de la aplicación

configuraciones_de_aplicación:escribir

Escriba información de configuración de la aplicación y cree aplicaciones a través de las API de manifiesto de la aplicación

menciones_de_la_aplicación:leer

Ver mensajes que mencionan directamente a @your_slack_app en las conversaciones en las que participa la aplicación

asistente:escribir

Permita que su aplicación Slack actúe como un asistente de IA

marcadores:leer

Lista de marcadores

marcadores:escribir

Crear, editar y eliminar marcadores

llamadas:leer

Ver información sobre llamadas en curso y pasadas

llamadas:escribir

Iniciar y administrar llamadas en un espacio de trabajo

lienzos:leer

Su aplicación Slack podrá acceder al contenido de los lienzos creados dentro de Slack.

lienzos:escribir

Su aplicación Slack podrá crear, editar y eliminar lienzos.

canales:historial

Ver mensajes y otro contenido en canales públicos a los que se agregó tu aplicación Slack

canales:unirse

Unirse a canales públicos en un espacio de trabajo

canales:administrar

Administra los canales públicos a los que se ha agregado tu aplicación Slack y crea otros nuevos

canales:leer

Ver información básica sobre los canales públicos en un espacio de trabajo

canales:escribir.invitaciones

Invitar a miembros a canales públicos

canales:escribir.tema

Establecer la descripción de los canales públicos

chat:escribir

Publicar mensajes en canales y conversaciones aprobados

chat:escribir.personalizar

Envía mensajes como @your_slack_app con un nombre de usuario y un avatar personalizados

chat:escribir.público

Enviar mensajes a canales de los que @your_slack_app no es miembro

comandos

Agregue atajos y/o comandos de barra que las personas puedan usar

conversaciones.conectar:administrar

Permite que tu aplicación Slack administre los canales de Slack Connect

conversaciones.conectar:leer

Recibe eventos de invitación de Slack Connect enviados a los canales en los que se encuentra tu aplicación Slack

conversaciones.conectar:escribir

Crea invitaciones de Slack Connect para los canales a los que se ha agregado tu aplicación de Slack y acepta invitaciones enviadas a tu aplicación de Slack.

almacén de datos:leer

Ver y visualizar datos del almacén de datos de aplicaciones de Slack

almacén de datos: escritura

Escribir datos en el almacén de datos de la aplicación Slack

dnd:leer

Ver la configuración de No molestar para las personas en un espacio de trabajo

emoji:leer

Ver emojis personalizados en un espacio de trabajo

archivos:leer

Ver archivos compartidos en canales y conversaciones a los que se agregó tu aplicación Slack

archivos:escribir

Sube, edita y elimina archivos como tu aplicación de Slack

grupos:historia

Ver mensajes y otro contenido en canales privados a los que se agregó tu aplicación Slack

grupos:leer

Ver información básica sobre los canales privados a los que se ha agregado tu aplicación Slack

grupos:escribir

Administra los canales privados a los que se ha agregado tu aplicación Slack y crea otros nuevos

grupos:escribir.invitaciones

Invitar a miembros a canales privados

grupos:escribir.tema

Establecer la descripción de los canales privados

soy:historia

Ver mensajes y otro contenido en los mensajes directos a los que se agregó tu aplicación Slack

im:read

Ver información básica sobre los mensajes directos a los que se agregó tu aplicación Slack

im:escribir

Iniciar mensajes directos con personas

im:write.topic

Establecer la descripción en los mensajes directos

webhook entrante

Crea webhooks unidireccionales para publicar mensajes en un canal específico

enlaces.incrustar:escribir

Incrustar URL de reproductores de video en mensajes y superficies de aplicaciones

enlaces:leer

Ver URL en los mensajes

enlaces:escribir

Mostrar vistas previas de URL en los mensajes

metadatos.mensaje:leído

Permite que tu aplicación Slack lea los metadatos de los mensajes en los canales a los que se ha agregado tu aplicación Slack.

mpim:historial

Ver mensajes y otro contenido en mensajes directos grupales a los que se agregó tu aplicación Slack

mpim:leer

Ver información básica sobre los mensajes directos grupales a los que se agregó tu aplicación Slack

mpim:escribir

Iniciar mensajes directos grupales con personas

mpim:escribir.tema

Establecer la descripción en los mensajes directos del grupo

ninguno

Ejecutar métodos sin necesidad de un ámbito

pines:leer

Ver contenido fijado en canales y conversaciones a los que se agregó tu aplicación Slack

pines:escribir

Agregar y eliminar mensajes y archivos fijados

reacciones:leer

Vea las reacciones de emoji y su contenido asociado en los canales y conversaciones a los que se agregó su aplicación Slack

reacciones:escribir

Agregar y editar reacciones de emojis

recordatorios:leer

Ver recordatorios creados por tu aplicación Slack

recordatorios:escribir

Agregar, eliminar o marcar recordatorios como completos

archivos_remotos:leer

Ver archivos remotos agregados por la aplicación en un espacio de trabajo

archivos_remotos:compartir

Compartir archivos remotos en nombre de un usuario

archivos_remotos:escribir

Agregar, editar y eliminar archivos remotos en nombre de un usuario

búsqueda:leer.archivos

Buscar el contenido de un espacio de trabajo en los archivos

búsqueda:read.im

Buscar el contenido de un espacio de trabajo en mensajes directos

búsqueda:read.mpim

Buscar el contenido de un espacio de trabajo en mensajes directos grupales

búsqueda:leer.privado

Buscar el contenido de un espacio de trabajo en canales privados

búsqueda:leer.público

Buscar el contenido de un espacio de trabajo en canales públicos

equipo.facturación:leer

Permite que su aplicación Slack lea el plan de facturación de los espacios de trabajo en los que se ha instalado su aplicación Slack.

equipo.preferencias:leer

Permite que su aplicación Slack lea las preferencias de los espacios de trabajo en los que se ha instalado su aplicación Slack.

equipo:leer

Ver el nombre, el dominio de correo electrónico y el ícono de los espacios de trabajo a los que está conectada tu aplicación Slack

tokens.basic

Ejecutar métodos sin necesidad de un ámbito

disparadores:leer

Leer nuevos activadores de la plataforma

disparadores: escribir

Crear nuevos activadores de plataforma

grupos de usuarios:leer

Ver grupos de usuarios en un espacio de trabajo

grupos de usuarios: escribir

Crear y administrar grupos de usuarios

usuarios.perfil:leer

Ver detalles del perfil de las personas en un espacio de trabajo

usuarios:leer

Ver personas en un espacio de trabajo

usuarios:leer.correo electrónico

Ver direcciones de correo electrónico de personas en un espacio de trabajo

usuarios:escribir

Configurar presencia para tu aplicación Slack

flujo de trabajo.pasos:ejecutar

Agregue pasos que las personas puedan usar en Workflow Builder

flujos de trabajo.plantillas:leer

Leer una plantilla de flujo de trabajo

flujos de trabajo.plantillas:escribir

Escribe una plantilla de flujo de trabajo

Contacto

Si tiene preguntas, no dude en contactarnos a través de AVIMBU .

Available Tools

2 tools
slack_get_usersB

Get a list of all users in the workspace with basic information

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoPagination cursor for next page of results
limitNoMaximum number of users to return (default 100, max 200)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. While it indicates this is a read operation ('Get'), it doesn't mention important behavioral aspects like authentication requirements, rate limits, error conditions, or what 'basic information' specifically includes. For a tool that presumably accesses workspace data, this leaves significant gaps in understanding how it behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that communicates the core purpose without any wasted words. It's appropriately sized for a straightforward list operation and front-loads the essential information. Every word earns its place in this concise formulation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a relatively simple list operation with 2 parameters and no output schema, the description provides adequate but minimal context. It covers what the tool does but lacks important operational details like authentication requirements, rate limits, and what specific user information is returned. Without annotations or output schema, the description should ideally provide more complete guidance about the tool's behavior and results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with both parameters ('cursor' and 'limit') fully documented in the schema. The description doesn't add any additional parameter semantics beyond what's already in the schema. According to the scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no parameter information in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('list of all users in the workspace'), making the purpose immediately understandable. It specifies 'with basic information' which adds useful context about the scope of returned data. However, it doesn't explicitly differentiate from the sibling tool 'slack_post_message', which is a completely different operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, appropriate contexts, or comparison with the sibling 'slack_post_message' tool. The agent must infer usage purely from the tool name and description without any explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

slack_post_messageC

Post a new message to a Slack channel

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idYesThe Channel ID to post the message to
textYesThe message text to post

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Post a new message' implies a write operation, it doesn't mention authentication requirements, rate limits, error conditions, or what happens if the channel doesn't exist. This leaves significant behavioral gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that communicates the core purpose without any wasted words. It's appropriately sized for a simple tool and gets straight to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the tool returns, error conditions, authentication requirements, or any behavioral details beyond the basic action. Given the complexity of posting to Slack (which involves permissions, formatting, etc.), more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with both parameters clearly documented in the schema. The description doesn't add any additional semantic context about the parameters beyond what's already in the schema, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Post a new message') and target resource ('to a Slack channel'), making the purpose immediately understandable. However, it doesn't differentiate from its sibling tool 'slack_get_users' beyond the obvious difference in function, which is why it doesn't reach a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives or any prerequisites for usage. It simply states what the tool does without context about appropriate scenarios or limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.1/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: one retrieves user information and the other posts messages, with no overlap in functionality. An agent can easily differentiate between them based on their descriptions.

Naming Consistency5/5

Both tools follow a consistent 'slack_verb_noun' pattern (slack_get_users, slack_post_message), using snake_case and clear action-object naming. This makes them predictable and easy to understand.

Tool Count2/5

With only 2 tools, the server feels severely under-scoped for a Slack integration, lacking essential operations like reading messages, managing channels, or handling reactions. This minimal set limits agent capabilities significantly.

Completeness2/5

The tool surface is highly incomplete for a Slack server, missing core functionalities such as reading channel messages, listing channels, updating or deleting messages, and interacting with threads. This will cause frequent agent failures in typical Slack workflows.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AVIMBU/slack-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server