slack | Auth: OAuth2 (provider id slack) | Scopes: channels:read, chat:write, groups:read
Handlers call Slack’s Web API at https://slack.com/api/<method>. List uses conversations.list with types=public_channel,private_channel and exclude_archived=true; post uses chat.postMessage and respects thread_ts when supplied. The destructive messages.post tool elicits user approval before sending — denied approvals throw before any API call is made.
Tools
slack.channels.list
Name: List Channels List Slack channels accessible to the bot.| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
limit | integer | No | 50 | Max channels to return |
slack.messages.post
Name: Post Message | Destructive: No Post a new message to a Slack channel viachat.postMessage. Additive write —
creates new content; does not delete or overwrite existing data. The MCP host
presents the tool call to the user for approval before invoking.
| Parameter | Type | Required | Description |
|---|---|---|---|
channel | string | Yes | Channel ID (e.g. C0123456789, preferred) or channel name with leading # (e.g. #general). Bare names without # are rejected by Slack with channel_not_found. |
text | string | Yes | Message body. Must be non-empty (Slack returns no_text otherwise). |
threadTs | string | No | Parent message ts to reply in-thread. |