It's Monday morning. You have 200 unread Slack messages across 12 channels. You could spend 45 minutes scrolling, or you could open Claude Desktop and ask "what did I miss in #engineering and #product since Friday?" and get a readable summary in 30 seconds. That's what the Slack MCP server actually does.

What the Slack MCP server can do

The official server from modelcontextprotocol/servers wraps the Slack Web API and exposes these tools:

  • slack_list_channels — lists all channels the bot has access to
  • slack_get_channel_history — reads recent messages from a channel
  • slack_get_thread_replies — reads a full thread starting from a message timestamp
  • slack_post_message — posts a message to a channel
  • slack_reply_to_thread — replies to a specific thread
  • slack_search_messages — searches across all channels the bot can see
  • slack_get_user_profile — looks up a user's display name and profile info

What it can't do: read DMs (direct messages) — Slack's API scopes typically restrict this for privacy. It also can't read message history beyond what Slack's API rate limits allow.

Slack MCP server setup showing tools available: channels_history, list_channels, post_message, users_list with OAuth scopes required, plus three-step setup flow: create Slack app, get bot token, configure Claude Desktop
Slack MCP server tools and setup — requires creating a Slack app with specific OAuth scopes before it can access your channels.

Step 1: Create a Slack app

Go to api.slack.com/apps and click "Create New App" → "From scratch." Give it a name (like "Claude MCP") and select your workspace. Under "OAuth & Permissions," add these Bot Token Scopes:

  • channels:history — read messages in public channels
  • channels:read — list channels
  • chat:write — post messages
  • search:read — search messages
  • users:read — look up user profiles

For private channels, add groups:history and groups:read. Click "Install to Workspace" and copy the Bot User OAuth Token that starts with xoxb-.

Step 2: Add the bot to your channels

The bot can only read channels it's a member of. Go to each channel you want Claude to access and type /invite @YourBotName. For public channels, the bot just needs the token scopes above — no invite required. For private channels, the invite is mandatory.

Step 3: Configure Claude Desktop

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-token-here",
        "SLACK_TEAM_ID": "T0XXXXXXX"
      }
    }
  }
}

Find your Team ID in Slack's workspace settings URL or under "About this workspace." Restart Claude Desktop after saving.

Slack MCP server real workflows showing channel catch-up summaries, thread reading, posting updates to channels, and user lookup with example Claude prompts like summarize engineering channel since Friday and post standup to team-updates
Four Slack MCP workflows people use daily — channel catch-up, thread reading, posting updates, and team lookup.

The workflows people actually use this for

Honestly, this is the one I'd install first if I worked on a team that lives in Slack. Here's why: the time savings from channel summaries alone pay back the 10-minute setup within the first day.

Daily standup catch-up: "Summarize everything in #dev-team from yesterday. What decisions were made and what action items came up?"

Thread context: Paste a Slack message link. Ask Claude to "read this thread and draft a response suggesting we move the deadline to next Friday."

Searching across channels: "Find all messages mentioning the payment API bug from the last two weeks." Claude searches across every channel the bot can see.

Message drafting: "Draft a message for #general announcing our maintenance window on Saturday between 2-4 PM EST. Keep it under 100 words and friendly in tone."

Can I use this with a personal Slack account?

Yes. You can create a Slack app in any workspace where you have admin privileges — including free workspaces. The bot approach works the same way whether it's a personal workspace or a 10,000-person company.

Frequently Asked Questions

Claude can call the send_message tool, but it always tells you what it's about to send and waits for your confirmation. It won't silently post to Slack. You review the draft and approve it before anything gets sent.

Yes, but free plans limit message history to 90 days. The MCP server can only read messages within Slack's own API limits, so on free plans you'll only see recent messages and the search index is limited.

The messages you ask Claude to read pass through Anthropic's API. If you're in a regulated industry, check whether your Slack plan's data terms and your Anthropic contract allow this before using in a professional context.

Not by default — the standard scopes don't include DM access. You'd need to add the im:history scope and get permission from your Slack workspace admin. Most teams leave DMs out for privacy reasons.