Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Description from the maker (original English)
Safety-first MCP server for Discord with privacy-safe reads, audits, and reviewed administration
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_BOT_TOKENValues 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 …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
claude mcp add discord --env DISCORD_BOT_TOKEN=your-value -- npx -y guildctl serve --configFill in the empty values before running it.
This one needs values on its command line, so copy the settings and fill them in.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"discord": {
"command": "npx",
"args": [
"-y",
"guildctl",
"serve",
"--config"
],
"env": {
"DISCORD_BOT_TOKEN": "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 needs values on its command line, so copy the settings and fill them in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"discord": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"guildctl",
"serve",
"--config"
],
"env": {
"DISCORD_BOT_TOKEN": "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.
These 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 against the domain guildcontrol.lasers.app (the registry checks domain ownership)
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_BOT_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 (2.3.7) reached the registry today.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js, Docker, MCPB 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.
GuildControl MCP is a local stdio Model Context Protocol server for safe Discord guild and separately allowlisted one-to-one access through an operator-owned bot. It combines broad typed coverage with exact scope, privacy-minimized results, reviewed writes, content-free evidence, and explicit ambiguity handling.
Least privilege. Review before mutation. Verifiable outcomes. No Discord-content persistence.
Documentation portal | Verified product tour | Get a verified read | Safety and usability decisions | Switch from another MCP | Fit and boundaries | Field comparison | Complete reference | Privacy | Security
GuildControl is an independent project and is not affiliated with or endorsed by Discord Inc. Discord is used only to identify the platform that GuildControl connects to.
| Concern | Enforced behavior |
|---|---|
| Discord reach | One strict non-secret policy file with verified application and bot identities, explicit guild and channel scope, a separate exact-user private-message scope, risk-separated toolsets, and read-only setup presets |
| Exact targeting | Canonical Discord jump links and official typed mentions convert locally into exact IDs without name lookup, Discord contact, input echo, persistence, or downstream authority |
| Read safety | Bounded requests, safe transient GET retries, lossless whole-result byte budgets, strict response validation, privacy-tiered projections, untrusted-content handling, caller-retained catch-up, exact attachment reads without local-file persistence, no private-channel discovery, and only explicit verified parent-thread inheritance |
| Write safety | Exact-ID requests, execute-first keyed planning, signed interactive approval, a final fresh-plan match, and action-specific Discord permission proof |
| Outcome integrity | Pending content-free evidence, non-retried writes, exact readback, durable coordination, ambiguity quarantine, and bounded local invalid-request pressure |
| Privacy | Tokens stay in a caller-owned secret source; Discord content, profiles, URLs, audit reasons, and raw operation keys are not persisted |
| Plan review | Complete evidence, MCP App display, and local authority-free blueprint preview |
| Release integrity | Exact dependency and base-image pins, credential-free contract fingerprints, reproducible npm and MCPB artifacts, hardened OCI checks, embedded and external SPDX evidence, signed-release automation, and source-bound public documentation |
Use the first verified read guide for setup and recovery. Read product boundaries and host compatibility before adopting the custody, privacy, approval, and recovery model. The complete reference covers every policy, tool, permission, resource, prompt, command, and workflow limit.
The fastest supported outcome is an owner-managed read-only bot, one strict non-secret policy, one private host guide, and a successful channel inventory. You need Node.js 22.15 or newer, Manage Server authority in a Discord server you control, and a local stdio MCP host. GuildControl provides no shared bot, relay, or token store.
Create an application and bot in the Discord Developer Portal, enable Developer Mode in Discord, and copy the Application ID and target Server ID. Then run:
npx guildctl
npx guildctl starts interactive onboarding: host selection, minimum server-observer policy creation or exact revalidation, live bot and MCP verification, and a private activation guide. It fails closed on drift and never stores the token, reads message content, enables writes, discovers host paths, or edits host configuration.
The result explains credential handoff; a one-time prompt is cleared after smoke. See the first verified read guide for custody and recovery.
Optional guildctl host detect checks path metadata only. onboard --detect-host selects one candidate; ambiguity requires a choice. Detection reads no candidate content or credential.
For unattended setup, supply every public decision and an existing secret reference:
npx --yes guildctl@2.3.7 onboard \
--host codex \ --application-id YOUR_APPLICATION_ID \ --guild-id YOUR_GUILD_ID \ --config /absolute/private/guildcontrol.json \ --confirm-installed YOUR_GUILD_ID \ --token-env DISCORD_BOT_TOKEN \ --json
JSON mode never prompts or opens a browser. The first verified read guide covers supported hosts, default paths, alternate credential custody, the manual route, and recovery.
Do not grant the bot Administrator. Generate the exact initial permission grant from a read-only preset, then narrow the installed bot role with category or channel overrides. The bot setup guide explains bot ownership, optional intents, and later feature-specific permissions.
Inspect an exact release and its read-only preset without a token or Discord request:
npx --yes guildctl@2.3.7 catalog --check
npx --yes guildctl@2.3.7 catalog --html ./guildcontrol-contract.html npx --yes guildctl@2.3.7 preset show server-observer
catalog --check verifies the credential-free, execution-disabled production contract, including complete per-tool setup and readiness metadata. catalog --html FILE renders it as a release-exact guided, searchable offline explorer with no external asset, runtime request, credential, or configured completion ID.
Generate a complete release-exact outcome map before creating policy or changing the old deployment:
npx --yes guildctl@2.3.7 migrate list
npx --yes guildctl@2.3.7 migrate plan cappyeo@0.31.1 --html ./guildcontrol-migration.html
The migration guide covers every scored peer release. Planning scans no checkout, reads no configuration, host setting, environment value, or credential, contacts no network or Discord endpoint, and changes nothing. It maps every audited source tool into supported, review-required, or intentionally excluded outcomes and validates target routes against the negotiated production catalog. It does not rewrite prompts, arguments, configuration, credentials, or host settings.
Create a Discord application and bot in the Developer Portal, copy the public Application ID and target Server ID, and generate a callback-free install link whose guild and least-privilege permission grant come from the recommended preset:
npx --yes guildctl@2.3.7 preset install server-observer \
--application-id YOUR_APPLICATION_ID \ --guild-id YOUR_GUILD_ID \ --html ./guildcontrol-onboarding.html
Open the printed URL while signed in as a member allowed to manage that server. It requests only View Channel for server-observer, locks the server selector to the supplied ID, requests no user token, and never sends the bot token to the connector command. Keep Public Bot disabled unless other people should be able to install your application. Use channel-reader instead to request View Channel plus Read Message History; its plan also identifies Message Content as the recommended Developer Portal intent.
Optional --html FILE adds a deterministic standalone checklist, copy controls, explicit Discord navigation, pinned follow-up commands, and exact plan evidence without a token, external asset, background request, persisted browser state, automatic browser launch, or overwrite. The terminal plan remains complete without HTML.
From a canonical process-owned private directory, keep the token in a secret-capable launching environment, verify one exact guild, save the complete non-secret policy in one file, and test the full MCP path:
export DISCORD_BOT_TOKEN
printf 'Discord bot token: ' read -r -s DISCORD_BOT_TOKEN printf '\n' npx --yes guildctl@2.3.7 setup \ --npx \ --config ./guildcontrol.json \ --preset server-observer \ --guild-id YOUR_GUILD_ID npx --yes guildctl@2.3.7 host --npx --config ./guildcontrol.json --html ./guildcontrol-host-activation.html
On PowerShell 7.1 or newer, read the token into the current process without displaying it or placing its value in command history, then run the same commands:
$env:DISCORD_BOT_TOKEN = Read-Host "Discord bot token" -MaskInput
Enter each displayed multi-line shell command on one line in PowerShell; the npx arguments remain the same. With older Windows PowerShell, use an MCP host secret facility or protected token file instead of a token literal in command history.
If the launcher, container runtime, or orchestrator mounts the token as a file, select that input instead. The path must be absolute, the file must already exist for verified setup, and --token-file cannot be combined with --token-env or an ambient DISCORD_BOT_TOKEN:
npx --yes guildctl@2.3.7 setup \
--npx \ --config ./guildcontrol.json \ --preset server-observer \ --guild-id YOUR_GUILD_ID \ --token-file /run/secrets/discord_bot_token
The server-observer preset exposes guild metadata, roles, permission diagnostics, connector health, content-free activity, and tool discovery without enabling writes, the Gateway, telemetry, persistence, or Message Content access. Setup is the first-run readiness gate: it validates the strict policy, verifies the application and bot, audits the exact guild installation, stores public IDs and a credential reference but never the token, and prints the launch descriptor. A ready setup exits successfully even when it reports non-blocking warnings for deliberate review. route_discord_goal safely routes later discovery, reads, and reviewed planning, never mutation; it creates bookkeeping keys itself instead of asking the operator to invent them.
The versioned file is the only policy boundary. It covers identity, explicit read modes, typed reusable exact-ID groups, notification and thread behavior, tools, capabilities, scopes, limits, storage, Gateway, runtime, and observability. A typical deployment has one JSON policy and one external bot-token secret. The JSON Schema, config show, and config explain support secret-free inspection; managed profiles use the same document.
Operational commands require --config FILE, --profile NAME, or the non-secret GUILDCONTROL_CONFIG_FILE selector. Ambient policy variables are rejected and there is no alternate environment-policy or automatic import mode. The offline migrate planner never becomes a runtime policy source. Running setup without a preset verifies an existing policy without rewriting it, while a preset explicitly creates or replaces the selected target.
After setup reports ready, compatible MCPB hosts can import guildcontrol-2.3.7.mcpb from the immutable GitHub Release or MCP Registry. Select the strict config and enter only the token through the sensitive prompt. The verified bundle supports macOS, Windows, and Linux, duplicates no policy field, embeds privacy and dependency evidence, and completes a real unpacked MCP handshake.
Only the beginning is shown; read the rest in the repo