When reading messages sent by bots (e.g. Opsgenie) that use the attachments field instead of the top-level text field, the MCP returns the message metadata (sender, timestamp, reactions) but the message body is empty.
Reproduction:
Read a channel containing an Opsgenie alert message
The top-level text field on Opsgenie messages is empty — content is in attachments[0]["text"] and attachments[0]["title"]
MCP returns only the empty text field — attachments is not included in the response
Expected:
attachments[0]["text"] and attachments[0]["title"] should be included in the response when text is empty or absent.
Actual:
Message body is empty.
Note:
This affects any bot or integration that uses Slack's attachments format (legacy but still widely used). The Slack Web API returns attachments in the response — the MCP server appears to discard it before returning to the client.
When reading messages sent by bots (e.g. Opsgenie) that use the attachments field instead of the top-level text field, the MCP returns the message metadata (sender, timestamp, reactions) but the message body is empty.
Reproduction:
Read a channel containing an Opsgenie alert message
The top-level text field on Opsgenie messages is empty — content is in
attachments[0]["text"]andattachments[0]["title"]MCP returns only the empty text field — attachments is not included in the response
Expected:
attachments[0]["text"]andattachments[0]["title"]should be included in the response when text is empty or absent.Actual:
Message body is empty.
Note:
This affects any bot or integration that uses Slack's attachments format (legacy but still widely used). The Slack Web API returns attachments in the response — the MCP server appears to discard it before returning to the client.