Slack (community) logo — Communication MCP server

Slack (community)

Read and send Slack messages, manage channels and threads — the token-based community server, no admin approval needed.

Score 67(?)Community (korotovsky)MIT1.8kVerified Top MCPs for Communication →

Quick answer

What it does

Provides access to Slack channels, messages, threads, users, and workspace data via the Slack Web API.

Best for

  • Automated Slack notifications
  • Channel monitoring
  • Message summarization
  • Thread management

Not for

  • Non-Slack messaging platforms
  • High-security workspaces with API restrictions

Source: top-mcps.com/mcp/slack — verified Aug 2026

Setup recipe

Pick your client, then follow the three steps.

  1. 1

    Install

    claude_desktop_config.json
    {
      "mcpServers": {
        "slack": {
          "command": "npx",
          "args": [
            "-y",
            "slack-mcp-server"
          ],
          "env": {
            "SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}",
            "SLACK_TEAM_ID": "${SLACK_TEAM_ID}"
          }
        }
      }
    }

    Paste under mcpServers. Fully quit and reopen Claude after editing.

    CLI or .mcp.json
    # export SLACK_BOT_TOKEN=xoxb-your-bot-token
    # export SLACK_TEAM_ID=T0000000
    claude mcp add slack -- npx -y slack-mcp-server

    Run from your repo. Commit .mcp.json to share with your team.

    .cursor/mcp.json
    {
      "mcpServers": {
        "slack": {
          "command": "npx",
          "args": [
            "-y",
            "slack-mcp-server"
          ],
          "env": {
            "SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}",
            "SLACK_TEAM_ID": "${SLACK_TEAM_ID}"
          }
        }
      }
    }

    Global path: ~/.cursor/mcp.json. Reload window after editing.

    .vscode/mcp.json
    {
      "servers": {
        "slack": {
          "command": "npx",
          "args": [
            "-y",
            "slack-mcp-server"
          ],
          "env": {
            "SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}",
            "SLACK_TEAM_ID": "${SLACK_TEAM_ID}"
          }
        }
      }
    }

    VS Code uses the "servers" key (not "mcpServers").

    ~/.codeium/windsurf/mcp_config.json
    {
      "mcpServers": {
        "slack": {
          "command": "npx",
          "args": [
            "-y",
            "slack-mcp-server"
          ],
          "env": {
            "SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}",
            "SLACK_TEAM_ID": "${SLACK_TEAM_ID}"
          }
        }
      }
    }

    Open via Cascade → hammer icon → Configure.

    cline_mcp_settings.json
    {
      "mcpServers": {
        "slack": {
          "command": "npx",
          "args": [
            "-y",
            "slack-mcp-server"
          ],
          "env": {
            "SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}",
            "SLACK_TEAM_ID": "${SLACK_TEAM_ID}"
          }
        }
      }
    }

    Open via the Cline sidebar → MCP Servers → Edit.

    ~/.continue/config.json
    {
      "experimental": {
        "modelContextProtocolServers": [
          {
            "transport": {
              "type": "stdio",
              "command": "npx",
              "args": [
                "-y",
                "slack-mcp-server"
              ],
              "env": {
                "SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}",
                "SLACK_TEAM_ID": "${SLACK_TEAM_ID}"
              }
            }
          }
        ]
      }
    }

    Continue uses modelContextProtocolServers with a transport block.

    ~/.codex/config.toml
    # ~/.codex/config.toml
    [mcp_servers.slack]
    command = "npx"
    args = [
      "-y",
      "slack-mcp-server",
    ]
    env = { SLACK_BOT_TOKEN = "${SLACK_BOT_TOKEN}", SLACK_TEAM_ID = "${SLACK_TEAM_ID}" }

    Codex uses TOML. Each server is a [mcp_servers.<name>] subtable.

    ~/.config/zed/settings.json
    {
      "context_servers": {
        "slack": {
          "command": {
            "path": "npx",
            "args": [
              "-y",
              "slack-mcp-server"
            ]
          },
          "env": {
            "SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}",
            "SLACK_TEAM_ID": "${SLACK_TEAM_ID}"
          }
        }
      }
    }

    Zed calls them "context_servers". Settings live-reload on save.

    ChatGPT → Apps directory

    Slack (community) is also available in the official ChatGPT Apps directory — no manual setup, no Developer mode required. Open the app from the directory and grant access on first use.

  2. 2

    Set required secrets

    Set SLACK_BOT_TOKEN, SLACK_TEAM_ID in your shell environment before launching your MCP client.

  3. 3

    Try a minimum working prompt

    Post a concise standup update to a channel

    Summarise what I worked on today from the last 10 commits on the current repo and post a 3-bullet standup update to #team-eng. Keep it under 500 characters and end with blockers or an "all clear" line.

    Tested with: Claude Desktop, Cursor.

