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 toslack_get_channel_history— reads recent messages from a channelslack_get_thread_replies— reads a full thread starting from a message timestampslack_post_message— posts a message to a channelslack_reply_to_thread— replies to a specific threadslack_search_messages— searches across all channels the bot can seeslack_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.
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 channelschannels:read— list channelschat:write— post messagessearch:read— search messagesusers: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.
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.