Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Slack

de mindstoneversión 0.3.7i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.mindstone/mcp-server-slack

Instalar

Resumen

Descripción del creador (original en inglés)

Slack MCP server: channels, messages, threads, reactions, users, files, and scheduled messages

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Chat y correo
  • Debes completar: SLACK_CONFIG_PATH, SLACK_TEAM_ID, SLACK_CLIENT_SECRET

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

  • Revisiones básicas: 1 de 1 superadas
  • Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
  • Debes completar tú: SLACK_CONFIG_PATH, SLACK_TEAM_ID, SLACK_CLIENT_ID, SLACK_CLIENT_SECRET, SLACK_DISABLE_REFRESH, SLACK_REQUEST_TIMEOUT_MS, SLACK_MAX_RETRIES, MCP_WORKSPACE_PATH

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-slack"
      ],
      "env": {
        "SLACK_CONFIG_PATH": "your-value",
        "SLACK_TEAM_ID": "your-value",
        "SLACK_CLIENT_ID": "your-value",
        "SLACK_CLIENT_SECRET": "your-value",
        "SLACK_DISABLE_REFRESH": "your-value",
        "SLACK_REQUEST_TIMEOUT_MS": "your-value",
        "SLACK_MAX_RETRIES": "your-value",
        "MCP_WORKSPACE_PATH": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add slack --env SLACK_CONFIG_PATH=your-value --env SLACK_TEAM_ID=your-value --env SLACK_CLIENT_ID=your-value --env SLACK_CLIENT_SECRET=your-value --env SLACK_DISABLE_REFRESH=your-value --env SLACK_REQUEST_TIMEOUT_MS=your-value --env SLACK_MAX_RETRIES=your-value --env MCP_WORKSPACE_PATH=your-value -- npx -y @mindstone/mcp-server-slack

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-slack"
      ],
      "env": {
        "SLACK_CONFIG_PATH": "your-value",
        "SLACK_TEAM_ID": "your-value",
        "SLACK_CLIENT_ID": "your-value",
        "SLACK_CLIENT_SECRET": "your-value",
        "SLACK_DISABLE_REFRESH": "your-value",
        "SLACK_REQUEST_TIMEOUT_MS": "your-value",
        "SLACK_MAX_RETRIES": "your-value",
        "MCP_WORKSPACE_PATH": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "slack": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-slack"
      ],
      "env": {
        "SLACK_CONFIG_PATH": "your-value",
        "SLACK_TEAM_ID": "your-value",
        "SLACK_CLIENT_ID": "your-value",
        "SLACK_CLIENT_SECRET": "your-value",
        "SLACK_DISABLE_REFRESH": "your-value",
        "SLACK_REQUEST_TIMEOUT_MS": "your-value",
        "SLACK_MAX_RETRIES": "your-value",
        "MCP_WORKSPACE_PATH": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • SLACK_CONFIG_PATH obligatorio env
    Path to the host-managed Slack config directory
  • SLACK_TEAM_ID obligatorio env
    Slack workspace team ID (one process per workspace)
  • SLACK_CLIENT_ID env
    Slack OAuth Connected App client ID. Only required to refresh a rotating token; saved non-rotating tokens authorize the Slack API without it.
  • SLACK_CLIENT_SECRET secreto env
    Slack OAuth Connected App client secret. Only required to refresh a rotating token; saved non-rotating tokens authorize the Slack API without it.
  • SLACK_DISABLE_REFRESH env
    Set to 1 to disable token refresh on this surface (cloud surface)
  • SLACK_REQUEST_TIMEOUT_MS env
    Override the upstream timeout (max 300000ms = 5 min)
  • SLACK_MAX_RETRIES env
    WebClient retries on transient failures (0-20). Lower this on cloud to avoid stacking long retry budgets into multi-minute hangs.
  • MCP_WORKSPACE_PATH env
    Workspace directory upload_slack_file reads are constrained to (defaults to the system temp dir when unset)

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub mindstone, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Chat y correoi

  • Más estrellas que el 0% de los otros 1768 servidores de esta categoría
  • Publicado en el registro más recientemente que el 100% de los otros 1768 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 1768 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Slack?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: SLACK_CONFIG_PATH, SLACK_TEAM_ID, SLACK_CLIENT_SECRET

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.3.7) llegó al registro hoy.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Vexa, emailmd, MCP WhatsApp Cloud

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Vexa

de Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

Se ejecuta en la nube★ 2949Apache-2.0Actualizado hace 2 meses
Instalar

