Skip to main content
Community resource — not affiliated with Anthropic or Slack. Learn more

Slack MCP

Communication & Messaging · Official

Full Slack workspace access for Claude. Read and send messages, search channels and message history, manage channel membership, post threaded replies, and look up user profiles — all from your Claude session.

4.8 rating 14,600+ connects Free · Open source Protocol v1.0
Slack Messaging Channels Search Official

Connect command

SLACK_BOT_TOKEN=xoxb-xxx claude mcp add slack -- npx -y @modelcontextprotocol/server-slack
View on GitHub →

Requires SLACK_BOT_TOKEN env var

14.6kConnects
4.8Rating

What it does

The Slack MCP Server connects Claude to your Slack workspace via the Slack Web API, making your AI assistant a fully capable Slack participant. Claude can read message history, post new messages, reply in threads, search across all channels, and look up information about users and channels — turning Slack from a passive data store into an active workspace Claude can reason about and write to.

Common use cases include daily digests (summarize all messages in #engineering since yesterday), incident analysis (search Slack for all messages mentioning a specific error code), standup drafting (pull what you worked on from your DMs and channels), and automated notifications (have Claude post a formatted summary to a channel after completing a task).

  • List all public channels and their member counts
  • Read message history from any channel or DM thread
  • Post messages to channels with full Block Kit formatting support
  • Reply to threads by message timestamp
  • Search messages across all channels with Slack's query language
  • Look up user profiles by name, email, or user ID
  • Get channel info including topic, purpose, and pinned messages
  • React to messages with emoji

How to connect

Create a Slack app at api.slack.com/apps, add a Bot Token Scope, and install it to your workspace. Copy the xoxb- Bot User OAuth Token from the OAuth & Permissions page.

terminal
export SLACK_BOT_TOKEN="xoxb-your-token-here"
export SLACK_TEAM_ID="T0123456789"  # optional, limits to one workspace
claude mcp add slack -- npx -y @modelcontextprotocol/server-slack

Required OAuth scopes

When creating your Slack app, add the following Bot Token Scopes under OAuth & Permissions:

  • channels:read — list public channels
  • channels:history — read messages in public channels
  • chat:write — post and reply to messages
  • search:read — search messages across channels
  • users:read — look up user profiles
  • groups:read and groups:history — for private channel access (optional)
  • im:read and im:history — for DM access (optional)

Available tools

  • slack_list_channels — list all channels the bot has access to
  • slack_get_channel_history — read recent messages in a channel
  • slack_post_message — send a message to a channel or user
  • slack_reply_to_thread — post a reply within an existing thread
  • slack_search_messages — search messages using Slack query syntax
  • slack_get_user_info — retrieve a user's profile and status
  • slack_add_reaction — react to a message with an emoji
  • slack_get_channel_info — fetch channel metadata including topic

Example usage

Ask Claude to summarize all important messages from a channel and post a digest:

example prompt
# User prompt
Read the last 100 messages in #incidents, identify
any unresolved issues, and post a summary to
#engineering-digest with action items.
tool call sequence
slack_get_channel_history({ channel: "#incidents", limit: 100 })
→ returns 100 messages
→ Claude identifies 3 unresolved threads
slack_post_message({
  channel: "#engineering-digest",
  text: "*Incident Summary — 3 open items*\n..."
})
→ digest posted successfully

Private channels: By default the bot can only see public channels. To include private channels, invite the bot to the channel with /invite @your-bot-name and add groups:read and groups:history scopes to your app.