Official Communications

Slack

Anthropic's official Slack server for messages, channels, and reactions.

Works with: Claude DesktopClaude CodeCursorWindsurfCline
Quick install
npx -y @modelcontextprotocol/server-slack

How to install the Slack MCP server

Add this to your Claude Desktop MCP configuration:

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-slack"
      ]
    }
  }
}

Add this to your Claude Code MCP configuration:

npx -y @modelcontextprotocol/server-slack

Add this to your Cursor MCP configuration:

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-slack"
      ]
    }
  }
}

Add this to your Windsurf MCP configuration:

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-slack"
      ]
    }
  }
}

Add this to your Cline MCP configuration:

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-slack"
      ]
    }
  }
}

The Slack MCP server is Anthropic’s official integration with Slack’s API. It gives Claude scoped access to read messages, post replies, search across channels, manage reactions, and pull user information from your workspace.

For teams or solo founders running daily standups, this is one of the highest-leverage MCPs. “Summarize the last 24 hours in #ops” replaces 20 minutes of catch-up scrolling with a one-line answer.

Why use it

Slack is where most teams’ day-to-day knowledge lives. Search inside Slack itself is mediocre, especially across long channels. Claude with the Slack MCP server can synthesise across channels, threads, and time ranges in a way the native UI can’t.

For solo work, the server replaces the “let me catch up on Slack” tax that breaks deep focus. Pull the digest, decide what needs action, ignore the rest.

What it actually does

A focused tool surface: list channels, fetch channel history, search messages, post messages, post threaded replies, add reactions, fetch user info. Claude composes these into bigger workflows.

Practical patterns:

  • “What did I miss in #marketing this week? Highlight anything mentioning the launch.”
  • “Send a message to #engineering announcing the new MCP picker is live.”
  • “Find every mention of ‘incident’ in the last month across all channels I’m in.”

Gotchas

Bot tokens are scoped to a single workspace. If you work across multiple workspaces, run multiple Slack server instances with different tokens.

Rate limits matter for heavy summarization. Slack’s API caps message-history reads at a few hundred per minute. For very large channels, the server paginates automatically but slow queries get slow.

Be careful with chat:write. A misinterpreted prompt can post a message you didn’t intend. Default to dry-run prompts (“draft a message saying X, but don’t send it yet”) and only let Claude actually post after you approve. Claude Desktop will ask, but Claude Code with auto-approve might not.

Example prompts for the Slack MCP server

Summarize the last 24 hours in #engineering.

Find all mentions of 'incident' in the past week.

Send a message to #marketing announcing the new lead magnet.

Slack MCP server: FAQs

What permissions does the Slack server need?

A Slack bot token with the scopes you intend to use. Common ones: channels:history, channels:read, chat:write, reactions:read, users:read. Add scopes only as needed; don't grant admin scopes.

Can it post to any channel?

Only channels the bot has been invited to. This is a Slack policy, not a server limitation. Invite the bot to specific channels via /invite @your-bot in each one.

Does it support DMs?

Yes, with appropriate scopes (im:history, im:write). DMs to the bot user can be read; DMs between humans cannot, by Slack policy.

How do I avoid notification spam when Claude posts?

Post via the bot user, not as you. The server uses the bot identity by default. Use threading (post into a thread, not the channel root) for high-volume work to avoid blowing up everyone's notifications.

Can it summarize long channels?

Yes. 'Summarize the last 24 hours in #engineering' is a common prompt. Claude pulls the recent messages, threads them, and condenses. Best paired with the GitHub MCP server when summarizing dev channels.