Slack MCP

Connect Slack to your AI agent using your own Slack account — read, send, and search messages directly from Claude or any other MCP-compatible agent.

Overview

Slack MCP lets an AI agent read, send, and search Slack messages on your behalf — using your own Slack account (a xoxp- user token), not a bot. With it, you can ask Claude to summarize a channel, message your team, or reply to a thread straight from the Claude chat without opening Slack.

Compatible with every AI agent that supports the Model Context Protocol (MCP), including Claude Desktop, Cursor, and Windsurf.

Capabilities

CapabilityDescription
Read MessagesRead messages from a specific channel, DM, or thread
Send MessageSend a message to a channel or DM on your behalf
Reply to ThreadReply to an existing Slack thread
Search MessagesSearch messages by keyword across the workspace
List ChannelsSee the list of channels you’re a member of
Get User InfoFetch a Slack user’s profile by username or ID

Install Steps

1. What You Need

  • Claude Desktop (Pro/Max/Team/Enterprise account) — download
  • Node.js LTS — download
  • A Slack account with access to the workspace you want to connect

2. Authorize with Slack

Open the following link in your browser, log in to Slack → pick the workspace → click Allow:

👉 Authorize Slack for Claude MCP

3. Copy the config snippet

After authorizing, you’ll land on a page showing a config snippet. Click Copy Token to copy the whole snippet:

{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxp-598...",
"SLACK_TEAM_ID": "THLPKPYKD..."
}
}
}
}

Warning: This token grants full access to your Slack account. Don’t share it, don’t commit it to Git, and don’t paste it into public chats.

4. Open the Claude Desktop config file

Claude Desktop → SettingsDevelopersEdit Config

5. Paste the configuration

If the file is still empty, paste the copied snippet as is. If other servers already exist, merge it into the same mcpServers block:

{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/budi/Documents"]
},
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxp-598...",
"SLACK_TEAM_ID": "THLPKPYKD..."
}
}
}
}

Windows: change "command": "npx" to "command": "npx.cmd".

6. Save & Restart

  • Save the file (Cmd+S / Ctrl+S)
  • Quit Claude Desktop completely:
    • Mac: Cmd+Q
    • Windows: right-click the system tray icon → Quit
  • Open Claude Desktop again

7. Verify

  1. Open the Cowork tab
  2. Click + in the chat → Connectors
  3. slack appears in the list ✅
  4. Test prompt: “Check the latest messages in #general”

Example Prompts

Summarize everything posted in #engineering today
Send a message to #team-marketing: 'weekly meeting at 3pm on Zoom'
Find messages that mention me this week and summarize the important ones
List all the channels that were active this week
Reply to the last message in my DM with Andi: 'got it, let me check first'

Troubleshooting

ProblemSolution
OAuth link error / redirect failsMake sure you log in to Slack with the right workspace, not a personal one
Config page doesn’t appear after authorizingCheck your pop-up blocker, try another browser (Chrome/Firefox)
slack doesn’t show up in ConnectorsValidate the JSON at jsonlint.com
JSON is valid but it still doesn’t show upQuit Claude Desktop completely (not just close the window), then reopen
Mac: command not foundRun which npx in Terminal and use the full path: "command": "/usr/local/bin/npx"
Windows: command not foundChange "npx" to "npx.cmd"
Error 401 / invalid tokenThe token expired or was revoked. Repeat step 2 to re-authorize
Bot can’t post to a specific channelThe user token (xoxp-) requires you to have joined that channel in Slack
Still failingCheck the logs: Mac ~/Library/Logs/Claude/mcp-server-slack.log, Windows %APPDATA%\Claude\logs\mcp-server-slack.log

Update & Revoke Token

Re-authorize (token expired or switching workspaces):

  1. Repeat step 2 of this tutorial
  2. Replace SLACK_BOT_TOKEN and SLACK_TEAM_ID in the config
  3. Restart Claude Desktop

Revoke (token leaked or no longer needed):

  1. Open Slack Account SettingsConnected Apps
  2. Find “Claude MCP” → click Revoke
  3. Remove the slack section from claude_desktop_config.json

Important Notes

  • The token is a user token (xoxp-) — Claude acts as you in Slack, not as a bot.
  • The granted scopes include canvas read/write, sending messages, reading DMs, and search — review every Claude action before approving.
  • The token is stored in plain text in claude_desktop_config.json. Don’t share this file.
  • Stdio MCP doesn’t run on mobile/Dispatch — Claude Desktop only.

Config File Locations

PlatformPath
Mac~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
Windows MSIX/Store%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json