Privileged intent
Message Content: a privileged intent, not a permission
Message Content is not on the install screen, is not in the permissions integer, and is the single biggest determinant of whether an app can read what your members write.
Permission or intent?
Permissions are granted per server, appear in the permissions integer on an install link, and are visible on the authorize screen. Intents are configured on the application itself, in Discord's developer portal, and apply everywhere the app is installed.
Message Content is an intent. Nothing you do at install time grants or withholds it, and it does not appear in any permissions integer. Discord describes it as affecting "what data is present for events that could contain message content fields" rather than gating specific events.
Without it, an app receives empty content for messages, except for its own messages, direct messages, messages that mention it, and message context-menu commands.
How this catalog knows
Discord publishes application flags on its public application record, and those flags include the privileged intents an application holds. This catalog reads them from there, which makes an intent listed on a profile an observed fact rather than a vendor claim.
Two variants exist per intent. The unqualified flag is for applications in 100 or more servers, which must be approved through verification; the limited variant is for applications under that threshold. Both mean the app holds the intent.
Read Message History is a different question
Read Message History is bit 16 of the permissions bitfield and controls whether an app can fetch past messages in a channel it can see. Message Content controls whether the text of those messages is populated.
An app can hold Read Message History and receive a stream of messages with empty content. An app can hold Message Content and still be unable to read a channel it has no View Channel permission for. Deciding what an app can actually read means checking both.
What it means for privacy
An app holding Message Content can process the text of every message in every channel it can see, across every server it is installed in. Whether it stores that text, and for how long, is a question its privacy policy has to answer - and that is a vendor claim, not something this catalog can observe.
Each profile links the privacy policy Discord publishes for the app. The catalog reports where the link points; it does not vouch for what the document says.
Decode an install link
Parsed locally. The link is never requested and nothing is authorised.