Slack MCP Server

Wiki / Tools

Slack MCP Server

The Slack MCP server lets DMJBot work inside your Slack workspace: send and read messages, reply in threads, add reactions, upload and download files, and browse users. It can also notify you about new messages while you chat with DMJBot.

What DMJBot can do

  • send_message — send a message to a channel or DM.
  • reply_in_thread — reply to a message inside its thread.
  • add_reaction — add an emoji reaction to a message.
  • list_channels — list channels you (or the bot) can see.
  • list_messages — list recent messages in a channel.
  • upload_file / download_file — upload a file, or download one by its Slack file ID.
  • list_users — list workspace users.

Notifications

When monitoring is enabled the server polls Slack and emits events DMJBot can react to:

  • slack_channel_message — new top-level message in a monitored channel.
  • slack_thread_reply — new reply in a thread within a monitored channel.
  • slack_direct_message — new direct message from any user.

Slack offers no webhook for token-only apps, so monitoring works by polling. Your own messages and the backlog present at startup do not fire notifications.

Use a user token

Use a user token (xoxp-...). DMJBot then acts as you: messages post under your name and you can read any channel you already belong to — nothing extra to set up per channel. This is the recommended and simplest setup.

Tokens do not expire unless you enable token rotation for the app.

Get a user token

  1. Create a Slack app at https://api.slack.com/appsCreate New App.

  2. Open OAuth & Permissions and add these scopes under User Token Scopes:

    chat:write
    channels:read    groups:read
    channels:history groups:history
    im:read im:history mpim:history
    users:read
    files:write files:read
    reactions:write
    

    reactions:write is needed only for add_reaction, and files:read only for download_file; everything else works without them.

  3. Reinstall the app to the workspace and copy the User OAuth Token (xoxp-...).

Bot token (advanced): the server also accepts a bot token (xoxb-...) if you add the same scopes under Bot Token Scopes instead. DMJBot then acts as the app rather than you, and you must /invite the bot into every channel it should read or post in. The user token is recommended unless you specifically need a separate app identity.

Add Slack MCP

Add the server

The Slack server is bundled in the DMJBot catalog. Add it either in DMJBot itself or on a connected device:

  • In DMJBot: Settings -> Tools, add the Slack server from the catalog, and fill in the configuration fields below.

  • On a device (bridge):

    dmjbot-bridge install slack
    dmjbot-bridge configure slack
    dmjbot-bridge start
    

You can run more than one Slack server (multiple workspaces) — give each a distinct Workspace Title so DMJBot can tell them apart.

Configuration

Field Required Default Description
Slack Token yes A user token (xoxp-...), recommended. A bot token (xoxb-...) also works (see above). Sensitive.
Workspace Title no Slack Short label prefixed into the server name and tool descriptions so DMJBot can pick the right workspace when several are loaded.
Monitored Channels no (empty) Comma-separated channel names or IDs to watch. You (or the bot) must be a member of each. Empty disables channel monitoring.
Monitor Direct Messages no true Notify on new DMs from any user.
Monitor Thread Replies no true Notify on new replies in threads within monitored channels.
Monitor Interval (s) no 30 How often Slack is polled (minimum 5).
Monitor Slack no true Master on/off for the notification poller.

Boolean fields accept true/false, 1/0, t/f.

Tips

  • If you see frequent ratelimited logs, raise Monitor Interval (s) or watch fewer channels — Slack rate-limits the history API.
  • Use a user token for the simplest setup; you avoid inviting a bot into every channel.

See also