The Slack MCP Server enables interaction with Slack workspaces, providing tools to manage channels, messages, reactions, and users. With this server, you can:
List public or predefined channels with optional pagination
Post new messages to specific Slack channels
Reply to existing message threads
Add emoji reactions to messages
Retrieve channel history and recent messages
Get all replies in a specific message thread
List workspace users with basic profile information
Access detailed user profile information
Allows Claude to interact with Slack workspaces, including listing channels, posting messages, replying to threads, adding reactions, getting channel history, getting thread replies, and retrieving user information.
Slack MCP Server
MCP Server for the Slack API, enabling Claude to interact with Slack workspaces.
Tools
slack_list_channels
List public or pre-defined channels in the workspace
Optional inputs:
limit
(number, default: 100, max: 200): Maximum number of channels to returncursor
(string): Pagination cursor for next page
Returns: List of channels with their IDs and information
slack_post_message
Post a new message to a Slack channel
Required inputs:
channel_id
(string): The ID of the channel to post totext
(string): The message text to post
Returns: Message posting confirmation and timestamp
slack_reply_to_thread
Reply to a specific message thread
Required inputs:
channel_id
(string): The channel containing the threadthread_ts
(string): Timestamp of the parent messagetext
(string): The reply text
Returns: Reply confirmation and timestamp
slack_add_reaction
Add an emoji reaction to a message
Required inputs:
channel_id
(string): The channel containing the messagetimestamp
(string): Message timestamp to react toreaction
(string): Emoji name without colons
Returns: Reaction confirmation
slack_get_channel_history
Get recent messages from a channel
Required inputs:
channel_id
(string): The channel ID
Optional inputs:
limit
(number, default: 10): Number of messages to retrieve
Returns: List of messages with their content and metadata
slack_get_thread_replies
Get all replies in a message thread
Required inputs:
channel_id
(string): The channel containing the threadthread_ts
(string): Timestamp of the parent message
Returns: List of replies with their content and metadata
slack_get_users
Get list of workspace users with basic profile information
Optional inputs:
cursor
(string): Pagination cursor for next pagelimit
(number, default: 100, max: 200): Maximum users to return
Returns: List of users with their basic profiles
slack_get_user_profile
Get detailed profile information for a specific user
Required inputs:
user_id
(string): The user's ID
Returns: Detailed user profile information
Setup
Create a Slack App:
Visit the Slack Apps page
Click "Create New App"
Choose "From scratch"
Name your app and select your workspace
Configure Bot Token Scopes: Navigate to "OAuth & Permissions" and add these scopes:
channels:history
- View messages and other content in public channelschannels:read
- View basic channel informationchat:write
- Send messages as the appreactions:write
- Add emoji reactions to messagesusers:read
- View users and their basic informationusers.profile:read
- View detailed profiles about users
Install App to Workspace:
Click "Install to Workspace" and authorize the app
Save the "Bot User OAuth Token" that starts with
xoxb-
Get your Team ID (starts with a
T
) by following this guidance
Usage with Claude Desktop
Add the following to your claude_desktop_config.json
:
NPX
docker
Usage with VS Code
For quick installation, click one of the installation buttons below...
For manual installation, add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P
and typing Preferences: Open Settings (JSON)
.
Optionally, you can add it to a file called .vscode/mcp.json
in your workspace. This will allow you to share the configuration with others.
Note that the
mcp
key is not needed in the.vscode/mcp.json
file.
NPX
Docker
Environment Variables
SLACK_BOT_TOKEN
: Required. The Bot User OAuth Token starting withxoxb-
.SLACK_TEAM_ID
: Required. Your Slack workspace ID starting withT
.SLACK_CHANNEL_IDS
: Optional. Comma-separated list of channel IDs to limit channel access (e.g., "C01234567, C76543210"). If not set, all public channels will be listed.
Troubleshooting
If you encounter permission errors, verify that:
All required scopes are added to your Slack app
The app is properly installed to your workspace
The tokens and workspace ID are correctly copied to your configuration
The app has been added to the channels it needs to access
Build
Docker build:
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
MCP Server for the Slack API, enabling Claude to interact with Slack workspaces.
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that enables saving and sharing Claude Desktop conversations, allowing users to store chats privately or make them public through a web interface.Last updated -11MIT License
- -securityFlicense-qualityAn MCP server that enables LLMs to access Slack's search functionality to retrieve users, channels, messages, and thread replies from a Slack workspace.Last updated -3
- -securityFlicense-qualityAn MCP server that connects to Claude Desktop and provides access to Slack actions through ActionKit, allowing users to interact with Slack via their authenticated Paragon credentials.Last updated -1
- AsecurityFlicenseAqualityAn MCP server that allows Claude to interact with Discord by providing tools for sending/reading messages and managing server resources through Discord's API.Last updated -1911