Create channels, hand out roles, set permissions, read and write messages. You say what you want, your assistant does it. No console, nothing to install, and nobody else able to touch your server.
Works with Claude and with ChatGPT. One narrow way in serves both: an address, a passphrase, and only the tools you switched on. ChatGPT calls them plugins and needs its Developer Mode, which is still in beta there.
Set up an area for the summer tournament: an announcements page only I can post in, a sign-up channel, a voice channel, and a “Competitor” role that can only write in there.
Alright, three channels, one role, and only the role may see them.
Category and three channels created, role added, four permission overwrites set. Eighteen seconds.
No menus, no permission matrix, no eighteen-digit numbers. 2 examples from real sessions:
YouMy Guild
Who still has the old moderator role even though they got the new one after the reorganisation?
ClaudeMCP
YouMy Guild
The support channel is a mess. Rearrange it so newcomers see the rules first.
ClaudeMCP
Every one of those changes appears in your journal channel seconds later, along with everything that was refused.
Each one named, each one checked before it touches anything. 41 work out of the box. The 9 that cannot be undone are off until you switch them on yourself.
Five irreversible actions per ten minutes. That limit is deliberately not a setting. One you can raise from a screen gets raised the first time it says no, which is the exact moment it is working.
And one switch that is not a tool: notify everyone. Switched on, the role tools above may give a role the right to alert every member at once. Your assistant still cannot do it itself, whatever it is asked. It holds that permission only so it can pass it on, because Discord lets nobody hand out a right they do not have.
And one that changes what your assistant may do itself: announce to everyone. Switched on, an @everyone in a message from your assistant really does reach everybody. Switched off, which is how it ships, it writes the word and Discord treats it as text. Every message that wakes everybody spends one of the five irreversible actions per ten minutes.
You create the Discord application yourself. The token only reaches your server, and you can revoke it at any time without asking us. There is no shared bot sitting on every customer's server.
Point at a square and it says which permission it is.
50 tools, and not one of them needs Administrator. We do not simply put everything Discord offers into the invite link. It is exactly the 21 permissions the tools actually use, moderation included, and not one more.
The square with the red outline is Administrator. It stays dark, so Discord itself will not let your bot hand out an administrator permission, quite apart from anything in our code. And what decides whether something can happen is not the permission anyway. It is whether the tool exists, and that is what you switch on.
Your own process, subdomain, certificate and journal channel. No shared database, no shared bot, and no third-party packages on the machine.
One instance holds a token that can restructure one Discord server. We hold every customer's. That sentence is the reason for every decision here, and not one of them was added afterwards.
The process holding your token runs nobody else's code. No library, no overnight update, no supply chain.
It passes through on its way to your own instance and is erased the moment that instance reports it started. What stays is a fingerprint: enough to notice it changed, not enough to use it.
Own address, own certificate, own journal channel, own settings file. There is no shared database for one customer's server to turn up in another customer's answer.
Setting up an instance needs root. The web service strangers post to does not have it: it writes a request into a directory, and a worker nothing on the internet can reach picks it up.
Your bot opens no gateway connection to Discord. It asks when it has something to do and is quiet otherwise. No second presence on your server, and nothing listening in the background.
Every change goes into a channel on your own server, and so does every refusal. The refusal is the more useful half: an attempt that never reached Discord leaves no trace anywhere else.
Each of these is a decision with a file behind it rather than a statement of intent. We write them down so you can hold us to them.
We have put as much care into these 5 minutes as we know how, to make them as simple and as safe as both can be at the same time. Four steps, and not one of them asks you to understand anything technical.
In the Discord Developer Portal: new application, the Bot tab, Reset Token, copy. There is an illustrated guide for it here.
We ask Discord straight away and tell you which bot it is, so you are not pasting blind. Then you get your invite link.
One click on Discord's Authorize button. We work out which server it is ourselves. You never look up an eighteen-digit id.
You get one address. Paste it in as a custom connector, sign in once with your passphrase, and your server is there.
The support server is the short way round. That is where we are, that is where you get an answer, and you can see what other people have already asked.