Slack MCP server

Communitykorotovsky (community)1,637Config last verified Jun 1, 2026

Community Slack MCP server with smart history, DMs, and search that needs no workspace bot install.

This is the most capable community Slack MCP server, distinct from any first-party Slack offering. Its standout property is that it can run without installing a bot or requesting workspace scopes: in stealth mode it uses browser session tokens, and in OAuth mode it uses a user or bot token. From there it reads conversation history and threads, searches messages with date and user filters, lists channels, looks up users, and tracks unreads. Write tools such as posting messages and reactions exist but are disabled by default and must be explicitly enabled.

It is distributed as an npm package run over stdio with npx, and also as a Docker image, with authentication supplied through SLACK_MCP_XOXP_TOKEN (or browser-session tokens). Because it is community-maintained rather than published by Slack, it is marked unofficial here, but the install is verified and the project is actively developed.

Quick install

Copy-paste configs are provided for all 8 supported clients. Pick your client below.

Add to ~/.claude.json

~/.claude.json
json
{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "slack-mcp-server@latest",
        "--transport",
        "stdio"
      ],
      "env": {
        "SLACK_MCP_XOXP_TOKEN": "<SLACK_MCP_XOXP_TOKEN>"
      }
    }
  }
}
Or via CLI
bash
claude mcp add slack -- npx -y slack-mcp-server@latest --transport stdio

Available tools

ToolDescription
conversations_historyGets messages from a channel or DM by channel ID with smart pagination.
conversations_repliesGets the messages in a thread by channel ID and thread timestamp.
conversations_add_messagePosts a message to a public channel, private channel, or DM (disabled by default).
conversations_search_messagesSearches messages across channels and DMs with date and user filters.
conversations_unreadsGets unread messages across all channels efficiently.
conversations_markMarks a channel or DM as read up to a message.
conversations_joinJoins a public channel.
conversations_leaveLeaves a channel, group conversation, or DM.
reactions_addAdds an emoji reaction to a message (disabled by default).
reactions_removeRemoves an emoji reaction from a message (disabled by default).
attachment_get_dataDownloads an attachment's content by file ID.
channels_listLists the channels in the workspace.
channels_meLists the channels the authenticated user is a member of.
users_searchSearches for users by name, email, or ID.
usergroups_listLists all user groups (subteams) in the workspace.
usergroups_meLists the user groups the authenticated user belongs to.
usergroups_createCreates a new user group (mention group).
usergroups_updateUpdates an existing user group's metadata.
usergroups_users_updateReplaces the members of a user group.
saved_listLists saved items from Slack's Save for Later panel.
saved_updateUpdates a saved item's completion status or due date.
saved_clear_completedClears all completed saved items from the panel.

Required configuration

  • SLACK_MCP_XOXP_TOKENRequired

    User OAuth token. Alternatively use a bot token or browser-session tokens (XOXC + XOXD).

What you can do with it

Catch up on a channel

An agent fetches recent history and thread replies, then summarizes what a team missed without anyone scrolling.

Search across conversations

Find every mention of a feature or incident across channels and DMs with date and author filters.

FAQ

Is it free?
Yes. It is an open-source community project and free to run; you supply your own Slack token.
Does it support remote/OAuth?
It supports OAuth-style tokens (user or bot) and can run over SSE/HTTP in addition to stdio, but it is not a Slack-hosted endpoint and there is no managed OAuth flow.
← Browse all productivity servers