MCP.so
Sign In

Slack MCP Server

@korotovsky

Basic information

Category

Communication

License

MIT

Transports

stdio

Author

korotovsky

About Slack MCP Server

The most powerful MCP Slack Server with no permission requirements, Apps support, GovSlack, DMs, Group DMs and smart history fetch logic.

Slack MCP Server config

No standard config provided

This server doesn't expose a parseable MCP config block in its README. See the repository for install instructions.

Repository

Slack MCP Server tools

Tool list not available yet

This listing does not currently have a tool list to display. This does not mean the server has no tools; check its documentation for supported capabilities.

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is Slack MCP Server?

Slack MCP Server (korotovsky/slack-mcp-server) is an open-source Slack MCP server that lets Claude, Cursor and other MCP clients read channels, threads and DMs, search messages and triage unreads. It runs locally and accepts OAuth, bot or browser-session tokens.

It is a community project under the MIT license, not an official Slack product. Write actions such as posting messages and adding reactions are off by default and must be enabled explicitly. If you want Slack's own hosted endpoint instead, see the comparison section below.

How to use Slack MCP Server?

You need Node.js with npx (or Docker) and one set of Slack credentials. The server accepts exactly one of these; if several are set, the priority is xoxp > xoxb > xoxc/xoxd:

  • User OAuth token (xoxp-...) via SLACK_MCP_XOXP_TOKEN. Create an app at api.slack.com/apps, add user token scopes such as channels:history, channels:read, groups:history, im:history, mpim:history, users:read, search:read and (for posting) chat:write, install it and copy the User OAuth Token.
  • Bot token (xoxb-...) via SLACK_MCP_XOXB_TOKEN. The bot only sees channels it has been invited to, and message search is not available.
  • Browser session tokens via SLACK_MCP_XOXC_TOKEN and SLACK_MCP_XOXD_TOKEN ("stealth mode"). The xoxc- token comes from the Slack web app's local storage and xoxd- is the value of the d cookie. No app install is needed, but these tokens carry your full session.

Claude Desktop

Add the server to claude_desktop_config.json:

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "slack-mcp-server@latest", "--transport", "stdio"],
      "env": {
        "SLACK_MCP_XOXP_TOKEN": "xoxp-..."
      }
    }
  }
}

Swap the env block for SLACK_MCP_XOXB_TOKEN, or for SLACK_MCP_XOXC_TOKEN plus SLACK_MCP_XOXD_TOKEN, depending on your auth method. Claude Desktop users can also install the .dxt extension from the project's GitHub releases and fill in the token fields in Settings → Extensions.

Claude Code

Use the same command and environment variable:

claude mcp add slack -e SLACK_MCP_XOXP_TOKEN=xoxp-... -- npx -y slack-mcp-server@latest --transport stdio

Cursor

The README provides one-click Cursor install links for the xoxc/xoxd, xoxp and xoxb methods. Replace the placeholder tokens after installing. You can also paste the JSON block above into Cursor's MCP settings.

Docker

docker run -i --rm -e SLACK_MCP_XOXP_TOKEN ghcr.io/korotovsky/slack-mcp-server:latest --transport stdio

For SSE, run the server somewhere reachable over HTTPS, protect it with SLACK_MCP_API_KEY, and connect Claude Desktop through mcp-remote with an Authorization: Bearer header.

Key features of Slack MCP Server

  • Three auth modes: user OAuth (xoxp), bot (xoxb) and browser-session "stealth" tokens (xoxc/xoxd)
  • Channel and thread history with smart limits by time (1d, 7d, 30d) or message count, and cursor pagination
  • Look up channels and DMs by name (#general, @username_dm) as well as by ID
  • Workspace-wide message search with channel, user, date and thread-only filters
  • Unread triage across channels, prioritized as DMs > Slack Connect partner channels > internal channels
  • Safe defaults: write tools are not registered unless enabled, with per-channel allow-lists
  • Enterprise Slack options (SLACK_MCP_USER_AGENT, SLACK_MCP_CUSTOM_TLS), GovSlack mode (SLACK_MCP_GOVSLACK) and proxy support
  • Local users and channels cache, plus slack://<workspace>/channels and slack://<workspace>/users CSV resources

Slack MCP Server tools

  • Reading conversations: conversations_history and conversations_replies fetch channel or DM messages and full threads; channels_list lists public, private, DM and group-DM channels.
  • Search: conversations_search_messages searches messages with filters, or resolves a single message from its Slack URL. users_search finds people by name, email or display name.
  • Unreads: conversations_unreads collects unread messages efficiently, and conversations_mark marks a channel as read (disabled unless SLACK_MCP_MARK_TOOL is set).
  • Writing: conversations_add_message, reactions_add and reactions_remove are opt-in via SLACK_MCP_ADD_MESSAGE_TOOL and SLACK_MCP_REACTION_TOOL.
  • User groups: usergroups_list, usergroups_create, usergroups_update, usergroups_users_update and usergroups_me manage subteams (they need usergroups:read/usergroups:write scopes).
  • Saved items: saved_list, saved_update and saved_clear_completed work with "Save for Later" and require browser-session tokens.

SLACK_MCP_ENABLED_TOOLS limits which tools the client sees.

Use cases of Slack MCP Server

  • Channel digests: "Summarize what happened in #incidents over the last 7 days and list open action items."
  • Morning triage: "Show my unread DMs and mentions, most important first."
  • Finding decisions: "Search for the thread where we agreed on the Q3 launch date and quote the final message."
  • Drafting and posting: "Post the release notes to #announcements," with posting restricted to that channel ID.
  • People lookup: "Find Dana from the data team and show her title and DM channel."

Slack MCP Server vs alternatives

  • Official Slack MCP server: Slack hosts its own server at https://mcp.slack.com/mcp (Streamable HTTP, OAuth). It is documented at docs.slack.dev and works with partner clients such as Claude.ai, Claude Code, Cursor and Perplexity. Custom clients must be backed by an internal or directory-published Slack app. Choose it when your admins want an approved, Slack-managed integration.
  • Archived reference server: the original Slack server from the MCP project now lives in modelcontextprotocol/servers-archived and is no longer maintained.
  • This community Slack MCP server is the better fit when you need local control, browser-token auth without an app install, unread triage, Enterprise/GovSlack options or fine-grained tool allow-lists.

For other chat platforms, see the Discord MCP Server.

Troubleshooting Slack MCP Server

  • Search is missing: bot tokens (xoxb) can't call search.messages, so conversations_search_messages isn't available. Use an xoxp or xoxc/xoxd token.
  • #channel or @user names don't resolve: the users and channels caches haven't been built. Without them, channels_list doesn't work and name lookups fail. Let the cache build, or check the SLACK_MCP_USERS_CACHE/SLACK_MCP_CHANNELS_CACHE paths.
  • Enterprise workspace rejects browser tokens: set SLACK_MCP_USER_AGENT to the User-Agent of the browser you took the tokens from, and enable SLACK_MCP_CUSTOM_TLS.
  • DXT extension won't start in Claude Desktop: the docs suggest disabling Claude Desktop's bundled Node so it uses the host's Node.
  • Posting tool not visible: write tools aren't registered by default. Set SLACK_MCP_ADD_MESSAGE_TOOL to true or to a comma-separated list of channel IDs. Check logs with tail -n 20 -f ~/Library/Logs/Claude/mcp*.log.

Frequently asked questions

1

Is this the official Slack MCP server?

No. It is a community project by korotovsky under the MIT license, and the README states it is not an official Slack product. Slack's official hosted MCP server is at `https://mcp.slack.com/mcp`.

2

Is the Slack MCP server free?

Yes. The server is open source and free to run, and you use your own Slack credentials. Slack's normal plan limits, such as history on free workspaces, still apply.

3

Which Slack token should I use?

A user OAuth token (`xoxp`) is the standard choice. Bot tokens only see invited channels and can't search. Browser tokens (`xoxc` + `xoxd`) need no app install and unlock a few extra tools, but they should be treated like passwords.

4

Can the AI send messages or react in Slack?

Only if you allow it. `SLACK_MCP_ADD_MESSAGE_TOOL` and `SLACK_MCP_REACTION_TOOL` enable those tools for all channels (`true`) or only for the channel IDs you list.

5

Does it work with Claude Code, Cursor and VS Code?

It works with any MCP client that supports stdio, SSE or HTTP. The project documents Claude Desktop (JSON or DXT), Cursor one-click installers, npx and Docker. Claude Code and VS Code can run the same `npx` command.

6

Is it local or remote?

By default it runs locally over stdio. You can also run it as an SSE/HTTP server on your own infrastructure, protected by `SLACK_MCP_API_KEY`.

7

Is it safe to use?

Read-only is the default. Tokens live in your local config. Keep them out of shared files, use channel allow-lists for write tools, and prefer OAuth tokens over browser session tokens where you can.

8

Does it support Enterprise Grid or GovSlack?

Yes. It has Enterprise options (custom User-Agent and TLS) and a `SLACK_MCP_GOVSLACK` mode that routes calls to `slack-gov.com`.

Comments

More Communication MCP servers