Slack

Slug slack
Category Collaboration
Maturity Alpha
Auth Type Bearer token (Slack Web API)

Summary

MCP integration with the Slack Web API. Lets a Prospector Studio agent post into Slack, walk channel and thread history, look up users, search messages, react with emoji, and upload files or text snippets — the everyday workspace surface most automation needs.

This plugin is read-write. It can post, update, and delete messages, set channel topics, add reactions, and upload files. Bind it to agents only when that level of authority is intended.

Capabilities

  • Post, update, and delete messages; reply in threads.
  • Walk channel history and get all replies in a thread.
  • List channels (public, private, MPIM, IM) and set channel topics.
  • List users; look up a user by ID or by email.
  • Add emoji reactions to messages.
  • Upload files or text snippets to one or more channels.
  • Search messages across the workspace with sort and pagination.

Required Headers

Header Required Description
X-Slack-Token yes Slack Web API token. Bot tokens (xoxb-…) are the recommended flavor for agent use; user tokens (xoxp-…) and app-level tokens (xapp-…) are also accepted by the upstream API.

Credential Permissions

Slack tokens carry their authorization as OAuth scopes attached to the token at install time, not as a role on the issuing user. Bot tokens (xoxb-) are bound to a Slack app's installation in a workspace and grant only the scopes declared in the app manifest; user tokens (xoxp-) are bound to a single user and grant only the scopes that user consented to during the OAuth flow. The token's effective permissions are exactly the scopes it carries — Slack will reject an API method whose required scope is missing with a missing_scope error rather than silently degrading. Scope each agent's bot to the smallest set the bound tools actually need (e.g. chat:write for posting, channels:history + groups:history for reading, users:read.email for lookup_user, files:write for upload_file). Reference: Slack tokens documentation and the per-method scope list under each entry in the Slack Web API methods reference.

Allowed Hosts

slack.com

Tools

The plugin advertises 14 MCP tools.

Messages

Tool Action Purpose
post_message write Post a message to a channel (supports thread_ts for thread replies and Block Kit blocks).
update_message write Edit an existing message in place.
delete_message write Delete a message from a channel.
add_reaction write Add an emoji reaction to a message.
upload_file write Upload a file or text snippet to one or more channels.

Channels

Tool Action Purpose
list_channels read List channels in the workspace, filtered by type or archived state.
get_channel_history read Get message history for a channel, with oldest/latest time bounds.
get_thread_replies read Get all replies in a message thread by channel + ts.
set_channel_topic write Set a channel's topic (max 250 chars).

Users

Tool Action Purpose
list_users read List all users in the workspace.
get_user_info read Get the profile of a user by ID.
lookup_user read Look up a user by email address.
Tool Action Purpose
search_messages read Search messages workspace-wide; supports Slack search modifiers (from:@user in:#channel keyword).

Invocation Example

{
  "name": "post_message",
  "arguments": {
    "channel": "C01234ABCDE",
    "text": "Pipeline finished — 3 detections raised, 1 escalated.",
    "thread_ts": "1700000000.000100"
  }
}

Operational Notes

  • Channel ID vs. name. Tools that take a channel parameter accept either a channel ID (C01234ABCDE) or a channel name (#general). IDs are stable across renames; prefer them for automation.
  • Thread replies. Pass thread_ts to post_message to reply in a thread instead of posting to the channel root.
  • search_messages requires a user token. The search.messages upstream method is gated to user tokens (xoxp-); a bot token will return not_allowed_token_type. If an agent needs search, install it with a user token rather than a bot token.
  • upload_file is on the legacy files.upload endpoint. Slack has been migrating to files.getUploadURLExternal + files.completeUploadExternal; the legacy endpoint still works at the time of writing but watch for upstream deprecation.
  • Rate limits. Slack Web API methods are tiered (Tier 1 = ~1 req/min, Tier 4 = ~100+ req/min). chat.postMessage is Tier 4, search.messages is Tier 2 (~20/min). Build pacing into agent tool use.
  • Reference docs. Slack Web API methods reference · Token types.