slack
MCP server from zencoderai/slack-mcp-server
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):
- Install and run the MCP Slack server using npx (no local installation required):
npx -y @zencoderai/slack-mcp-server
- 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
- 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
- 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
zen
Selfhosted notes app. Single golang binary, notes stored as markdown within SQLite, full-text search, very low resource usage
MCP -Deepseek_R1
A Model Context Protocol (MCP) server implementation connecting Claude Desktop with DeepSeek's language models (R1/V3)
mcp-fhir
A Model Context Protocol implementation for FHIR
mcp
Inkdrop Model Context Protocol Server
mcp-appium-gestures
This is a Model Context Protocol (MCP) server providing resources and tools for Appium mobile gestures using Actions API..
dubco -npm
The (Unofficial) dubco-mcp-server enables AI assistants to manage Dub.co short links via the Model Context Protocol. It provides three MCP tools: create_link for generating new short URLs, update_link for modifying existing links, and delete_link for removing short links.