Slack MCP Server Configuration Guide: Team AI Collaboration
Connect Claude Desktop and Cursor IDE to your Slack workspace to summarize missed discussion threads, dispatch automated release announcements, and streamline team incident response.
1. Transforming ChatOps with Model Context Protocol
In fast-paced engineering teams, critical technical context is distributed across dozens of Slack channels—from incident response threads in #war-room to feature specifications in #product-design. Engineers often find themselves spending hours catching up on message backlogs after returning from meetings or focus time.
The Slack Model Context Protocol Serverconnects your AI coding assistant directly to your company's communication hub. Instead of manually scrolling through hundreds of messages to piece together an incident timeline, you can instruct your assistant to synthesize discussion history and broadcast structured updates to teammates.
By bridging your chat platform with local developer tools, AI models can draft release notes directly from git history, format rich Slack message blocks, and post them directly to staging channels without switching windows.
The server implements robust rate-limiting safeguards and handles Slack API pagination seamlessly, ensuring your assistant never crashes when querying high-volume channels with thousands of conversational turns.
2. Slack App Creation & Bot Token Provisioning
To connect the MCP server to Slack, create a custom Slack Bot Application with targeted permission scopes:
- Visit the Slack API App Dashboard and click Create New App → From scratch.
- Assign the app name
Claude-MCP-Assistantand select your development workspace. - Under Features → OAuth & Permissions → Bot Token Scopes, add:
chat:write: Allows the assistant to post messages.channels:read: Allows listing public channels.channels:history: Allows reading discussion threads.groups:history: Allows reading private channels where the bot is invited.
- Click Install to Workspace and copy the generated Bot User OAuth Token (starts with
xoxb-...).
Always use a Bot Token (xoxb-) rather than a User Token (xoxp-) to ensure all automated actions have a distinct bot identity in channel threads and maintain transparent team attribution.
3. Multi-Client Installation Configurations
Configure the Slack server in your AI client:
Claude Desktop Config
claude_desktop_config.json{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your_bot_token_here",
"SLACK_TEAM_ID": "T01234567"
}
}
}
}Cursor IDE Config
.cursor/mcp.json{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your_bot_token_here",
"SLACK_TEAM_ID": "T01234567"
}
}
}
}Restart Claude Desktop or Cursor to initialize the Slack MCP tools and establish stdio communication with the underlying server process.
4. Automated ChatOps & Incident Triage Workflows
Once configured, you can command your AI assistant to streamline incident triage and team communication:
Summarizing Incident Threads in #war-room
Prompt: “Read the thread on message 1720491823.102900 in #war-room. Identify the root cause, list mitigation actions taken, and output a draft post-mortem timeline.”
The MCP server fetches the threaded replies, orders timestamps, and extracts key engineering decisions into a clean markdown report.
Automated Release Announcements
Prompt: “Read the release notes from v2.4.0 in CHANGELOG.md and post a formatted summary to #engineering-announcements.”
Claude structures the message using Slack markdown blocks and dispatches the payload via the post_message tool.
Cross-Referencing Customer Feedback with Jira
Prompt: “Search #customer-feedback for mentions of latency in file export, group similar user quotes, and draft a product investigation ticket.”
The assistant filters channel messages, extracts direct user quotes, and structures an actionable investigation plan.
5. Troubleshooting the ‘not_in_channel’ Error
When attempting to read or post to a channel, Slack will return not_in_channel if the bot has not been explicitly added. To resolve this, open the target channel in Slack and type:
/invite @Claude-MCP-Assistant
Once invited, the bot can immediately query message histories and post replies to threads within that channel.