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. 122 installs a week from npm. Last commit 13 Sep 2026.

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

Installs per day peak 123 · avg 19 · +58% w/w
a month agotoday
122
Installs / week
npm · @mindstone/mcp-server-slack
12
Stars
1 open issues
13 Sep 2026
Last commit
0 releases in 90 days
License
TypeScript

What the code does

We read the source, 19 h ago · rules 3dff92dd89df

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);
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], {
  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 -- npx -y @mindstone/mcp-server-slack
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp-server-slack": {
      "args": [
        "-y",
        "@mindstone/mcp-server-slack"
      ],
      "command": "npx"
    }
  }
}
~/.codex/config.toml
[mcp_servers.mcp-server-slack]
command = "npx"
args = ["-y", "@mindstone/mcp-server-slack"]
.cursor/mcp.json
{
  "mcpServers": {
    "mcp-server-slack": {
      "args": [
        "-y",
        "@mindstone/mcp-server-slack"
      ],
      "command": "npx"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "mcp-server-slack": {
      "args": [
        "-y",
        "@mindstone/mcp-server-slack"
      ],
      "command": "npx"
    }
  }
}

This one needs environment variables set before it will start: SLACK_CONFIG_PATH (Path to the host-managed Slack config directory), SLACK_TEAM_ID (Slack workspace team ID (one process per workspace)), 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)). The author declared them in the registry entry; get the values from the project itself.

Alternatives to Slack

same job, measured the same way
Slack
by pulsemcp

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

884 installs/wk local only
Slack MCP Server
by stevenvo

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

52 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
by usefulapi

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

19 tools answering
Outbox
by fieldcure

Multi-channel messaging MCP server for Slack, Telegram, Email, KakaoTalk, and Discord.

local only
Telegram MCP
by jgalea

Telegram MCP server: read, send, and search messages and manage chats via your account.

90 installs/wk local only
agentmailkit
by ariaxhan

Run scheduled LLM-written email digests from local files and feeds. Local-first MCP server.

233 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 122 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 with the file path 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 122 times in the last week. Week over week that is +58%. 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?
We cannot say either way: written in TypeScript, 12 stars on GitHub and 1 open issue, but we could not determine the licence, and without one the code is not open source by default.