better-discord-mcp (Sys0xdbg/better-discord-mcp) is an MCP server listed on the M8ven Trust Index. It scores 74 out of 100, grade C. It declares 128 tools. No publisher has claimed this listing.

C
Emerging
74/100

better-discord-mcp

Lets AI clients read and control Discord through a BetterDiscord plugin, enabling channel reading, messaging, and moderation actions.

Emerging. No concerning findings. Grades remain capped until the project builds reputation through adoption. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verifiedโšก Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

โšก Connect GitHub โ†’ continuous verification on every pushwhy connect โ†’

Who stands behind it

Sys0xdbg

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access โ†’

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
โœ…
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
// tools this server exposes128 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

discord_status

Check whether the BetterDiscord plugin bridge is connected.

discord_get_context

Get the currently selected guild, channel, and the logged-in user.

discord_get_guilds

List all guilds (servers) the user is in.

discord_get_channels

List channels in a guild.

discord_get_messages

Read messages from a channel. Use before/after/around (message IDs) to page through history beyond the latest 100.

discord_send_message

Send a message to a channel.

discord_edit_message

Edit one of your own messages.

discord_search_messages

Search messages in a guild (set guildId) or a DM/channel (set channelId).

discord_add_reaction

Add a reaction. Use a unicode emoji (e.g. ๐Ÿ‘) or custom as name:id.

discord_remove_reaction

Remove your reaction from a message.

discord_trigger_typing

Show the typing indicator in a channel.

discord_open_dm

Open (or fetch) a DM channel with a user; returns the channelId.

discord_get_dms

List your open DM and group-DM channels.

discord_get_roles

List a guild's roles.

discord_add_role

Add a role to a member (requires Manage Roles).

discord_remove_role

Remove a role from a member (requires Manage Roles).

discord_delete_message

Delete a message in a channel.

discord_purge_messages

Bulk-delete recent messages in a channel (optionally only from one user). Only affects messages newer than 14 days; requires Manage Messages.

discord_get_user

Get info about a user by ID (optionally as a guild member).

discord_ban_user

Ban a user from a guild (requires your account to have Ban Members).

discord_kick_user

Kick a user from a guild (requires Kick Members).

discord_timeout_user

Time out (mute) a guild member for a duration in seconds. Pass 0 to remove the timeout.

discord_create_channel

Create a channel or category in a guild. type: 0=text, 2=voice, 4=category, 5=announcement, 13=stage, 15=forum. Put a channel under a category with parentId.

discord_edit_channel

Edit a channel/category (name, topic, parent/category, position, slowmode, nsfw, voice bitrate/limit).

discord_delete_channel

Delete a channel or category (deleting a category does NOT delete its channels).

discord_create_role

Create a role. permissions is a permission bitfield as a string.

discord_edit_role

Edit a role's name/permissions/color/hoist/mentionable.

discord_delete_role

Delete a role from a guild.

discord_pin_message

Pin a message.

discord_unpin_message

Unpin a message.

discord_get_pinned

List pinned messages in a channel.

discord_create_thread

Create a thread. Pass messageId to thread off a message, otherwise a standalone thread in the channel.

discord_edit_thread

Archive/unarchive, lock/unlock, or rename a thread.

discord_create_invite

Create an invite link for a channel.

discord_get_invites

List a guild's invites.

discord_delete_invite

Revoke an invite by code.

discord_search_members

Search guild members by username/nickname prefix.

discord_set_nickname

Set a member's nickname (omit userId to set your own). Pass empty/no nickname to clear.

discord_move_member_voice

Move a member to another voice channel (they must already be connected). Omit channelId to disconnect.

discord_list_emojis

List a guild's custom emojis.

discord_create_emoji

Create a custom emoji. imageDataUri must be a data URI (data:image/png;base64,...).

discord_delete_emoji

Delete a custom emoji.

discord_list_webhooks

List a channel's webhooks.

discord_create_webhook

Create a webhook on a channel.

discord_delete_webhook

Delete a webhook.

discord_get_guild_info

Get details about a guild.

discord_edit_guild

Edit guild name/description/icon (iconDataUri is a data URI).

discord_leave_guild

Leave a guild.

discord_request

Advanced: call ANY Discord REST endpoint directly (covers every feature not wrapped by a named tool). path is relative, e.g. /guilds/{id}/templates.

discord_get_message

Fetch a single message.

discord_get_reactions

List users who reacted with an emoji.

