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
| Capability | Description |
|---|---|
| Read Messages | Read messages from a specific channel, DM, or thread |
| Send Message | Send a message to a channel or DM on your behalf |
| Reply to Thread | Reply to an existing Slack thread |
| Search Messages | Search messages by keyword across the workspace |
| List Channels | See the list of channels you’re a member of |
| Get User Info | Fetch 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 → Settings → Developers → Edit 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
- Mac:
- Open Claude Desktop again
7. Verify
- Open the Cowork tab
- Click + in the chat → Connectors
slackappears in the list ✅- Test prompt: “Check the latest messages in #general”
Example Prompts
Summarize everything posted in #engineering todaySend a message to #team-marketing: 'weekly meeting at 3pm on Zoom'Find messages that mention me this week and summarize the important onesList all the channels that were active this weekReply to the last message in my DM with Andi: 'got it, let me check first'Troubleshooting
| Problem | Solution |
|---|---|
| OAuth link error / redirect fails | Make sure you log in to Slack with the right workspace, not a personal one |
| Config page doesn’t appear after authorizing | Check your pop-up blocker, try another browser (Chrome/Firefox) |
slack doesn’t show up in Connectors | Validate the JSON at jsonlint.com |
| JSON is valid but it still doesn’t show up | Quit Claude Desktop completely (not just close the window), then reopen |
Mac: command not found | Run which npx in Terminal and use the full path: "command": "/usr/local/bin/npx" |
Windows: command not found | Change "npx" to "npx.cmd" |
| Error 401 / invalid token | The token expired or was revoked. Repeat step 2 to re-authorize |
| Bot can’t post to a specific channel | The user token (xoxp-) requires you to have joined that channel in Slack |
| Still failing | Check 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):
- Repeat step 2 of this tutorial
- Replace
SLACK_BOT_TOKENandSLACK_TEAM_IDin the config - Restart Claude Desktop
Revoke (token leaked or no longer needed):
- Open Slack Account Settings → Connected Apps
- Find “Claude MCP” → click Revoke
- Remove the
slacksection fromclaude_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
| Platform | Path |
|---|---|
| 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 |