Back
Marketplace/Slack

TL;DR

Slack is a Communication MCP server that lets Claude Code, Cursor, Windsurf and any MCP-compatible AI agent slack channels, messages, and workspace management. Install in 1 minute with mcpizy install slack.

💬

Slack

Verified 7 tools Supports hosted execution →

Communication

Last updated May 30, 2026 · By MCPizy team

Slack channels, messages, and workspace management

Official homepage

Run Slack without any local install

Connect your Slack account once — MCPizy stores the credentials encrypted and uses them whenever you run a recipe in managed mode.

Checking connection…

Install Slack

Via MCPizy CLI (recommended):
mcpizy install slack
Or run directly:
npx -y @modelcontextprotocol/server-slack
View on GitHub

Tools exposed

7 tools available
slack_list_channels

List channels in the workspace

Inputs

  • limitnumberoptional
slack_post_message

Post a message to a channel

Inputs

  • channel_idstringrequired
  • textstringrequired
slack_reply_to_thread

Reply to a thread in a channel

Inputs

  • channel_idstringrequired
  • thread_tsstringrequired
  • textstringrequired
slack_add_reaction

Add an emoji reaction to a message

Inputs

  • channel_idstringrequired
  • timestampstringrequired
  • reactionstringrequired
slack_get_channel_history

Get recent messages from a channel

Inputs

  • channel_idstringrequired
  • limitnumberoptional
slack_get_users

List users in the workspace

slack_get_user_profile

Get a user's profile information

Inputs

  • user_idstringrequired

Configuration

Works identically across clients. Only the config file path differs.

Claude Code~/.claude.json
{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-slack"
      ],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-...",
        "SLACK_TEAM_ID": "T01..."
      }
    }
  }
}
Cursor.cursor/mcp.json
{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-slack"
      ],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-...",
        "SLACK_TEAM_ID": "T01..."
      }
    }
  }
}
Windsurf~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-slack"
      ],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-...",
        "SLACK_TEAM_ID": "T01..."
      }
    }
  }
}

Authentication setup

  1. 1

    Create a Slack app and install it in your workspace

    Get it SLACK_BOT_TOKEN
  2. 2

    Add required OAuth scopes: channels:read, chat:write, reactions:write, users:read

    Get it
  3. 3

    Copy your Team ID from Slack workspace settings

    Get it SLACK_TEAM_ID

What you can do with Slack MCP

Paste any of these prompts into Claude Code, Cursor or another MCP-compatible client.

“Post 'Deploy completed' to #engineering”

Uses: slack_list_channels, slack_post_message

“Summarise the last 50 messages in #support and flag any urgent issues”

Uses: slack_get_channel_history

“React with :eyes: to the latest message in #incidents”

Uses: slack_get_channel_history, slack_add_reaction

“Who is @alice and what's her role?”

Uses: slack_get_users, slack_get_user_profile

Why Slack MCP matters

Slack MCP exposes the Slack Web API as a small, focused tool set: `list_channels`, `post_message`, `reply_to_thread`, `get_channel_history`, `search_messages`, `get_user_info`. The official server runs in stdio mode behind a bot token (`xoxb-`); newer remote forks support OAuth for multi-workspace agents. The point is to let an AI both read context (recent messages, threads, channel history) and act (post a status, react with an emoji, kick off a thread) without you ever opening the Slack app.

We use Slack MCP for three things daily. First, on-call summaries: "read `#incidents` for the last 24h, group by service, post a digest to `#eng-leadership`." Second, async standups: the agent pulls overnight messages from `#standup`, summarises blockers, and DMs each owner with their open items. Third, build/deploy notifications: instead of a webhook, the deploy script asks an agent to post a contextual message that links to the PR, the runtime logs, and the affected dashboards. Token cost is moderate — channel history is short-form, so 100 messages from `#general` typically come back at ~6-8k tokens.

Compared to writing a Bolt app, the MCP gives you the same surface but every MCP-compatible client (Claude Code, Cursor, Claude Desktop) gets it for free. The trade-off is depth: the MCP covers messaging well but does not expose Slack's newer surfaces (Canvas, Lists, Workflow Builder triggers). For event-driven flows (respond to a slash command, react to a message), you still need the Events API + Bolt. The MCP is the right pick for read-and-act loops driven by a human prompt; Bolt is the right pick for autonomous always-on bots.

