Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Description from the maker (original English)
Safe-by-default Discord management MCP with JSON backups, restore planning, and guarded mutations.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
DISCORD_TOKEN, BACKUP_DIR, LOG_LEVEL, ENABLE_MESSAGE_CONTENT, ENABLE_GUILD_MEMBERSValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"discord-management": {
"command": "npx",
"args": [
"-y",
"discord-management-mcp"
],
"env": {
"DISCORD_TOKEN": "your-value",
"BACKUP_DIR": "your-value",
"LOG_LEVEL": "your-value",
"ENABLE_MESSAGE_CONTENT": "your-value",
"ENABLE_GUILD_MEMBERS": "your-value"
}
}
}
}Run this in your terminal
claude mcp add discord-management --env DISCORD_TOKEN=your-value --env BACKUP_DIR=your-value --env LOG_LEVEL=your-value --env ENABLE_MESSAGE_CONTENT=your-value --env ENABLE_GUILD_MEMBERS=your-value -- npx -y discord-management-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"discord-management": {
"command": "npx",
"args": [
"-y",
"discord-management-mcp"
],
"env": {
"DISCORD_TOKEN": "your-value",
"BACKUP_DIR": "your-value",
"LOG_LEVEL": "your-value",
"ENABLE_MESSAGE_CONTENT": "your-value",
"ENABLE_GUILD_MEMBERS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"discord-management": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"discord-management-mcp"
],
"env": {
"DISCORD_TOKEN": "your-value",
"BACKUP_DIR": "your-value",
"LOG_LEVEL": "your-value",
"ENABLE_MESSAGE_CONTENT": "your-value",
"ENABLE_GUILD_MEMBERS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
BACKUP_DIR envLOG_LEVEL envENABLE_MESSAGE_CONTENT envENABLE_GUILD_MEMBERS envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account TheStreamCode, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: DISCORD_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 7 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Vexa, emailmd, MCP WhatsApp Cloud
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Safe-by-default Discord management from any MCP client
Discord Management MCP is a local Model Context Protocol (MCP) server for inspecting, backing up, and managing Discord guilds. It runs over stdio, keeps the bot token and backup files on the operator's machine, and places confirmation, backup, and restore guards in front of every mutation. The server exposes 54 tools across guild inventory, moderation, roles, channels, server settings, backups, and restore planning.
It works with any MCP client that supports local stdio servers, including Claude Desktop, Claude Code, Cursor, VS Code, Codex, Windsurf, and Cline. This independently developed project is not affiliated with, endorsed by, sponsored by, or approved by Discord Inc.
New to Discord bots? The setup and first use guide walks through creating the application, inviting the bot with the right permissions, copying the server ID, registering the client, verifying the connection, and running the first safe backup and restore.
The published package runs with one command:
npx --yes discord-management-mcp
The package is published on npm as discord-management-mcp and declares MCP registry metadata for io.github.TheStreamCode/discord-management-mcp through package.json and server.json.
Every client needs the same command, arguments, and DISCORD_TOKEN environment variable. Paste the equivalent of this entry into the client's MCP configuration:
{
"mcpServers": { "discord-management": { "command": "npx", "args": ["--yes", "discord-management-mcp"], "env": { "DISCORD_TOKEN": "your_bot_token" } } } }
| Client | Registration |
|---|---|
| Claude Desktop | Add the entry above to the MCP servers configuration. |
| Claude Code | Add a local stdio server with the same command and arguments. |
| Cursor | Add the entry above to the MCP configuration. |
| VS Code | Add the same command and arguments in the client's MCP configuration. |
| Codex | Add a stdio server entry with the same command and arguments. |
| Windsurf | Add the entry above to the MCP configuration. |
| Cline | Add the server in the MCP settings panel. |
Claude Desktop, Cursor, Windsurf, and Cline accept the mcpServers JSON shape shown above. Clients that use a different configuration schema accept the same command, args, and env values. See each client's own documentation for the exact file or command.
The short version, with the full walkthrough in setup and first use:
bot plus the permissions you need. Start with View Channels, Manage Channels, Manage Roles, Manage Server, View Audit Log, and the moderation permissions you plan to use. Then drag the bot role above the roles it must edit.guildId argument, not the bot's application ID.DISCORD_TOKEN in env, or put the token in .env.local in the working directory.discord_list_guilds, then discord_backup_create for your server, and read coverage.channels.complete.Example first request:
Use discord_list_guilds, then discord_backup_create for the server I name, and report the backup ID and coverage.
Then change things only through the guarded path: create a backup, review the target objects, apply one small change, and confirm the result. Every mutation needs an audit reason:
{
"guildId": "123456789012345678", "confirm": true, "reason": "Create the approved community announcements channel" }
High-impact operations also require a guild-matched backupId unless the operator explicitly accepts allowWithoutBackup: true. The tool catalog lists the exact policy for every mutating tool.
Many Discord MCP servers stop at read-only inspection or previewing a change, and some route the bot token through a hosted service. Discord Management MCP executes changes locally, but only through a guard and recovery path:
| Capability | Typical preview-only server | Discord Management MCP |
|---|---|---|
| Read-only inspection | Yes | Yes, 23 read-only tools |
| Execute changes | No | Yes, 31 mutating and moderation tools |
| Local backup before risky changes | Rarely | JSON schema v2 snapshots with channel coverage |
| Restore | No | Plan with plan hash, apply with pre-restore backup |
| Rollback guarantee | Not offered | Best effort, reported honestly with NOT_RESTORED warnings |
| Data path | Often hosted | Local stdio only |
What that means in practice:
confirm: true and a reason. The listed high-impact tools need a same-guild backup. Emergency incident actions stay available without one.The recovery path has three steps:
discord_backup_create writes a JSON snapshot to BACKUP_DIR atomically, strips invite codes, webhook tokens, and other secrets, and records channel coverage in coverage.channels.discord_backup_diff and discord_backup_restore_plan show what would change. A plan includes a planHash and NOT_RESTORED warnings for captured sections that Discord cannot recreate.discord_backup_restore_apply can verify an expectedPlanHash, creates a pre-restore backup, then applies supported role and channel fields conservatively. Deletes remain opt-in.Discord cannot restore original IDs after delete and recreate, message or audit-log history, exact invite codes, webhook tokens, or every community and discovery setting. The server reports those limits instead of hiding them. See safety and backups for the full model.
The server registers 54 tools. See the tool catalog for every name and the guard matrix for the backup policy.
| Domain | Tools |
|---|---|
| Guild, member, and audit inventory | 17 |
| Backups and restore | 6 |
| Channels | 6 |
| Roles | 7 |
| Moderation and AutoMod | 13 |
| Server configuration | 5 |
| Total | 54 |
Read-only tools are annotated as read-only and never require confirmation. Mutating Discord tools require confirm: true plus a non-empty audit reason, and mutations run through a shared queue so they cannot interleave. discord_backup_create only writes a local snapshot and does not require confirmation.
confirm: true and a non-empty reason; the reason is passed to Discord where audit-log reasons are supported.allowWithoutBackup: true acknowledgement.discord_set_incident_actions is intentionally exempt: it is used during raids, and its changes are reversible.See safety and backups for the guard matrix, channel coverage, and restore behavior, and design and trust boundaries for the runtime model. Report vulnerabilities privately through SECURITY.md.
ENABLE_MESSAGE_CONTENT and ENABLE_GUILD_MEMBERS are opt-in and require the matching privileged intents in the Discord Developer Portal. Since 2026-06-10, Discord reviews privileged intent usage at 10,000 users rather than 100 servers, and approved apps must reapply annually. See configuration for details.
Configuration is read from the process environment first, then from .env.local in the working directory. Boolean values accept true/false, yes/no, on/off, or 1/0.
| Variable | Purpose | Default |
|---|---|---|
DISCORD_TOKEN | Discord bot token from Developer Portal > Bot > Token | Required |
BACKUP_DIR | Relative directory for local JSON backups; it must stay inside the project directory | backups |
LOG_LEVEL | Stderr log level: error, warn, info, or debug; logs are JSON lines | info |
ENABLE_MESSAGE_CONTENT | Enables message-content tools and requires the Discord Message Content intent | false |
ENABLE_GUILD_MEMBERS | Enables the Guild Members gateway intent for workflows that require it | false |
See the configuration reference for token rules, logging behavior, and privileged-intent setup.
Everything runs locally over stdio: the bot token, backup files, restore plans, and the server process itself never leave the operator's machine. Mutations are guarded by explicit confirmation and by backups that are validated for size, depth, structure, symlinks, and guild identity before planning or restore. A restore creates a pre-restore backup before its first Discord mutation and stops truthfully on operation failure. See design and trust boundaries and safety and backups for the full model, and SECURITY.md for private vulnerability reporting.
DISCORD_TOKEN is missing or invalidSet the Bot Token in the process environment or in .env.local in the working directory. A value that looks like a Discord Application Public Key is rejected with an explicit message: use the Bot Token, not the Application ID, Public Key, or OAuth2 client secret.
Message-content tools need both ENABLE_MESSAGE_CONTENT=true and the Message Content Intent enabled in the Discord Developer Portal. Without both, Discord can return empty content, embeds, and attachments fields. Restart the server after changing either side. If the app is approaching the review threshold, remember that privileged intent access is reviewed at 10,000 users and must be renewed annually.
Mutating tools require confirm: true and a non-empty reason. Hig
Only the beginning is shown; read the rest in the repo