S
Slack
reference
communication
Channel management and messaging capabilities
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:
(number, default: 100, max: 200): Maximum number of channels to returnlimit
(string): Pagination cursor for next pagecursor
- Returns: List of channels with their IDs and information
-
slack_post_message
- Post a new message to a Slack channel
- Required inputs:
(string): The ID of the channel to post tochannel_id
(string): The message text to posttext
- Returns: Message posting confirmation and timestamp
-
slack_reply_to_thread
- Reply to a specific message thread
- Required inputs:
(string): The channel containing the threadchannel_id
(string): Timestamp of the parent messagethread_ts
(string): The reply texttext
- Returns: Reply confirmation and timestamp
-
slack_add_reaction
- Add an emoji reaction to a message
- Required inputs:
(string): The channel containing the messagechannel_id
(string): Message timestamp to react totimestamp
(string): Emoji name without colonsreaction
- Returns: Reaction confirmation
-
slack_get_channel_history
- Get recent messages from a channel
- Required inputs:
(string): The channel IDchannel_id
- Optional inputs:
(number, default: 10): Number of messages to retrievelimit
- Returns: List of messages with their content and metadata
-
slack_get_thread_replies
- Get all replies in a message thread
- Required inputs:
(string): The channel containing the threadchannel_id
(string): Timestamp of the parent messagethread_ts
- Returns: List of replies with their content and metadata
-
slack_get_users
- Get list of workspace users with basic profile information
- Optional inputs:
(string): Pagination cursor for next pagecursor
(number, default: 100, max: 200): Maximum users to returnlimit
- Returns: List of users with their basic profiles
-
slack_get_user_profile
- Get detailed profile information for a specific user
- Required inputs:
(string): The user's IDuser_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:
- View messages and other content in public channelschannels:history
- View basic channel informationchannels:read
- Send messages as the appchat:write
- Add emoji reactions to messagesreactions:write
- View users and their basic informationusers:read
- View detailed profiles about usersusers.profile:read
-
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
) by following this guidanceT
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", "SLACK_CHANNEL_IDS": "C01234567, C76543210" } } } }
docker
{ "mcpServers": { "slack": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "SLACK_BOT_TOKEN", "-e", "SLACK_TEAM_ID", "-e", "SLACK_CHANNEL_IDS", "mcp/slack" ], "env": { "SLACK_BOT_TOKEN": "xoxb-your-bot-token", "SLACK_TEAM_ID": "T01234567", "SLACK_CHANNEL_IDS": "C01234567, C76543210" } } } }
Environment Variables
: Required. The Bot User OAuth Token starting withSLACK_BOT_TOKEN
.xoxb-
: Required. Your Slack workspace ID starting withSLACK_TEAM_ID
.T
: Optional. Comma-separated list of channel IDs to limit channel access (e.g., "C01234567, C76543210"). If not set, all public channels will be listed.SLACK_CHANNEL_IDS
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:
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.
Related Servers
D
Discord
community
A MCP server to connect to Discord guilds through a bot and read and write messages in channels
View DetailsR
RabbitMQ
community
The MCP server that interacts with RabbitMQ to publish and consume messages.
View DetailsT
Telegram
community
An MCP server that provides paginated chat reading, message retrieval, and message sending capabilities for Telegram through Telethon integration.
View DetailsT
Telegram-Client
community
A Telegram API bridge that manages user data, dialogs, messages, drafts, read status, and more for seamless interactions.
View Details