Creativity · MCP — server
MCP Slack Server
The MCP Slack Server brings a Slack workspace into the Model Context Protocol. Once installed with a bot token, any MCP client can list channels, read and search messages, post replies, and add reactions — turning Claude or Cursor into a first-class Slack participant without a custom bot framework.
MCP facts
- Kind
- server
- Ecosystem
- anthropic-mcp
- Language
- TypeScript / Node.js
- Transports
- stdio
Capabilities
- Tools: slack_list_channels, slack_post_message, slack_reply_to_thread, slack_add_reaction
- Tools: slack_search_messages, slack_get_channel_history, slack_get_users
- Auth: bot token with channels:read, chat:write, users:read scopes
- Multi-workspace: one server instance per workspace via SLACK_TEAM_ID
Install
npx -y @modelcontextprotocol/server-slack Configuration
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-xxx",
"SLACK_TEAM_ID": "T01234567"
}
}
}
} Frequently asked questions
What Slack scopes does the MCP server need?
At minimum channels:read, channels:history, chat:write, users:read, and reactions:write. Add groups:history and im:history if you want private channel and DM access.
Can the Slack MCP server act as a user or only as a bot?
It uses a bot token, so all actions appear as the bot app. User tokens (xoxp-) are possible but strongly discouraged — they act as the human, bypass audit trails, and violate Slack's workspace policies in most orgs.
How do I prevent an agent from spamming a channel?
Grant the bot app access only to the channels it needs (Slack's default bot install flow lets admins pick channels), and keep chat:write scoped to those channels. Rate limiting is enforced by the Slack API itself.
Sources
- modelcontextprotocol/servers — slack — accessed 2026-04-20
- Slack Web API — OAuth scopes — accessed 2026-04-20