---
title: "Minecraft Discord bot commands | MC-Sync"
description: "All MC-Sync slash commands with syntax, examples and required permissions."
url: https://mc-sync.eu/en/commands/
language: en
---

# Minecraft Discord bot commands | MC-Sync

## Server status — Check, display and track server status

## /status — Shows the status of a Minecraft server

-   Discord servers only

### Syntax

-   `/status`
-   `/status ip: <address>`
-   `/status ip: <address> edition: <Java|Bedrock>`

### Examples

-   `/status`
-   `/status ip: hypixel.net`
-   `/status ip: play.example.eu edition: Bedrock`

### Notes

-   Without an address, the server from /default-ip set is used. If none is set, the bot tells you so.
-   You only need edition if Java and Bedrock run on the same address. Otherwise the bot detects it automatically.
-   Only you can see the reply.

## /status-user — Like /status, and remembers the servers you checked

-   Works in DMs too

### Syntax

-   `/status-user`
-   `/status-user server: <address>`
-   `/status-user server: <address> edition: <Java|Bedrock>`

### Examples

-   `/status-user`
-   `/status-user server: hypixel.net`

### Notes

-   Only available once you add the bot to your own Discord account (user install). Then it works in any chat, including DMs and servers without the bot.
-   Without server, it shows the server you checked last.
-   The servers you checked recently are suggested as you type.
-   /help doesn't list it, since it isn't part of the server install.

## /embed — Live message in a channel, updated every 5 minutes

-   Administrators only
-   Discord servers only

### Syntax

-   `/embed add type: <Status|Whitelist|Diagram|Player stats|Connection|Server performance> [server:] [ip:] [channel:] [language:] [edition:]`
-   `/embed list`
-   `/embed remove embed: <choice>`

### Examples

-   `/embed add type: Status server: Survival`
-   `/embed add type: Diagram ip: play.example.eu channel: #server-info language: English`
-   `/embed add type: Connection server: Survival`
-   `/embed add type: Server performance server: Survival`
-   `/embed list`
-   `/embed remove embed: #server-info — status — play.example.eu`

### Notes

-   Status: reachability, MOTD, version and player count. Whitelist: whitelisted players (requires the plugin). Diagram: player count over time. Player stats: stats from the linked chat sync. Connection: chat sync state, including when it was last seen. Server performance: TPS, tick duration and memory as measured by the plugin.
-   server picks a server registered with /server and fills in address, edition and chat sync. For unregistered servers, use ip.
-   Connection and Server performance only work with a server from /server that has a connection. Server performance also needs MC-Sync 2.1.0 or newer with performance.report switched on.
-   Without channel, the embed is posted in the current channel. The bot needs permission to send and edit messages there.
-   language only applies to this embed. Defaults to your language from /language.
-   /embed remove only stops the updates. The message stays and has to be deleted manually if you want it gone.