discord_list_bans

List a guild's bans.

discord_get_ban

Get a single ban entry.

discord_get_audit_log

Read the guild audit log.

discord_list_active_threads

List active threads in a guild.

discord_list_archived_threads

List archived threads in a channel.

discord_list_stickers

List a guild's stickers.

discord_list_scheduled_events

List a guild's scheduled events.

discord_list_automod_rules

List a guild's AutoMod rules.

discord_reply_message

Reply to a message (set ping:false to not ping the author).

discord_send_embed

Send a message with rich embeds (Discord embed objects).

discord_crosspost_message

Publish (crosspost) a message from an announcement channel.

discord_remove_all_reactions

Remove all reactions (or all of one emoji) from a message.

discord_remove_user_reaction

Remove a specific user's reaction.

discord_create_poll

Create a poll message.

discord_end_poll

End a poll early.

discord_set_channel_permission

Set a permission overwrite. type 0=role, 1=member. allow/deny are bitfield strings.

discord_delete_channel_permission

Remove a permission overwrite.

discord_reorder_channels

Reorder channels. positions: array of {id, position, parent_id?}.

discord_follow_announcement

Follow an announcement channel into a target channel.

discord_create_forum_post

Create a forum post (thread + starter message).

discord_set_voice_status

Set a voice channel's status text (empty to clear).

discord_unban_user

Unban a user.

discord_get_prune_count

Count members who would be pruned for inactivity.

discord_prune_members

Prune (kick) inactive members.

discord_set_voice_state

Server mute/deafen a member (mute/deaf booleans).

discord_reorder_roles

Reorder roles. positions: array of {id, position}.

discord_thread_join

Join a thread.

discord_thread_leave

Leave a thread.

discord_thread_add_member

Add a member to a thread.

discord_thread_remove_member

Remove a member from a thread.

discord_delete_sticker

Delete a guild sticker.

discord_create_scheduled_event

Create a scheduled event. entityType: 1=stage,2=voice,3=external. Times are ISO8601.

discord_edit_scheduled_event

Edit a scheduled event. fields = raw Discord event fields.

discord_delete_scheduled_event

Delete a scheduled event.

discord_create_automod_rule

Create an AutoMod rule. rule = raw Discord AutoMod rule object.

discord_delete_automod_rule

Delete an AutoMod rule.

discord_list_integrations

List guild integrations.

discord_delete_integration

Delete a guild integration.

discord_get_vanity_url

Get the guild's vanity invite.

discord_get_welcome_screen

Get the guild welcome screen.

discord_edit_welcome_screen

Edit the welcome screen. fields = raw Discord welcome-screen fields.

discord_list_relationships

List friends/blocked (relationships).

discord_add_friend

Send a friend request (by userId, or username+discriminator).

discord_remove_relationship

Remove a friend / cancel request / unblock.

discord_block_user

Block a user.

discord_get_note

Get your private note on a user.

discord_set_note

Set your private note on a user.

discord_set_status

Set your status (online/idle/dnd/invisible) and/or custom status text.

discord_edit_webhook

Edit a webhook's name/channel.

28 further tools are not listed here. The complete surface is in the source.

// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configDISCORD_MCP_PORT(default 6473) โ€” must match this.port in the plugin.
configDISCORD_MCP_REQUIRE_CONFIRM(default true) โ€” gate destructive tools.
configDISCORD_MCP_TIMEOUT(default 15000 ms) โ€” per-request timeout.
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

128/128 tools missing one or more hints โ€” discord_status (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); discord_get_context (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); discord_get_guilds (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +125 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handlerโ€™s actual behaviour.

License file

No license file

Add a LICENSE file (MIT, Apache-2.0, etc.).

Tests exist

No test files found

Add tests that exercise each declared tool.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance โ€” verified publishers only
We have 4 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Score](https://m8ven.ai/badge/mcp/sys0xdbg/better-discord-mcp)](https://m8ven.ai/mcp/sys0xdbg/better-discord-mcp)
Shows your grade and updates automatically. Prefer no grade? Append ?variant=verified to the badge URL.
commit: 9e97334b01fd32774f08f1801b1ba10ee4850558
code hash: 91636ef0540447cce9b0f2f64ef80ff4fa7eba9c35a7626c5f43659db66a13a8
view raw JSON โ†’
Check MCPs from inside your assistant
Tool Check ยท MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives โ€” before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it โ†’Free ยท no account needed ยท works in any MCP client