Common pitfalls

Bot tokens have to be invited to private channels manually — `list_channels` will silently exclude any private channel the bot is not a member of. If the agent reports "no incidents in last 24h" for a private `#incidents` channel, check membership first.

`search_messages` requires the user-token scope (`xoxp-`), not the bot-token scope (`xoxb-`). Some MCP forks ship with bot tokens only and the search tool will return an empty result. Use a user token specifically for read-heavy agents.

Threads are a separate query path. `get_channel_history` returns parent messages only; you need `reply_to_thread` with the parent `ts` to read replies. An agent that summarises a channel without walking threads will miss most of the substance.

Rate limits are method-tier: `post_message` is Tier 1 (1 req/min/channel sustained), `search_messages` is Tier 2 (20 req/min). Agents that batch-post to dozens of channels will throttle. Use a single digest message rather than fan-out.

How Slack MCP compares

Honest pros/cons against the closest communication MCP servers.

ServerStrengthsTrade-offs
Discord MCPFree, similar primitives, better for community/gaming teamsNo enterprise threading model, weaker search
Microsoft Teams MCP (community)Right choice for M365 orgs, integrated with Graph APIOAuth setup is heavier, fewer maintained MCP forks
Mattermost MCPSelf-hostable, full audit logs, open sourceTiny ecosystem, you maintain the server yourself

Works with

Claude Code
Claude Desktop
Cursor
Windsurf
VS Code + Copilot
Any MCP Client

More Communication MCPs

📱

iMessage

Query and analyze iMessage conversations

💬

Mattermost

Messaging and channel management

📲

WhatsApp

WhatsApp messaging via Business API

📧

Email (IMAP)

IMAP/SMTP email with 42 tools for inbox management

Alternatives to Slack

If Slack doesn't fit your stack, these Communication MCP servers solve similar problems.

✈️

Telegram

Telegram API for dialogs and messages

🎮

Discord

Discord bot integration for servers and channels

🗣️

Discourse

Forum integration and community management

Key Takeaways

  • Slack exposes 7 tools for communication workflows in Claude Code, Cursor and Windsurf.
  • Authentication: 3 steps (SLACK_BOT_TOKEN, SLACK_TEAM_ID).
  • Install in 1 command: mcpizy install slack — config written to your client automatically.
  • Free and open source (GitHub source linked above) — verified compatible with every MCP client (Claude Code, Claude Desktop, Cursor, Windsurf, VS Code + Copilot).
  • Best use case: "Post 'Deploy completed' to #engineering".

Frequently asked questions

What is the Slack MCP server?

The Slack MCP server is an Communication Model Context Protocol server that lets Claude Code, Cursor, Windsurf, VS Code with Copilot, and other MCP-compatible AI agents slack channels, messages, and workspace management. It exposes Slack's capabilities as tools the AI can call directly from your editor or CLI.

How do I install Slack MCP with Claude Code?

The fastest way is the MCPizy CLI: run `mcpizy install slack` and MCPizy will add the server to your `.claude.json` automatically. You can also install it manually by adding an entry under `mcpServers` in `.claude.json` with the command `npx -y @modelcontextprotocol/server-slack` and restarting Claude Code.

Is Slack MCP free?

Yes. The Slack MCP server is free and open source (see the GitHub repository linked on this page). You may still need a Slack account or API key to connect the server to the underlying service, but the MCP layer itself has no MCPizy subscription cost.

Does Slack MCP work with Cursor and Windsurf?

Yes. Any MCP-compatible client works — including Claude Code, Claude Desktop, Cursor (via `.cursor/mcp.json`), Windsurf, VS Code with Copilot Chat, and custom agents built on the MCP SDK. The same install command targets all of them; only the config file path differs.

What can I do with Slack MCP?

Once installed, your AI agent can slack channels, messages, and workspace management directly inside your conversation. Typical use cases include asking Claude Code or Cursor to run Slack operations, inspect results, chain Slack with other MCP servers (see our Workflow Recipes), and automate repetitive communication tasks without leaving your editor.

Manage all your MCPs in one place

Monitor usage, track costs, and discover new MCPs.

Get Started Free