[Full guide](https://mc-sync.eu/en/guides/displays/)

## /diagram — Player count chart

-   Works in DMs too

### Syntax

-   `/diagram`
-   `/diagram ip: <address> [edition:]`
-   `/diagram ip: <address> timerange: <24 Hours|7 Days|30 Days>`

### Examples

-   `/diagram ip: hypixel.net`
-   `/diagram ip: hypixel.net timerange: 7 Days`
-   `/diagram timerange: 30 Days`

### Notes

-   Time range: 24 hours, 7 days or 30 days. Default is 24 hours.
-   The chart shows what has been recorded for that address. The first lookup of a new server starts the recording, so there's no history yet.
-   The dashboard shows the same history under “Statistics”, plus the peak and uptime percentage.
-   Without ip, the server from /default-ip is used. That only works on a Discord server.

## /image — Server list entry, MOTD or icon as an image

-   Works in DMs too

### Syntax

-   `/image ip: <address> [type: <Server list entry|MOTD only|Icon only>]`

### Examples

-   `/image ip: hypixel.net`
-   `/image ip: hypixel.net type: MOTD only`
-   `/image ip: play.example.eu type: Icon only`

### Notes

-   Without type you get the whole server list entry: icon, name, player count and MOTD, as it looks in Minecraft.
-   The MOTD is rendered like in game, including colour codes and formatting.
-   The server has to be online. /image always needs an address. The default from /default-ip doesn't apply here.

## Minecraft integration — Connect Discord to your Minecraft server

## /setup — Step-by-step setup

-   Administrators only
-   Discord servers only

### Syntax

-   `/setup`

### Examples

-   `/setup`

### Notes

-   First pick what you want to set up: chat sync, a live embed, a whitelist channel, a status voice channel, the ping role and log channels for notices, the default server address, or an overview of your current setup.
-   For chat sync you get a command with a code for the server console. As long as the server has never reported in, there's also a button “Show token (manual)” below it.
-   Each step is one question with a select menu. No channel IDs needed, and the order is up to you.
-   The overview shows what is set up on this Discord server. Handy for checking whether something was saved.
-   You can also change the same settings in the dashboard at mc-sync.eu/dashboard.

[Full guide](https://mc-sync.eu/en/guides/)

## /server — Your Minecraft servers: address, connection and chat in one place

-   Requires “Manage Server”
-   Discord servers only

### Syntax

-   `/server add name: <name> [address:] [edition:] [channel:] [method:]`
-   `/server list`
-   `/server show server: <choice>`
-   `/server settings server: <choice> [name:] [address:] [edition:] [clear:]`
-   `/server chat server: <choice> [channel:] [active:] [death-messages:] [join-leave-messages:] [chat-messages:] [advancements:] [language:] [require-link:]`
-   `/server connect server: <choice> channel: <#channel> [method: code|token]`
-   `/server token server: <choice> [method: code|token]`
-   `/server event-images server: <choice> [event:] [design:] [accent:] [background:] [description:] [coordinates:] [player:]`
-   `/server discord-command server: <choice> [enabled:] [invite-url:] [text:] [clear:]`
-   `/server disconnect server: <choice>`
-   `/server guide`
-   `/server remove server: <choice>`

### Examples

-   `/server add name: Survival address: play.example.eu channel: #minecraft`
-   `/server connect server: Survival channel: #minecraft`
-   `/server chat server: Survival death-messages: False advancements: True`
-   `/server settings server: Survival clear: Address`
-   `/server chat server: Survival require-link: True`
-   `/server event-images server: Survival event: death design: toast`
-   `/server discord-command server: Survival enabled: True`
-   `/server list`

### Notes

-   add with channel connects the plugin right away. connect does the same for a server that's already on the list. Both first ask you to accept the terms of service, then show the command /mcsync connect with a code, visible only to you. With method: token you get the token instead.
-   Run the command in the console of your Minecraft server. The code is valid for 15 minutes and only once, and the plugin then writes the token into its config itself. Otherwise put the token under api.token. Treat it like a password.
-   token issues new access, again by code or with method: token. With a code, the old token keeps working until the code is redeemed. A new token stops the old one immediately. In the dashboard you can also renew it with a grace period.
-   chat without any switches shows the current chat settings. What the bot posts by itself, like server start, stop or outages, is set with /notices.
-   address and channel are optional. Without an address the server can't be pinged from outside. Without a connection, the server works without the plugin and shows whatever a ping returns.
-   clear removes the address or the edition without deleting the server. disconnect only removes the connection, remove deletes the server together with its connection.
-   In /embed, /whitelist-channel and /notices you pick a registered server instead of typing the address.
-   require-link: True in chat only lets players with a linked account onto the server. Everyone else is turned away at login and gets a code for /link code.
-   event-images posts deaths and advancements as an image instead of a line, with design: toast, card, scene or minimal per event. Without event it shows the settings with two buttons for a preview with your skin.
-   discord-command sets what players get with /discord in game. Without invite-url the bot creates an invite for the chat channel itself, which needs “Create Invite” there.

[Full guide](https://mc-sync.eu/en/guides/servers/)

## /chat-sync — Moved to /server, only shows where things are now

-   Administrators only
-   Discord servers only

### Syntax

-   `/chat-sync add`
-   `/chat-sync list`
-   `/chat-sync settings`
-   `/chat-sync remove`
-   `/chat-sync token`
-   `/chat-sync guide`

### Examples

-   `/chat-sync settings`

### Notes

-   Servers and their connections are now managed in one place, under /server. The subcommands here no longer change anything, they only tell you what replaced them.
-   add → /server add with channel, or /server connect · list → /server list · settings → /server chat · token → /server token · remove → /server disconnect or /server remove · guide → /server guide

[Full guide](https://mc-sync.eu/en/guides/chat-sync/)

## /server-command — Run Minecraft commands from Discord

-   Can be granted per role
-   Discord servers only

### Syntax

-   `/server-command run command: <command> [server:]`
-   `/server-command permission add role: <@role> commands: <list|*>`
-   `/server-command permission remove role: <@role>`
-   `/server-command permission list`

### Examples

-   `/server-command run command: whitelist add Notch`
-   `/server-command run command: say Restarting in 5 minutes`
-   `/server-command permission add role: @Moderator commands: whitelist,say,kick`
-   `/server-command permission list`

### Notes

-   The command is visible to everyone because Discord can only set permissions per command, not per subcommand. Use permission to control who can do what.
-   run checks two things: whether your role is allowed to run the command (Discord) and whether your server allows it (commands.mode in config.yml).
-   Enter commands without the slash: whitelist add Notch instead of /whitelist add Notch.
-   Only administrators can use permission add, remove and list.
-   Without server, the connection of the current channel is used, otherwise the only one on the Discord server. If there are several, the bot lists them so you can pick one with server.
-   Every run, including rejected attempts, is logged in the command log channel, which you set with /notices channel purpose: commands.

[Full guide](https://mc-sync.eu/en/guides/commands-from-discord/)

## /top — Shows the top 10 players of a server by playtime, sessions, kills or deaths

-   Discord servers only

### Syntax

-   `/top`
-   `/top kategorie: <playtime|sessions|kills|mobkills|deaths>`
-   `/top kategorie: <…> server: <server> zeitraum: <7d|30d|all>`

### Examples

-   `/top`
-   `/top kategorie: playtime zeitraum: 30d`
-   `/top kategorie: deaths zeitraum: all`

### Notes

-   kategorie: playtime, sessions, kills (player kills), mobkills or deaths. Without it, playtime is used.
-   zeitraum: 7d, 30d or all, default 7d. Playtime and sessions per period come from the sessions MC-Sync records since the plugin update.
-   Kills, mob kills and deaths only exist as all-time totals from the server's statistics files. With 7d or 30d the bot shows the total and says so.
-   Without server, the server of the current channel is used, otherwise the only one on the Discord server. Everyone in the channel sees the reply.

## /player — A player on your Minecraft server: playtime, deaths, kills and linked account

-   Discord servers only

### Syntax

-   `/player name: <name>`
-   `/player name: <name> server: <server>`

### Examples

-   `/player name: Notch`
-   `/player name: Notch server: Survival`

### Notes

-   Shows head and figure, whether the player is online or when they were last seen, playtime, deaths, kills, their first visit and, if they're linked, their Discord account on this Discord server.
-   Below are the buttons Statistics and Advancements, from the player file and also for players who aren't online. Inventory and Ender chest need the dashboard permission “View inventories”: live while the player is online, otherwise the saved state. Only you see these.
-   Without server, the server of the current channel is used, otherwise the only one on the Discord server. Everyone in the channel sees the reply.

## /whitelist-channel — Channel where players post their name to get whitelisted

-   Administrators only
-   Discord servers only

### Syntax

-   `/whitelist-channel add channel: <#channel> [server:] [mode:] [applications:] [role:] [role2:] [role3:]`
-   `/whitelist-channel remove channel: <choice>`
-   `/whitelist-channel list`

### Examples

-   `/whitelist-channel add channel: #whitelist`
-   `/whitelist-channel add channel: #whitelist mode: Only verify the name, do not whitelist role: @Member`
-   `/whitelist-channel add channel: #apply applications: True`
-   `/whitelist-channel list`

### Notes

-   Every name is checked with Mojang first. For an invalid name the bot replies briefly and adds nothing.
-   mode sets what happens with valid names: add them to the whitelist through the plugin (default) or only verify them if you'd rather whitelist manually.
-   applications: True puts an Apply button in the channel instead of taking bare names. Players fill in a form, and a moderator approves or denies each application.
-   server sets which registered server (/server add) the channel is for. Leave it empty if you only have one.
-   Without role, anyone in the channel can submit a name. You can limit this to up to three roles.
-   Writing -Name in the channel takes that name off the whitelist again. That works for whoever added it and for server managers. If a member leaves the Discord server, the names they added are removed too.

[Full guide](https://mc-sync.eu/en/guides/whitelist/)

## /voice-channel — Voice channel that shows the server status in its name

-   Administrators only
-   Discord servers only

### Syntax

-   `/voice-channel add type: <Status|Players|Version> ip: <address> [edition:]`
-   `/voice-channel list`
-   `/voice-channel remove channel: <choice>`

### Examples

-   `/voice-channel add type: Status ip: play.example.eu`
-   `/voice-channel add type: Players ip: play.example.eu`
-   `/voice-channel remove channel: Players: 12/60`

### Notes

-   The bot needs the “Manage Channels” permission. The channel is display-only, nobody can join it.
-   Discord limits how often channels can be renamed, so the name only updates about every 25 minutes.
-   For faster updates, use /embed.

[Full guide](https://mc-sync.eu/en/guides/displays/)

## /default-ip — Default server for /status without an address

-   Administrators only
-   Discord servers only

### Syntax

-   `/default-ip set ip: <address> [edition:]`
-   `/default-ip show`
-   `/default-ip remove`

### Examples

-   `/default-ip set ip: play.example.eu`
-   `/default-ip set ip: play.example.eu edition: Bedrock`
-   `/default-ip show`

### Notes

-   Applies to the whole Discord server, not per user.
-   Used by /status and /diagram when no address is given.
-   You can also set it in the dashboard under “Servers”, where you can pick the address straight from your server list.

## /emoji-pack — This server's emojis as a Minecraft resource pack

-   Discord servers only

### Syntax

-   `/emoji-pack [version:]`

### Examples

-   `/emoji-pack`
-   `/emoji-pack version: 1.20.4`
-   `/emoji-pack version: 1.8.9`

### Notes

-   Works with every version from 1.6.1 on. Pick the version you play on and the pack uses the matching format.
-   For messages from Discord to show the emojis as images, turn on “Emojis as images” in the dashboard: open the server, then “Connection & chat” → “Chat format”.
-   Animated emojis move from Minecraft 1.21.9 on and are still images before that. Players without the pack still see :name: from Minecraft 1.19.4 on. The pack is built fresh on every use and not stored.

## /link — Links your Discord account to your Minecraft account

-   Discord servers only

### Syntax

-   `/link start`
-   `/link code code: <code>`
-   `/link show`
-   `/link remove`

### Examples

-   `/link start`
-   `/link code code: H7K2QW`
-   `/link show`

### Notes

-   start gives you a code. Type !link <code> in the Minecraft chat to finish linking.
-   code redeems the code the Minecraft server shows at login when only linked accounts may play there. After that you can join right away.
-   The code is valid for 10 minutes and is never relayed to Discord, not even on a failed attempt.
-   Required for /role-sync, for /profile without a name and for real @mentions from the game chat.
-   Links are per Discord server. You need to link separately on each one.

[Full guide](https://mc-sync.eu/en/guides/account-link/)

## /role-sync — Runs a Minecraft command when someone gets or loses a Discord role

-   Administrators only
-   Discord servers only

### Syntax

-   `/role-sync add role: <@role> [on-grant:] [on-revoke:]`
-   `/role-sync list`
-   `/role-sync remove role: <@role>`

### Examples

-   `/role-sync add role: @VIP on-grant: lp user {player} parent add vip on-revoke: lp user {player} parent remove vip`
-   `/role-sync list`

### Notes

-   {player} is replaced with the member's Minecraft name.
-   Requirements: the rule here, the member's /link, and matching commands.mode/commands.allow on the Minecraft server.
-   Works with any permissions plugin, since it runs whatever command you enter.

[Full guide](https://mc-sync.eu/en/guides/role-sync/)

## /notices — What the bot posts about your Minecraft servers, where, and who gets pinged

-   Requires “Manage Server”
-   Discord servers only

### Syntax

-   `/notices show [server:]`
-   `/notices set notice: <notice> [enabled:] [ping:] [threshold:] [server:] [reset:]`
-   `/notices channel purpose: <events|notices|reports|console|commands> [channel:] [server:]`
-   `/notices ping-role [role:]`

### Examples

-   `/notices show`
-   `/notices set notice: server-stop enabled: False`
-   `/notices set notice: tps enabled: True threshold: 18 server: Survival`
-   `/notices channel purpose: commands channel: #server-log`
-   `/notices ping-role role: @Staff`

### Notes

-   Without server, a setting is the default for all servers. With server, it only applies to that one, and whatever a server doesn't set itself it inherits from the default. reset: True removes a server's own setting again.
-   The notices: server-start, server-stop, connection (lost and restored), tps, delivery (undelivered messages), console, rank-role-blocked, token-leaked and weekly-recap. token-leaked can't be turned off.
-   Out of the box everything is on except tps. Once switched on, tps warns when the server stays below the threshold (default 15) for more than five minutes.
-   A lost connection is only reported after 20 minutes without contact. By default it pings the role from ping-role, and so does a rank role the bot can't assign. delivery and console never ping.
-   channel sets where each kind of message goes: events (joins, deaths, advancements), notices, reports (like the weekly recap), console and commands (every /server-command run, including rejected ones). Without a channel, events, notices and reports go to the server's chat channel, and console and commands aren't posted at all.
-   The chat itself, and which events show up in it, is set with /server chat. show lists what currently applies and marks what is set at that level.

[Full guide](https://mc-sync.eu/en/guides/notices/)

## /alerts — Moved to /notices, only shows where things are now

-   Requires “Manage Server”
-   Discord servers only

### Syntax

-   `/alerts role`
-   `/alerts audit-channel`
-   `/alerts console-channel`
-   `/alerts notifications`
-   `/alerts show`

### Examples

-   `/alerts show`

### Notes

-   Everything from /alerts is now under /notices, together with the notice switches that used to be in the chat settings. The subcommands here no longer change anything, they only tell you what replaced them.
-   role → /notices ping-role · audit-channel → /notices channel purpose: commands · console-channel → /notices channel purpose: console · notifications → /notices set · show → /notices show

[Full guide](https://mc-sync.eu/en/guides/notices/)

## Tools — Handy lookups

## /mc-ask — Ask the bot a question about Minecraft

-   Works in DMs too

### Syntax

-   `/mc-ask question: <question>`

### Examples

-   `/mc-ask question: How do I breed villagers?`
-   `/mc-ask question: Which blocks conduct redstone?`

### Notes

-   Each person has a budget for questions that resets every day. Below each answer the bot shows how much is left.
-   Questions can be up to 300 characters long, or 600 after voting with /vote. A vote also tops up your budget.
-   If the bot asks you something back, the possible answers appear as buttons below the message.
-   Answers can be wrong. For version-specific details, check the wiki.

## /minecraft-info — Summary of a topic from the Minecraft wiki

-   Works in DMs too

### Syntax

-   `/minecraft-info info-to: <topic>`

### Examples

-   `/minecraft-info info-to: Java Edition 1.21.4`
-   `/minecraft-info info-to: Redstone`

### Notes

-   Data comes from a copy of the Minecraft wiki that is updated weekly. Matching topics are suggested as you type.

## /mc — Look up loot, trades, structures, potions and mobs

-   Works in DMs too

### Syntax

-   `/mc loot source: <loot table>`
-   `/mc drops item: <item>`
-   `/mc trades profession: <profession>`
-   `/mc structure name: <structure>`
-   `/mc potion name: <potion>`
-   `/mc mob name: <mob>`

### Examples

-   `/mc loot source: chests/village/village_armorer`
-   `/mc drops item: ender_pearl`
-   `/mc trades profession: librarian`
-   `/mc structure name: igloo/top`
-   `/mc potion name: strong_swiftness`
-   `/mc mob name: creeper`

### Notes

-   Every field suggests matching entries as you type. Pick one from the list, since the IDs are hard to type correctly.
-   loot shows what a mob, block or chest drops, with the chance of each entry. drops works the other way round: which loot tables drop an item.
-   trades lists what a villager profession offers per level. structure shows size, main materials and a picture, potion the effects and brewing steps, mob health, attack damage, XP, hitbox and where it spawns.
-   The data comes from mc-api, which reads it from the Minecraft game files. Long tables are shortened, and the reply says how many lines are shown.
-   The reply is visible to everyone in the channel.

## /skin — Shows a player's skin

-   Works in DMs too

### Syntax

-   `/skin username: <name>`
-   `/skin username: <name> type: <render>`

### Examples

-   `/skin username: Notch`
-   `/skin username: Notch type: isometric`

### Notes

-   type sets the render: full (default), isometric, bust, face, head, body, avatar or skin, plus the poses mc-api offers. All of them are suggested as you type.
-   Only works with Java names. Bedrock accounts have no Mojang skin.

## /profile — Everything mc-api knows about a Minecraft account

-   Discord servers only

### Syntax

-   `/profile`
-   `/profile user: <@member>`
-   `/profile player: <name|UUID>`

### Examples

-   `/profile`
-   `/profile user: @Steve`
-   `/profile player: Notch`

### Notes

-   Without options it shows your own account, linked with /link start. user shows the linked account of another member of this Discord server, player any Java name or UUID, no link needed.
-   You get the UUID, a 3D render, the name history, capes and how rare they are.
-   The name history is what mc-api has observed itself since the account was first looked up. Mojang stopped publishing name histories in 2022, so a single name doesn't mean the player was never renamed.
-   Bedrock accounts have no Mojang profile, so there's nothing to show for them.
-   The reply is visible to everyone in the channel.

## /enchant — Cheapest order for combining enchantments on an anvil

-   Works in DMs too

### Syntax

-   `/enchant item: <item> enchantments: <list>`

### Examples

-   `/enchant item: Diamond Sword enchantments: Sharpness 5, Unbreaking 3, Mending`

### Notes

-   Both fields autocomplete, even partway through a list.
-   You get the order step by step, with level and XP cost for each anvil step.
-   Steps at 40 levels or more are flagged, since that's Minecraft's anvil limit.

## Bot & support — Invite, vote, news

## /vote — Vote for the bot on top.gg

-   Works in DMs too

### Syntax

-   `/vote`

### Examples

-   `/vote`

### Notes

-   You can vote for free every 12 hours.
-   A vote tops up your daily /mc-ask budget and allows longer questions there.

## /vote-reminder — Reminds you when you can vote again

-   Works in DMs too

### Syntax

-   `/vote-reminder`

### Examples

-   `/vote-reminder`

### Notes

-   Turns the reminder on or off. It comes by DM as soon as you can vote again, so the bot has to be able to message you.

## /invite — Shows the bot's invite link

-   Works in DMs too

### Syntax

-   `/invite`

### Examples

-   `/invite`

## /news-channel — Forward bot announcements to one of your channels

-   Administrators only
-   Discord servers only

### Syntax

-   `/news-channel channel: <#channel>`

### Examples

-   `/news-channel channel: #updates`

### Notes

-   New bot announcements are posted to the chosen channel automatically. The bot needs the “Manage Webhooks” permission there.
-   Only announcements are forwarded, no server data.

## General — General bot commands

## /help — All commands in Discord, sorted by group

-   Works in DMs too

### Syntax

-   `/help`

### Examples

-   `/help`

### Notes

-   Use the menu below the message to switch groups. They're the same groups as on this page.
-   Commands that only come with the user install, like /status-user, aren't listed there.

## /language — Sets the language the bot replies to you in

-   Works in DMs too

### Syntax

-   `/language`

### Examples

-   `/language`

### Notes

-   The setting only affects you and applies on every server.
-   Embeds and chat sync each have their own language setting.

## /ping — Shows the bot's latency

-   Works in DMs too

### Syntax

-   `/ping`

### Examples

-   `/ping`

### Notes

-   Shows the latency between the bot and Discord. To check whether your Minecraft server is up, use /status.
