DiscordMCP
Hosted Discord MCP server

Your Discord server, run by conversation.

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.

Start the setup Copy one token, click once. 5 minutes.

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.

Claude Your conversation

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.

create_channel #announcements
create_channel #sign-up
create_channel #tournament-talk
create_role Participant
set_channel_permission × 4

Category and three channels created, role added, four permission overwrites set. Eighteen seconds.

My Guild Your Discord server
What it feels like

You describe it. It exists.

No menus, no permission matrix, no eighteen-digit numbers. 2 examples from real sessions:

Y

YouMy Guild

Who still has the old moderator role even though they got the new one after the reorganisation?

C

ClaudeMCP

Went through the members, found seven people holding both, handed them back as a list of names, and changed nothing until you say so.
Y

YouMy Guild

The support channel is a mess. Rearrange it so newcomers see the rules first.

C

ClaudeMCP

Changed the channel topic and the order, put a rules channel above it, removed @everyone's permission to write in the rules.

Every one of those changes appears in your journal channel seconds later, along with everything that was refused.

The toolbox

50 tools. Not one of them means “anything else”.

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.

Only looks15
  • server_overview
  • list_channels
  • list_roles
  • find_member
  • list_members
  • read_messages
  • channel_permissions
  • read_reactions
  • list_emojis
  • list_pins
  • list_bans
  • list_threads
  • list_invites
  • list_events
  • audit_log
Changes something26
  • create_channel
  • edit_channel
  • clone_channel
  • unarchive_channel
  • set_channel_permission
  • create_role
  • edit_role
  • clone_role
  • move_role
  • give_role
  • take_role
  • send_message
  • edit_message
  • create_poll
  • add_reaction
  • remove_reaction
  • pin_message
  • unpin_message
  • unban_member
  • create_thread
  • archive_thread
  • unarchive_thread
  • create_invite
  • create_event
  • edit_event
  • archive_channel
Off until you switch it on9
  • delete_channel
  • delete_message
  • delete_role
  • kick_member
  • timeout_member
  • ban_member
  • clear_reactions
  • revoke_invite
  • cancel_event

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.

The shape of it

Your bot, not ours

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.

21 of the 53 permissions Discord can grant

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.

Security

The first rule, not the last page.

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.

Zero third-party packages

The process holding your token runs nobody else's code. No library, no overnight update, no supply chain.

The token does not stay with us

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.

One process per customer

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.

The portal is never root

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.

No standing connection

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.

The refusals are written down too

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.

The setup

One copy, one click.

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.

1

Create the application

In the Discord Developer Portal: new application, the Bot tab, Reset Token, copy. There is an illustrated guide for it here.

2

Paste the token

We ask Discord straight away and tell you which bot it is, so you are not pasting blind. Then you get your invite link.

3

Invite it, done

One click on Discord's Authorize button. We work out which server it is ourselves. You never look up an eighteen-digit id.

4

Add it in Claude or ChatGPT

You get one address. Paste it in as a custom connector, sign in once with your passphrase, and your server is there.

Start the setup Zero dependencies. The process holding your token runs nobody else's code.

Questions that are not on this page

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.