Tools & permissions

ToolDescriptionArgsSide effects
conversations_historyFetch messages from a channel or DM, with time-range or count limits and pagination.—Read
conversations_repliesFetch the messages of a thread by channel and thread timestamp.—Read
conversations_add_messagePost a message into a channel or thread.—Write
conversations_search_messagesSearch messages across the workspace.—Read
channels_listList channels visible to the connected account.—Read
reactions_addAdd an emoji reaction to a message.—Write
reactions_removeRemove an emoji reaction from a message.—Write
users_searchSearch workspace users.—Read

Security & scope

Access scope
Network
Sandbox
Authenticates to Slack with a bot token (xoxb-...). Acts under the bot identity in whichever workspace installed the app; scope limited by the bot user scopes.
Gotchas
  • Bot-authored messages appear under the bot, not under your personal Slack identity.
  • DMs require the bot to be invited; uninvited DMs return a 404.
  • Workspace admins can audit every bot token call — treat agent actions as auditable.

Agent prompt pack

— copy into Claude, Cursor, or ChatGPT.
Paste into Claude, Cursor, or ChatGPT. Edit the [brackets] before sending.
Recommend the best MCP servers for [task: e.g. communication work] in [client: Claude].

Constraints:
- Prefer tools that are [official | open-source | read-only] — pick what matters for my use case.
- Exclude MCPs that require [e.g. a paid plan, OAuth-only flows, remote-only transport].
- Return at most 3 picks, ranked.

For each pick include:
1. One-sentence rationale.
2. The ready-to-paste install snippet for my client.
3. Any required secrets I need to create before installing.

Cross-check the top-mcps.com listing: https://top-mcps.com/top-mcps-for-communication
Compare Slack (community) against a real alternative. Swap the second MCP in [brackets] if you want a different match.
Compare Slack (community) MCP vs [Slack (official) MCP] for the following job: [describe the job, e.g. "let an agent create GitHub issues on bug triage"].

Judge them on:
- Setup time and complexity (what a new user hits first).
- Auth model (none / API key / OAuth 2.1) and credential risk.
- Transport (stdio / Streamable HTTP / SSE) and where the server runs.
- Required secrets and the blast radius if they leak.
- Operational risk in an unattended agent loop.
- Which one is "good enough" for a weekend prototype vs. production.

End with one sentence: which should I pick for my scenario, which is: [my scenario].

References:
- https://top-mcps.com/mcp/slack
- top-mcps.com listing for Slack (official)
Asks the agent to install and verify. Works inside Claude Code, Cursor Agent, Codex CLI.
Install the Slack (community) MCP server for my [client: Claude] at the default config path for that client.

Use the exact install snippet published at https://top-mcps.com/mcp/slack (fetch https://top-mcps.com/mcp/slack.json for the canonical server.json if you can read URLs).

Before finishing:
1. Create the required secrets (SLACK_BOT_TOKEN, SLACK_TEAM_ID) and put them in the appropriate env block — do not hard-code them.
2. Restart or reload the client so it picks up the new server.
3. Verify the server is connected (green / running state) and at least one tool is listed.
4. If anything fails, read the client's MCP logs and report the exact error — do not silently retry.

Confirm when done and list the tools the server now exposes.

Frequently asked questions

What changed

— 3 updates tracked.
  1. v1.2.3 released

  2. v1.2.2 released

  3. v1.1.28 released

More Communication MCPs

Other tools in the same category worth evaluating.

Slack (official)
Official

Slack's own hosted MCP server — search, send messages, read threads, and manage canvases, gated by workspace admins.

slack, messaging, chat, canvases
5 minLow
Discord

Read and post to Discord channels — community management for AI agents.

discord, chat, community, bot
10 minMedium
Telegram

Send messages and read channel history from a Telegram bot in an agent.

communication, messaging, telegram, bot
6 minLow

Compared with Slack (community)

Side-by-side breakdowns for the choices people most often weigh against this MCP.

Exploring Top MCPs for Communication? See all Communication MCPs →