emailmd

de anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

Computadora o nube★ 1385MITActualizado hace 31 días
Instalar

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

Se ejecuta en tu computadora★ 277MITActualizado hace 5 meses
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

@mindstone/mcp-server-slack

Slack workspace MCP server — channels, messages, threads, reactions, users, files, bookmarks, and scheduled messages via the Slack Web API.

*Multi-workspace Slack MCP. Host-driven OAuth, per-workspace credentials files on disk, and a security review on every release.*

Status

  • Version: 0.3.7 · npm
  • Auth: OAuth (host-orchestrated) (SLACK_CLIENT_SECRET)
  • Tools: 39 (messages, channels, threads, users, files, pins)
  • Surface: cloud-api
  • Machine-readable: STATUS.json

Why this exists

When we started building this connector, Slack had not yet released an official MCP server — that came later (announced February 2026, generally available April 2026). The community Slack MCPs available at the time each got parts of the job right, but none of them combined fast user-name lookups for small and medium workspaces, the correct mention format for modern Slack (most still used the deprecated link_names=true), support for more than one Slack workspace from the same user account, and tokens that stay on the user's own machine. Slack's official server now exists and is a fine choice for many use cases. We continue to maintain this one because the host application handles the login flow, each workspace has its own credentials file on disk under the user's control, and the connector goes through our own security review before each release.

Example interaction

"Find the most recent message from Alice in #q3-planning and react with :eyes:."

Tools the host calls:

  1. lookup_user_by_email — resolves Alice's email to her Slack user ID.
  2. search_slack_messages — searches #q3-planning for her most recent message, returning the channel + timestamp.
  3. add_slack_reaction — adds the eyes reaction to that message.

Response (trimmed):

{

"match": { "channel": "C08X...", "ts": "1715953812.004200", "user": "U07Z...", "text": "Pushed the updated forecast to the doc, ready for review." }, "reaction": { "ok": true, "name": "eyes" } }

Requirements

  • Node.js 20+
  • npm
  • A host application that performs the Slack OAuth flow and writes per-workspace token files to ${SLACK_CONFIG_PATH}/workspaces/{teamId}.json. This server reads those files; it does not initiate OAuth itself.

One-click install

After clicking the button, your host will prompt you to fill: SLACK_CONFIG_PATH, SLACK_TEAM_ID, SLACK_CLIENT_SECRET, SLACK_REQUEST_TIMEOUT_MS, SLACK_MAX_RETRIES.

Manual config for Claude Desktop / Claude Code / Goose / Continue.dev (Slack)

{

"mcpServers": { "Slack": { "command": "npx", "args": [ "-y", "@mindstone/mcp-server-slack" ], "env": { "SLACK_CONFIG_PATH": "", "SLACK_TEAM_ID": "", "SLACK_CLIENT_SECRET": "", "SLACK_REQUEST_TIMEOUT_MS": "60000", "SLACK_MAX_RETRIES": "10" } } } }

Quick Start

Install & build
cd <path-to-repo>/connectors/slack

npm install npm run build

npx (once published)
npx -y @mindstone/mcp-server-slack
Local
node dist/index.js

Configuration

This server is designed to run alongside a host application that performs the Slack OAuth flow on its own. The host writes credentials to disk; this server reads them.

Required environment variables
  • SLACK_CONFIG_PATH — Path to the Slack config directory (host-managed). Contains config.json (workspace metadata) and workspaces/{teamId}.json (per-workspace tokens, mode 0600).
  • SLACK_TEAM_ID — Workspace team ID (per-workspace instance).
Optional environment variables
  • SLACK_CLIENT_ID — OAuth Connected App client ID. Only needed to refresh a *rotating* token. Saved non-rotating tokens authorize the Slack API directly without it. When a refresh is required but this is absent, the server fails loud with REFRESH_NO_CLIENT_CREDENTIALS and directs the host to re-authenticate.
  • SLACK_CLIENT_SECRET — OAuth Connected App client secret. Same conditions as SLACK_CLIENT_ID.
  • SLACK_DISABLE_REFRESH — Set to 1 to disable token refresh on this surface. The server will fail-closed with a structured auth_required response on token expiry instead of attempting an oauth.v2.access refresh. Use this on the cloud surface so desktop remains the sole refresh authority and avoids racing for single-use refresh tokens.
  • SLACK_REQUEST_TIMEOUT_MS — Override the default 60s upstream timeout. Must be a positive integer ≤ 300000 (5 minutes).
  • MCP_WORKSPACE_PATH — Directory that upload_slack_file reads are constrained to. Paths outside it (including symlinks pointing outside) are refused. Defaults to the system temp dir when unset.
