Feature request: claude.ai Slack MCP — expose conversations.open to support group DMs
Problem Statement
The claude.ai Slack MCP exposes slack_send_message for sending direct messages, but it only accepts a single channel_id. The Slack API's conversations.open method — which creates or resolves a group DM (MPIM) channel from a list of user IDs — is not exposed as a tool. As a result, it is impossible to send a message to a group DM that doesn't already have a known channel ID. The only workaround is to send duplicate individual DMs to each participant, which is noisy, non-threaded, and not how users actually communicate in Slack.
Proposed Solution
Expose a slack_open_conversation tool (or extend slack_send_message) that wraps the Slack conversations.open API method. The tool should accept a list of user IDs, call conversations.open to retrieve or create the corresponding DM or group DM channel, and return the resolved channel_id. This channel ID can then be passed to slack_send_message as normal.
Minimal interface:
{
"tool": "slack_open_conversation",
"parameters": {
"user_ids": ["U123ABC", "U456DEF", "U789GHI"]
},
"returns": {
"channel_id": "G012XYZ"
}
}
Alternatively, slack_send_message could accept a user_ids array directly and handle the conversations.open call internally when no channel_id is provided.
Current Workaround
Sending duplicate individual DMs to each participant and referencing each other by name in the message body — functional but not ideal.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