conversations_historyLABSCO SUMMARY
Posting is off until you name the channels — the right default for a tool that can speak as you.
Reading is the whole surface by default: history, threads, search, unreads. Writing has to be switched on with an environment variable, and it accepts a channel whitelist rather than an all-or-nothing flag, so an agent can be allowed into one channel and nowhere else. The other thing to decide up front is which credential to use: browser session tokens need no app install and unlock the Save for Later tools, while OAuth tokens are the ones that survive a browser logout.
What it is
A Slack server that works against a workspace either through OAuth tokens or through a browser session, with channels, group DMs and direct messages all reachable, and message posting off unless you turn it on.
What you get
- Channel and DM history with smart pagination — by count, or by a window like 1d, 7d or 1m — conversations_history
- A thread read in full from its parent message — conversations_replies
- Message search across channels, threads and DMs, filtered by date, user or content — conversations_search_messages
- The channel directory, including public and private channels, DMs and group DMs, addressable by #name as well as by id — channels_list
- Unread messages across the workspace with priority sorting and @mention filtering, and a mark-as-read that stays off unless enabled — conversations_unreads, conversations_mark
- Messages posted, off by default and enabled per workspace or per whitelisted channel — conversations_add_message
- Reactions added and removed — reactions_add, reactions_remove
- People and groups: user lookup, user groups listed, created, updated, their membership changed, and your own groups — users_search, usergroups_list, usergroups_create, usergroups_update, usergroups_users_update, usergroups_me
- The Save for Later panel read and managed — items listed, marked complete or given a due date, and completed ones cleared — saved_list, saved_update, saved_clear_completed
- Attachment contents fetched when that tool is switched on — attachment_get_data
- Two directory resources over the workspace metadata, so channels can be read as a CSV listing rather than a tool call
Requirements
One of three credentials, in priority order: a user OAuth token in SLACK_MCP_XOXP_TOKEN, a bot token in SLACK_MCP_XOXB_TOKEN, or the browser session pair SLACK_MCP_XOXC_TOKEN and SLACK_MCP_XOXD_TOKEN. The OAuth route needs a Slack app with the history, read, write and search scopes for the conversation types you want. Writing is gated separately: SLACK_MCP_ADD_MESSAGE_TOOL enables posting for all channels or a whitelist of ids, SLACK_MCP_MARK_TOOL enables marking as read, SLACK_MCP_ATTACHMENT_TOOL enables attachment fetching, and SLACK_MCP_ENABLED_TOOLS names exactly which tools to register. The Save for Later tools work only with browser session tokens. Stdio, SSE and HTTP transports are all supported, with proxy settings if outgoing requests need one.
Setup effort
One command plus credentials — npx -y slack-mcp-server@latest --transport stdio, then supply credentials
USE CASES
Catching up on what you missed
Pull unreads with mentions prioritised, then read the threads that actually need you.
Finding the decision that was made in some channel weeks ago
Search by content and date range, then read the surrounding history for context.
Summarising a long thread for someone who was not in it
Read the whole thread from its parent, with user information already embedded in the messages.
Posting an update without giving an agent the whole workspace
Enable message posting for that one channel id and let it write only there.
Acknowledging something without typing
Add the reaction to the message, and remove it again if it was the wrong one.
Working through your saved messages
List the items still open, mark the ones you dealt with, then clear the completed pile.
19 tools
Listed in project docs. Your client may show a different list.
conversations_repliesconversations_add_messageconversations_search_messageschannels_listreactions_addreactions_removeusers_searchusergroups_listusergroups_createusergroups_updateusergroups_users_updateusergroups_meconversations_unreadsconversations_marksaved_listsaved_updatesaved_clear_completedattachment_get_dataBEFORE YOU INSTALL
What to know first
Tools you get
19 tools named in the project's documentation.
Requires
- npx on PATH
- One of SLACK_MCP_XOXP_TOKEN, SLACK_MCP_XOXB_TOKEN, or SLACK_MCP_XOXC_TOKEN with SLACK_MCP_XOXD_TOKEN in your environment
INSTALLATION
Connect your client
Server setup
npx -y slack-mcp-server@latest --transport stdioMCP Clients
Claude Desktop — npx
{
"mcpServers": {
"slack": {
"command": "npx",
"args": [
"-y",
"slack-mcp-server@latest",
"--transport",
"stdio"
],
"env": {
"SLACK_MCP_XOXP_TOKEN": "<YOUR_SLACK_MCP_XOXP_TOKEN>"
}
}
}
}The npx and Cursor configurations use SLACK_MCP_XOXP_TOKEN. To use a bot token instead, set SLACK_MCP_XOXB_TOKEN; for browser session tokens, set both SLACK_MCP_XOXC_TOKEN and SLACK_MCP_XOXD_TOKEN. The DXT extension asks for the method and token in its own settings.
Claude Desktop — DXT
Download slack-mcp-server.dxt from https://github.com/korotovsky/slack-mcp-server/releases/latest/download/slack-mcp-server.dxt
In Claude Desktop open Settings → Extensions, drag the .dxt file in and click Install
Complete the configuration fields: choose the authentication method (xoxc/xoxd, xoxp or xoxb) and paste the matching token
Enable the MCP server
The npx and Cursor configurations use SLACK_MCP_XOXP_TOKEN. To use a bot token instead, set SLACK_MCP_XOXB_TOKEN; for browser session tokens, set both SLACK_MCP_XOXC_TOKEN and SLACK_MCP_XOXD_TOKEN. The DXT extension asks for the method and token in its own settings.
Cursor
{
"mcpServers": {
"slack-mcp-server": {
"command": "npx -y slack-mcp-server@latest --transport stdio",
"env": {
"SLACK_MCP_XOXP_TOKEN": "<YOUR_SLACK_MCP_XOXP_TOKEN>"
},
"disabled": false,
"autoApprove": []
}
}
}The npx and Cursor configurations use SLACK_MCP_XOXP_TOKEN. To use a bot token instead, set SLACK_MCP_XOXB_TOKEN; for browser session tokens, set both SLACK_MCP_XOXC_TOKEN and SLACK_MCP_XOXD_TOKEN. The DXT extension asks for the method and token in its own settings.