Slack MCP Server
About
An MCP server for the Slack API that enables Claude to interact with Slack workspaces. It provides tools for listing channels, posting messages, replying to threads, adding reactions, and retrieving channel history, thread replies, and user profiles.
Details
- Author
- edrigu1989
- Downloads
- 313
- Categories
- Communication
Jump to
- List public channels in the workspace with pagination
- Post new messages to any channel
- Reply to message threads
- Add emoji reactions to messages
- Get recent messages from a channel
- Get all replies in a thread
- List workspace users with basic profiles
- Get detailed profile for a specific user
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Slack MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install via npx (npx -y @modelcontextprotocol/server-slack) or Docker (docker run -i --rm -e SLACK_BOT_TOKEN -e SLACK_TEAM_ID mcp/slack). Configure environment variables SLACK_BOT_TOKEN and SLACK_TEAM_ID in your Claude Desktop configuration. First create a Slack app with required OAuth scopes, install it to your workspace, and obtain the bot token and team ID.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"slack mcp server": {
"slack-mcp-server-edrigu1989": {
"command": "docker",
"args": [
"build",
"-t",
"mcp/slack",
"-f",
"src/slack/Dockerfile",
"."
]
}
}
}
}
McpServers
{
"slack-mcp-server-edrigu1989": {
"command": "docker",
"args": [
"build",
"-t",
"mcp/slack",
"-f",
"src/slack/Dockerfile",
"."
]
}
}
Slack MCP Server
MCP Server for the Slack API, enabling Claude to interact with Slack workspaces.
Tools
1. slack_list_channels
- List public channels in the workspace
- Optional inputs:
- limit (number, default: 100, max: 200): Maximum number of channels to return
- cursor (string): Pagination cursor for next page
- Returns: List of channels with their IDs and information
2. slack_post_message
- Post a new message to a Slack channel
- Required inputs:
- channel_id (string): The ID of the channel to post to
- text (string): The message text to post
- Returns: Message posting confirmation and timestamp
3. slack_reply_to_thread
- Reply to a specific message thread
- Required inputs:
- channel_id (string): The channel containing the thread
- thread_ts (string): Timestamp of the parent message
- text (string): The reply text
- Returns: Reply confirmation and timestamp
4. slack_add_reaction
- Add an emoji reaction to a message
- Required inputs:
- channel_id (string): The channel containing the message
- timestamp (string): Message timestamp to react to
- reaction (string): Emoji name without colons
- Returns: Reaction confirmation
5. 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
6. slack_get_thread_replies
- Get all replies in a message thread
- Required inputs:
- channel_id (string): The channel containing the thread
- thread_ts (string): Timestamp of the parent message
- Returns: List of replies with their content and metadata
7. slack_get_users
- Get list of workspace users with basic profile information
- Optional inputs:
- cursor (string): Pagination cursor for next page
- limit (number, default: 100, max: 200): Maximum users to return
- Returns: List of users with their basic profiles
8. 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
1. Create a Slack App:
- Visit the Slack Apps page
- Click "Create New App"
- Choose "From scratch"
- Name your app and select your workspace
2. Configure Bot Token Scopes:
Navigate to "OAuth & Permissions" and add these scopes:
- channels:history - View messages and other content in public channels
- channels:read - View basic channel information
- chat:write - Send messages as the app
- reactions:write - Add emoji reactions to messages
- users:read - View users and their basic information
4. Install App to Workspace:
- Click "Install to Workspace" and authorize the app
- Save the "Bot User OAuth Token" that starts with xoxb-
5. 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
{
"mcpServers": {
"slack": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-slack"
],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-bot-token",
"SLACK_TEAM_ID": "T01234567"
}
}
}
}
docker
{
"mcpServers": {
"slack": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SLACK_BOT_TOKEN",
"-e",
"SLACK_TEAM_ID",
"mcp/slack"
],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-bot-token",
"SLACK_TEAM_ID": "T01234567"
}
}
}
}
Troubleshooting
If you encounter permission errors, verify that:
1. All required scopes are added to your Slack app
2. The app is properly installed to your workspace
3. The tokens and workspace ID are correctly copied to your configuration
4. The app has been added to the channels it needs to access
Build
Docker build:
docker build -t mcp/slack -f src/slack/Dockerfile .
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.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



