Get the FREE Ultimate OpenClaw Setup Guide →

slack

MCP server from zencoderai/slack-mcp-server

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio zencoderai-slack-mcp-server npx -y @zencoderai/slack-mcp-server \
  --env AUTH_TOKEN="Optional: Bearer token for HTTP transport (for Streamable HTTP transport)" \
  --env SLACK_TEAM_ID="Slack Team ID (starts with T)" \
  --env SLACK_BOT_TOKEN="Bot token from Slack (xoxb-...)" \
  --env SLACK_CHANNEL_IDS="Optional predefined channel IDs, comma-separated"

How to use

This MCP server provides a comprehensive Slack integration for MCP clients. It offers tools to list Slack channels, post messages, reply to threads, add emoji reactions, fetch channel history, retrieve thread replies, list users, and obtain detailed user profiles. You can interact with these tools via the MCP SDK, using either the standard stdio transport or the Streamable HTTP transport. The server is designed to be operated either through the npm-based Slack MCP CLI (slack-mcp) after installing the package, or by running the Node.js build artifact in development workflows. Each tool accepts well-defined inputs and returns structured responses that you can consume in your MCP pipelines.

How to install

Prerequisites:

  • Node.js installed on your system (for development tests) or use the provided Docker images for distribution.
  • Access to Slack with a Bot User OAuth Token (xoxb-...). Ensure the bot has the necessary scopes as described in the README.

Installation steps (local/CLI via npx):

  1. Install and run the MCP Slack server using npx (no local installation required):
npx -y @zencoderai/slack-mcp-server
  1. If you prefer installing globally via npm and using the slack-mcp CLI after installation:
npm install -g @zencoderai/slack-mcp-server
slack-mcp --transport stdio
  1. For Docker usage, pull or build the image and run it with required environment variables:
# Using the image and stdio transport
docker run --rm \
  -e SLACK_BOT_TOKEN="xoxb-..." \
  -e SLACK_TEAM_ID="T123..." \
  zencoderai/slack-mcp:latest
  1. If you need HTTP transport (Streamable HTTP), run with the http transport flag and optionally expose a port:
slack-mcp --transport http --port 3000

Prerequisites in short:

  • A valid Slack Bot Token (xoxb-...)
  • Slack Team ID
  • Optional predefined channel IDs (comma-separated)
  • Optional AUTH_TOKEN if using HTTP transport with authorization

Additional notes

Environment variables are the primary configuration mechanism. If you use the HTTP transport, you can tighten security with AUTH_TOKEN. When using Docker, ensure port mappings align with your deployment environment. If you encounter permission or scope issues in Slack, re-check the OAuth scopes configured for the bot and re-install the app to your workspace. The Slack APIs used include channels:history, channels:read, chat:write, reactions:write, users:read, and users.profile:read. For debugging, start with the stdio transport to verify basic functionality before enabling HTTP transport in production. If you rely on predefined channels, ensure SLACK_CHANNEL_IDS is set and that the bot has access to those channels.

Related MCP Servers

Sponsor this space

Reach thousands of developers