Discord
Connect Discord to post, read and search messages, run threads and forum posts, moderate members, manage roles and channels, and schedule events.
You paste one value into PopMCP: the token of a bot you create for free in the Discord Developer Portal (Bot, Reset Token). It has three parts separated by dots and is about 70 characters long. There is no review and nothing to pay. You then pick which of the bot's servers to connect.
- Setup time
- 4 min
- Auth
- API credentials
- API base URL
- https://discord.com/api/v10
- Rate limits
- Discord limits each route per channel or server (a few messages per channel every few seconds) and each bot to 50 requests a second overall, answering 429 with the seconds to wait. An address that makes 10,000 refused requests (401, 403 or 429) in 10 minutes is blocked for a while, so PopMCP stops retrying a refused token. Files can be up to 20 MB each and 25 MB per message unless the server is boosted; PopMCP uploads up to 10 MB a file.
Before you begin
- A Discord account with two-factor authentication switched on is easiest: Discord may ask for a 2FA code when you reset a bot token
- A server where you have the Manage Server permission (owners and admins do), so you can add the bot to it
- A bot of its own for PopMCP is best. A bot you already run elsewhere works too: PopMCP only calls Discord's API and never takes over the bot's connection
Get your credentials
Create an application
Open the Discord Developer Portal at discord.com/developers/applications and sign in. Click New Application, type a name such as Acme Assistant (the bot's name in your server, which you can change later), tick the box to agree to the Developer Terms of Service and Developer Policy, and click Create. Every new application comes with a bot user.
Applications
Develop apps to customize and extend Discord for millions of users.
The application is yours and free. Discord only reviews a bot once it is in 100 servers, which a bot for your own server never reaches.
Copy the bot token
In the app's settings open Bot in the left sidebar. Under Token click Reset Token, confirm with Yes, do it! (Discord may ask for your 2FA code or password), then click Copy. Discord shows the token only this once. Anyone who has it controls the bot, so keep it private; if it leaks, click Reset Token again and reconnect with the new one.
Bot
Bring your app to life on Discord with a Bot user.
For security purposes, tokens can only be viewed once, when created. If you forgot or lost access to your token, please regenerate a new one.
Turn on Message Content and Server Members
Still on the Bot page, scroll to Privileged Gateway Intents and switch on Message Content Intent (so the AI can read what people write; without it message text comes back empty except messages that mention the bot) and Server Members Intent (so it can list members and see who joins). Leave Presence Intent off. Click Save Changes. Bots that can see fewer than 10,000 users switch these on freely.
Bot
Privileged Gateway Intents
Some Gateway Intents require approval if your bot is verified. If you are developing an unverified bot, you can toggle these intents to access them.
- Public Bot
- On by default. Turn it off if only you should be able to add this bot to servers.
- Requires OAuth2 Code Grant
- Leave off
Choose what the bot may do
Open Installation. Under Installation Contexts keep Guild Install ticked. Under Install Link choose Discord Provided Link. In Default Install Settings, for Guild Install add the scopes applications.commands and bot; a Permissions list appears. Pick what the AI should be able to do, for example View Channels, Send Messages, Send Messages in Threads, Create Public Threads, Manage Messages, Pin Messages, Embed Links, Attach Files, Read Message History, Add Reactions, Manage Channels, Manage Roles, Manage Webhooks, Create Events, Timeout Members, Kick Members and Ban Members. Click Save Changes, then Copy the install link.
Installation
Choose how your app can be installed
- Scopes
- applications.commands, bot
- Permissions
- View Channels, Send Messages, Manage Messages, Pin Messages, Read Message History, Manage Roles, Timeout Members, Ban Members, ...
Avoid Administrator: give the bot only what you want the AI to do. A server admin can change the bot's permissions later under Server Settings, Roles.
Add the bot to your server
Paste the install link into your browser. Choose Add to server, pick your server from the list (you need the Manage Server permission there), check the permissions and click Authorize. The bot now shows in the server's member list. To connect more servers, open the same link again for each one.
Acme Assistant
wants to access your Discord account
This requires you to have Manage Server permission in this server.
Paste the token into PopMCP and pick the server
In PopMCP, open Discord in the Marketplace, paste the token into Bot token and connect. PopMCP lists the servers your bot is in: choose one or more and the workspace each belongs to, and each server becomes its own connection. If the bot is in no server yet, PopMCP shows the link that adds it.
Connect in PopMCP
Open your workspace, choose Discord in the marketplace, and fill in the connect dialog:
| Field | What to enter |
|---|---|
| Bot tokensecret | In the Discord Developer Portal (discord.com/developers/applications) click New Application, name it and create it. Open Bot, click Reset Token and copy the token (Discord shows it once). On the same page turn on Message Content Intent and Server Members Intent. Then add the bot to your server: Installation, Install Link, open it and pick your server. Stored encrypted.Encrypted with AES-256-GCM on save and never shown again. |
PopMCP verifies the credential against Discord immediately. On success the connection flips to Verified and its MCP tools are provisioned.
Verify it worked
PopMCP checks that the token belongs to a bot, lists the bot's servers for you to choose from, then confirms the bot is in the chosen server and names the connection after it. It notes when Message Content Intent or Server Members Intent is off and which recommended permissions the bot's role is missing. Asking the AI for a server overview (discord_get_server_overview) or to read your general channel confirms it works.
Troubleshooting
"Discord rejected this bot token. Copy a fresh one: in the Developer Portal open your app, go to Bot, click Reset Token and copy the token it shows."
Why: Part of the token was missed when copying, or the token was reset in the Developer Portal since it was copied.
Fix: On the Bot page click **Reset Token**, copy the whole token in one go and paste it into PopMCP.
"That is the Application ID, not the bot token." or "That is the app's Public Key, not the bot token."
Why: A value from General Information was copied instead of the token.
Fix: Open **Bot**, click **Reset Token** and copy the token it shows. The token has two dots in it.
"That is a user account's token, not a bot's."
Why: The value came from a Discord user account rather than a bot. Discord does not allow automating user accounts.
Fix: Create an application in the Developer Portal and use its bot's token.
"Your bot is not in any server yet. Add it to your server first."
Why: The bot was never added to a server, or was removed from all of them.
Fix: Open the link PopMCP shows (or the Install Link on the Installation page), pick your server, click Authorize, then connect again.
Messages come back with empty text
Why: Message Content Intent is off for the bot, so Discord hides the text of messages that do not mention it.
Fix: On the Bot page switch on **Message Content Intent**, click **Save Changes**, and read the channel again.
"The bot is missing a permission for this"
Why: The bot's role lacks the permission the action needs, the channel's own permissions block it, or the member or role being changed ranks above the bot's role.
Fix: In Discord open Server Settings, Roles, choose the bot's role and switch the permission on (or edit the channel's permissions). For roles and moderation, drag the bot's role above the roles it should manage.
"Your bot is not in this server any more"
Why: Someone removed the bot from the server, or the server was deleted.
Fix: Add the bot again with its install link, then reconnect Discord in PopMCP.
"channel ... is not in the server"
Why: The channel belongs to a different server. Each connection only reaches the one server it was made for.
Fix: Connect that server too (choose it in the server list when you connect) and ask the AI to use that connection.