Slack MCP connector: bot message content missing — attachments not surfaced in tool output
Summary
The claude.ai Slack MCP connector's slack_read_channel and slack_read_thread tools only return the text field of Slack messages. Many bots (e.g. Opsgenie, PagerDuty, GitHub, Jira) post their content entirely in attachments or blocks, leaving the text field empty. Claude sees these messages as blank even though the full content is visible in the Slack client.
Steps to Reproduce
- Connect the
claude.ai SlackMCP in Claude Code - Use
slack_read_channelon any channel where a bot posts alerts or notifications using Slack message attachments - Observe that the bot messages appear with empty bodies in the tool output
Expected Behavior
Tool output should include attachment content. At minimum, attachments[].fallback should be included — Slack requires all attachments to provide a fallback plain-text string specifically for clients that cannot render rich formatting. attachments[].text and attachments[].pretext would also be useful.
Actual Behavior
Bot messages that use Slack attachments appear completely empty:
=== Message from Opsgenie at 2026-05-12 05:16:58 ===
While the Slack client shows the full alert title, priority, and description.
Why This Matters
This makes the tool effectively useless for incident response and on-call workflows — a primary use case for reading alert channels. It also affects any channel where bots post structured notifications.
The Slack API already returns attachments as part of the conversations.history response when channels:history scope is granted (which the connector already has). No additional OAuth scopes are needed. This is purely a data extraction issue in the connector's message formatting logic.
Suggested Fix
Include attachments[].fallback, attachments[].text, and attachments[].pretext in the formatted message output. For blocks-based messages, include the text field from section blocks.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