Labsco
MCP SERVER

Slack MCP

by korotovsky

Read Slack history, threads and DMs, search messages, and post only where you have explicitly allowed it.

Team Chat Platforms
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 a key — npx -y slack-mcp-server@latest --transport stdio, then supply credentials