@modelcontextprotocol/server-slack
v0.3.0
Published
MCP server for interacting with Slack
Downloads
186
Readme
Slack MCP Server
MCP Server for the Slack API, enabling Claude to interact with Slack workspaces.
Tools
slack_list_channels
- List public 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_search_messages
- Search for messages across channels
- Required inputs:
query
(string): The search query
- Optional inputs:
count
(number, default: 5): Number of results to return
- Returns: Matching messages with their context
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 information
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 the Claude Desktop app
Add the following to your claude_desktop_config.json
:
{
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-bot-token",
"SLACK_TEAM_ID": "T01234567"
}
}
}
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