Read Discord messages
TL;DR
About
Point it at any Discord channel, DM, group DM or thread your account can open and you get its latest messages back, newest first, as many as you ask for. Discord's own API route is a bot that a server admin has to add, and that bot also needs the Message Content intent before it sees any text. This reads as the account you are already signed in with, so it sees what you see in the app and nothing more. A typical run: a volunteer mod on a 3,000-member indie game server pulls the last 150 messages from a bug reports channel each morning, has Claude group the repeated crash reports, then works through the worst ones by hand. Text arrives as Discord stores it, so mentions stay as <@id>. Image-only posts come back with empty text, and reactions and reply links are not returned.
Input
url optionalSame as channelUrl, under the name discord.com/list_dms returns it. Pass one of channelUrl or url.
limit optionalHow many messages to return, newest first. Fewer come back when the channel is shorter.
Default: 20channelUrl optionalFull channel URL: https://discord.com/channels/<guildId>/<channelId> for a server channel, or https://discord.com/channels/@me/<channelId> for a direct message (from discord.com/list_dms).
Output
count requiredcomplete requiredTrue when the whole channel history is in messages (Discord returned a short batch at the top). False when limit stopped the read first, or when Discord stopped answering scrolls.
messages requiredchannelId requiredExample output
Shape only: placeholder values generated from the output schema, not a real run.
{
"count": 3,
"complete": true,
"messages": "…",
"channelId": "abc123"
}