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

  1. modelcontextprotocol/servers — slack — accessed 2026-04-20
  2. Slack Web API — OAuth scopes — accessed 2026-04-20