Authentication flow

The host calls the authenticate_slack_workspace tool. The OSS server returns a structured auth_required response of the form:

{

"status": "auth_required", "user_action": { "id": "slack.connect_workspace", "label": "Connect Slack", "instruction": "Click \"Connect Slack\" in the side panel to authorise the workspace." }, "agent_action": { "instruction": "Tell the user to click the Connect Slack button in the connector settings to authorise. Then call list_slack_workspaces to verify." }, "setupToolName": "authenticate_slack_workspace" }

The host's MCP service recognises this shape and dispatches to its registered Slack OAuth orchestrator (the desktop browser flow). Once the user signs in, the host writes tokens to ${SLACK_CONFIG_PATH}/workspaces/{teamId}.json and the server picks them up on the next call.

The OSS server never initiates OAuth itself.

Host configuration examples

This server is designed for host-orchestrated OAuth: the host writes per-workspace token files to disk and the server reads them. The examples below show the env shape — your host application is responsible for populating ${SLACK_CONFIG_PATH}/workspaces/{teamId}.json before tool calls succeed.

Claude Desktop / Cursor
{

"mcpServers": { "Slack": { "command": "npx", "args": ["-y", "@mindstone/mcp-server-slack"], "env": { "SLACK_CONFIG_PATH": "/absolute/path/to/slack-config", "SLACK_TEAM_ID": "T0123ABCD", "SLACK_CLIENT_ID": "your-slack-app-client-id", "SLACK_CLIENT_SECRET": "your-slack-app-client-secret" } } } }

Until the host has written ${SLACK_CONFIG_PATH}/workspaces/T0123ABCD.json for that team, every tool call returns a structured auth_required response (see the Authentication flow above).

Local development (no npm publish needed)
{

"mcpServers": { "Slack": { "command": "node", "args": [" /connectors/slack/dist/index.js"], "env": { "SLACK_CONFIG_PATH": "/absolute/path/to/slack-config", "SLACK_TEAM_ID": "T0123ABCD", "SLACK_CLIENT_ID": "your-slack-app-client-id", "SLACK_CLIENT_SECRET": "your-slack-app-client-secret" } } } }

People reads and authorization

list_slack_users, get_slack_user_profile, lookup_user_by_email, message name enrichment and the profile shown by open_slack_dm use user authorization first. If it is absent or refused for authorization, scope or token-type reasons, the read may try bot authorization once. A retry starts the read again, including pagination and username resolution. Neither authorization can supply permissions it was not granted; email lookup still needs users:read.email.

If obtaining user credentials reports TOKEN_PERSIST_FAILED, these reads try once more to obtain credentials for user authorization before starting the Slack API read. If the retry fails or finds no user credentials, the read ends without trying bot authorization. Other operational errors do not trigger authorization fallback. Writes keep their identity: opening a DM uses user authorization once, and send_myself_a_note uses only bot authorization. If Slack refuses the app's authorization, the app cannot send you a notification even while other Slack actions still work. Reconnecting may restore it.

list_slack_workspaces tests bot and user authorization independently with auth.test. connected means at least one passed; tokenHealth.botToken and tokenHealth.userToken report each result separately (valid, refused, unavailable, or missing / not_configured). Having a saved token does not establish that Slack accepts it. When no probe passes and at least one is unavailable, follow the retry/status guidance rather than reconnecting immediately. Confirmed expiry with refresh disabled still requires authentication.

The Slack API error classifier preserves the four canonical refusal strings invalid_auth, token_expired, token_revoked and account_inactive byte-for-byte as code, alongside recovery guidance and next_step. Existing API error normalizations include ratelimited → rate_limited, not_allowed_token_type → missing_scope, and users_not_found → user_not_found. Other Slack API error strings pass through unchanged as code. Refresh refusals use the provider's REFRESH_AUTH_REJECTED code with the upstream string in extra data (slack_error_code). The final tool response shape depends on the tool, including existing auth_required responses.

For the people tools and enrichment helpers named above, DM opening and send_myself_a_note, errors include token_role (user or bot) when the attempted role is known, including operational credential-acquisition errors. Structured acquisition failures keep their existing recovery shape.

Each token request reads the token file. If a permission or disk error prevents that read, bot and user token requests can use the requested role's cached credentials already held in memory, including unsaved refresh results, only when that token exists and does not need ref

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx