Installing Slack MCP

Setting up the community Slack MCP server - getting a token, configuring your client, retrieving your first messages.

Published on 18.09.2026

This guide covers the community MCP server slack-mcp-server (github.com/korotovsky/slack-mcp-server) by Dmitrii Korotovskii. This is not an official Slack product - the previously official reference server is archived and no longer maintained.

Slack MCP: choose a token

The server supports three authentication methods. Pick one:

Bot token (xoxb) - recommended for automation:
Create a Slack app at https://api.slack.com/apps, grant the needed Bot Token Scopes, and install the app in your workspace. The bot must then be manually invited to every channel it should read, and cannot use Slack search.

User OAuth token (xoxp) - full feature set:
Also via a Slack app, but with User Token Scopes instead of Bot Token Scopes. The server then acts with the full permissions of that user, including search.

Browser token (xoxc + xoxd) - no app creation needed:
No Slack app required, but two values must be extracted from your own browser session:
xoxc: In the browser developer tools console, while on Slack, run: JSON.parse(localStorage.localConfig_v2).teams[document.location.pathname.match(/^\/client\/([A-Z0-9]+)/)[1]].token
xoxd: Under the "Application" tab, in Cookies, find the cookie named d and copy its value

The project itself recommends bot or user tokens as the safer choice, since they don't depend on an active browser session.

Configuring Slack MCP

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

For a bot token, set SLACK_MCP_XOXB_TOKEN instead; for a browser token, set both SLACK_MCP_XOXC_TOKEN and SLACK_MCP_XOXD_TOKEN.

Restart your client

Restart your MCP client. The server is then ready to use.

Running Slack MCP with Docker

docker pull ghcr.io/korotovsky/slack-mcp-server:latest

Configuration uses the same environment variables, see the official documentation (github.com/korotovsky/slack-mcp-server/blob/master/docs/03-configuration-and-usage.md).

Common questions about token choice, private channels and security are answered in the FAQ section below this guide.

Testing after installation

After restarting the client, test with a harmless task to confirm the connection works, such as "List the last five messages in channel #general." If a token error appears, it's usually missing scopes or an expired browser token with the xoxc/xoxd method.

Common pitfalls

With the browser-token method, the xoxd cookie expires after a while once the Slack browser session ends, requiring both values to be re-extracted. With bot tokens, a common mistake is forgetting to invite the bot to the target channel, causing requests to that channel to return empty even though the token itself works fine.

Source: github.com/korotovsky/slack-mcp-server, as of v1.3.0, researched on 2026-09-03.

Published on 18.09.2026

Categories

Frequently asked questions

Is this an official Slack server?

No, it is an independent community project by Dmitrii Korotovskii. The only ever official reference server (`@modelcontextprotocol/server-slack`) is archived and no longer maintained.

Which token should I choose?

For personal use with the full feature set including search: user token (xoxp). For automation with clearly scoped access: bot token (xoxb), which must be manually invited to each channel it should read. Browser tokens (xoxc/xoxd) are, per the project's documentation, the least recommended option.

Can the server read private channels?

With a bot token, only after being manually invited to the channel. With a user or browser token, the server sees everything that person can see, including private channels and direct messages.

Can the bot also send messages?

Yes, regardless of token type, as long as the corresponding write permissions are granted.

What are the security risks?

A compromised user or browser token grants access to everything that person can see in Slack. Tokens belong solely in environment variables, never in version control. Browser tokens should be a last resort because they depend on an active session.

What happens to the retrieved data?

The server retrieves content via the Slack Web API and passes it to the MCP client. There is no intermediate storage by Slack itself, since the server is not operated by Slack. Source: github.com/korotovsky/slack-mcp-server