Enables comprehensive interaction with Slack workspaces via MCP.
Slack MCP Server
An MCP server implementation that integrates the Slack API, providing messaging, channel management, and search capabilities.
Features
- Conversations: List channels, read message history, manage threads
- Messaging: Send, update, and delete messages; add reactions
- Search: Find messages across your workspace (user token only)
- Users: List users, get profiles, lookup by email
- Files & Pins: List files, manage pinned messages
- Token Rotation: Automatic refresh for rotatable tokens
Tools
Conversations
slack_list_conversations- List channels, DMs, and group DMsslack_get_conversation_info- Get channel detailsslack_conversations_history- Fetch message historyslack_conversations_replies- Get thread repliesslack_conversations_members- List channel membersslack_conversations_join- Join a public channelslack_conversations_leave- Leave a conversationslack_conversations_open- Open a DM or group DM
Messages
slack_chat_post_message- Send a message to a channel or threadslack_chat_update- Update an existing messageslack_chat_delete- Delete a messageslack_reactions_add- Add emoji reactionslack_reactions_remove- Remove emoji reaction
Search
slack_search_messages- Search messages (requires user token)
Users
slack_users_list- List workspace usersslack_users_info- Get user details by IDslack_users_lookup_by_email- Find user by emailslack_auth_test- Get current token info
Other
slack_team_info- Get workspace infoslack_bookmarks_list- List channel bookmarksslack_pins_list/slack_pins_add/slack_pins_remove- Manage pinsslack_reminders_list/slack_reminders_add/slack_reminders_delete- Manage remindersslack_files_list/slack_files_info- List and get file details
Configuration
Getting a Slack Token
- Go to Slack API Apps
- Click Create New App → From scratch
- Go to OAuth & Permissions
- Add scopes under Bot Token Scopes or User Token Scopes:
channels:read, channels:history, chat:write, users:read, team:read - Click Install to Workspace
- Copy the token (
xoxb-...orxoxp-...)
Token Types
| Token | Prefix | Search? | Access |
|---|---|---|---|
| Bot | xoxb- |
No | Invited channels only |
| User | xoxp- |
Yes | All user's channels |
| Rotatable | xoxe.xoxp- |
Yes | Auto-refreshes |
Development
Install Dependencies
uv sync
Run the Server
uv run python src/main.py
Test the API
uv run python test_api.py
Test with MCP Inspector
npx @modelcontextprotocol/inspector uv run python src/main.py
License
MIT License - see LICENSE for details.
Tools (7)
slack_list_conversationsList channels, DMs, and group DMsslack_get_conversation_infoGet channel detailsslack_conversations_historyFetch message historyslack_chat_post_messageSend a message to a channel or threadslack_search_messagesSearch messages (requires user token)slack_users_lookup_by_emailFind user by emailslack_reminders_addCreate a new reminderEnvironment Variables
SLACK_TOKENrequiredSlack API token (xoxb-, xoxp-, or xoxe.xoxp-)Configuration
{"mcpServers":{"slack":{"command":"uv","args":["run","python","src/main.py"],"env":{"SLACK_TOKEN":"xoxb-your-token"}}}}