mcpbeat Sign in

Slack MCP Server

local only

Slack runs on your own machine — the client starts it, so there is no endpoint to ping. 368 installs a week from npm. Last commit 2 Nov 2026.

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

Installs per day peak 202 · avg 21 · +458% w/w
a month agotoday
368
Installs / week
npm · @mindstone/mcp-server-slack
14
Stars
2 open issues
2 Nov 2026
Last commit
5 releases in 90 days
FSL-1.1-MIT
License
TypeScript

What the code does

We read the source, 22 h ago · rules 995398eba69f

A tool parameter reaches a dangerous call

A value the model can set ends up inside a file or shell call. That is not a flaw by itself — for a terminal server it is the job — but it is where things go wrong when it is not.

A tool parameter reaches a file or shell call replace_workspace_document.document_id → connectors/pandadoc/src/tools/documents.ts:891
          fs.writeFileSync(outFd, pdfBuffer);
Evidence

Things with no honest explanation: a promise that contradicts the code, code that runs at install time while hiding what it does, data leaving the machine.

Escalates privileges connectors/computers/box/box.py:87
    as_user = '' if user in ('root', pwd.getpwuid(os.getuid()).pw_name) else f'runuser -u {user} -- '
Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Runs an external command connectors/office/src/index.ts:403
    const child = spawn(process.execPath, [script], {
Runs an external command connectors/computers/box/box.py:97
    wrapper = subprocess.Popen(['bash', '-c', script], start_new_session=True,
  if (isUnder(resolvedAbs, sshDir)) return { hit: true, reason: '~/.ssh/** is sensitive' };
Page loads a third-party script connectors/office/src/addin/taskpane.html:10
  <script src="https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js"></script>
    const entries = fs.readdirSync(workspacePath, { withFileTypes: true });

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

A tool parameter here reaches a dangerous call

That is not a flaw by itself — but it is where things go wrong when it is not the job. We re-read this code on every release. Watch it and you hear from us the day another one appears.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add mcp-server-slack -e 'SLACK_CONFIG_PATH=<SLACK_CONFIG_PATH>' -e 'SLACK_TEAM_ID=<SLACK_TEAM_ID>' -- npx -y @mindstone/mcp-server-slack
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp-server-slack": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-slack"
      ],
      "env": {
        "SLACK_CONFIG_PATH": "<SLACK_CONFIG_PATH>",
        "SLACK_TEAM_ID": "<SLACK_TEAM_ID>"
      }
    }
  }
}
~/.codex/config.toml
[mcp_servers.mcp-server-slack]
command = "npx"
args = ["-y", "@mindstone/mcp-server-slack"]
env = { SLACK_CONFIG_PATH = "<SLACK_CONFIG_PATH>", SLACK_TEAM_ID = "<SLACK_TEAM_ID>" }
.cursor/mcp.json
{
  "mcpServers": {
    "mcp-server-slack": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-slack"
      ],
      "env": {
        "SLACK_CONFIG_PATH": "<SLACK_CONFIG_PATH>",
        "SLACK_TEAM_ID": "<SLACK_TEAM_ID>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp-server-slack": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-slack"
      ],
      "env": {
        "SLACK_CONFIG_PATH": "<SLACK_CONFIG_PATH>",
        "SLACK_TEAM_ID": "<SLACK_TEAM_ID>"
      }
    }
  }
}

Put your own values in place of <SLACK_CONFIG_PATH> (Path to the host-managed Slack config directory), <SLACK_TEAM_ID> (Slack workspace team ID (one process per workspace)). The author’s registry entry marks them as required.

Optional settings from the registry entry, left out of the block above: SLACK_CLIENT_ID (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 (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 (Set to 1 to disable token refresh on this surface (cloud surface)), SLACK_REQUEST_TIMEOUT_MS (Override the upstream timeout (max 300000ms = 5 min)), SLACK_MAX_RETRIES (WebClient retries on transient failures (0-20). Lower this on cloud to avoid stacking long retry budgets into multi-minute hangs), MCP_WORKSPACE_PATH (Workspace directory upload_slack_file reads are constrained to (defaults to the system temp dir when unset)).

Alternatives to Slack

same job, measured the same way
Channelchat
by cloudcorprecords

Slack channels, messages, threads, reactions and users via the Slack Web API.

local only
Slack
by pulsemcp

MCP server for Slack — read/write messages, manage threads, and react to messages.

559 installs/wk local only
Slack MCP Server
by stevenvo

Read Slack conversations, threads, user info, and search messages from your MCP client.

78 installs/wk local only
Slack Explorer MCP
by shibayu36

MCP server specialized in retrieving information from Slack messages and threads

local only
Slack
by waystation

Send messages, access channels, and manage files in your Slack workspace.

answering
Missive MCP by usefulapi
by usefulapi

Read email/chat conversations, messages, contacts and teams; draft, send and update threads.

19 tools answering
Guildchat
by cloudcorprecords

Discord guild and channel messaging via REST API v10: guilds, channels, messages and reactions.

local only
Discord
by willuhmjs

Discord for LLM agents: 168 tools for messages, moderation, channels, roles, threads and AutoMod.

74 installs/wk local only

Slack — questions

Answers built from our own checks of this server.

Why is there no uptime for Slack?
Slack runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the npm package @mindstone/mcp-server-slack was installed 368 times last week.
How do I connect Slack?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It runs locally, so the command pulls @mindstone/mcp-server-slack straight from npm; nothing to host, nothing to sign up for.
How many people use Slack?
The npm package @mindstone/mcp-server-slack was installed 368 times in the last week. Week over week that is +458%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Slack open source?
No, and the distinction matters: its licence is declared as FSL-1.1-MIT. That makes it source-available — you can read the code, but the terms are the author's own, not one of the recognised open-source licences. Read them before you build on it.