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.
Communication
Slack channels, messages, and workspace management
Connect your Slack account once — MCPizy stores the credentials encrypted and uses them whenever you run a recipe in managed mode.
mcpizy install slacknpx -y @modelcontextprotocol/server-slackslack_list_channelsList channels in the workspace
Inputs
limitnumberoptionalslack_post_messagePost a message to a channel
Inputs
channel_idstringrequiredtextstringrequiredslack_reply_to_threadReply to a thread in a channel
Inputs
channel_idstringrequiredthread_tsstringrequiredtextstringrequiredslack_add_reactionAdd an emoji reaction to a message
Inputs
channel_idstringrequiredtimestampstringrequiredreactionstringrequiredslack_get_channel_historyGet recent messages from a channel
Inputs
channel_idstringrequiredlimitnumberoptionalslack_get_usersList users in the workspace
slack_get_user_profileGet a user's profile information
Inputs
user_idstringrequiredWorks identically across clients. Only the config file path differs.
~/.claude.json{
"mcpServers": {
"slack": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-slack"
],
"env": {
"SLACK_BOT_TOKEN": "xoxb-...",
"SLACK_TEAM_ID": "T01..."
}
}
}
}.cursor/mcp.json{
"mcpServers": {
"slack": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-slack"
],
"env": {
"SLACK_BOT_TOKEN": "xoxb-...",
"SLACK_TEAM_ID": "T01..."
}
}
}
}~/.codeium/windsurf/mcp_config.json{
"mcpServers": {
"slack": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-slack"
],
"env": {
"SLACK_BOT_TOKEN": "xoxb-...",
"SLACK_TEAM_ID": "T01..."
}
}
}
}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
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.
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.
Honest pros/cons against the closest communication MCP servers.
| Server | Strengths | Trade-offs |
|---|---|---|
| Discord MCP | Free, similar primitives, better for community/gaming teams | No enterprise threading model, weaker search |
| Microsoft Teams MCP (community) | Right choice for M365 orgs, integrated with Graph API | OAuth setup is heavier, fewer maintained MCP forks |
| Mattermost MCP | Self-hostable, full audit logs, open source | Tiny ecosystem, you maintain the server yourself |
If Slack doesn't fit your stack, these Communication MCP servers solve similar problems.
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.
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.
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.
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.
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.