Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Description from the maker (original English)
Run your Discord server from Claude, Cursor or VS Code: messages, moderation, roles, forums, events
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_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 …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"discord": {
"command": "npx",
"args": [
"-y",
"@pasympa/discord-mcp"
],
"env": {
"DISCORD_TOKEN": "your-value"
}
}
}
}Run this in your terminal
claude mcp add discord --env DISCORD_TOKEN=your-value -- npx -y @pasympa/discord-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"discord": {
"command": "npx",
"args": [
"-y",
"@pasympa/discord-mcp"
],
"env": {
"DISCORD_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.
Paste into .vscode/mcp.json in your project
{
"servers": {
"discord": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@pasympa/discord-mcp"
],
"env": {
"DISCORD_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 9, 2026
The registry name was verified with the GitHub account PaSympa, 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 (2.3.0) reached the registry yesterday.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js, Docker 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:↓ Downloads per weeki★ 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.
discord-mcp connects Claude, Cursor, VS Code and any other MCP client to your Discord server through your own bot. Ask in plain language: your assistant reads channels, answers, moderates, and manages roles, channels, forums and events, with 100 tools behind it.
Calls made live with Claude Code on a demo server; the panel summarizes their results. The Discord window shows real captures, except that the spot of each new message or post stays blank until it appears.
| You want to | Ask your assistant |
|---|---|
| Catch up on a busy channel | "Summarize what's going on in #support and post a recap in #mod-log." |
| Turn feedback into a tracker | "Open a bug-tracker forum and file the two open bugs from the recap." |
| Stop a spam raid safely | "A spam raid just hit #general. Preview the cleanup, then remove it." |
| Run community events | "Schedule a community call next Friday at 8 PM and announce it in #announcements." |
| Audit permissions | "Show me every permission overwrite in the server." |
| Welcome people | "Create an invite to #welcome that expires in 24 hours." |
| Automate notifications | "Create a webhook on #deploys and post the release notes as an embed." |
YOUR_CLIENT_ID with the Application ID from General Information, then open the link: https://discord.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&scope=bot&permissions=2270827458424055
It requests the permissions the tools use. Remove the ones you do not need in the authorization screen.
{
"mcpServers": { "discord": { "command": "npx", "args": ["-y", "@pasympa/discord-mcp"], "env": { "DISCORD_TOKEN": "YOUR_BOT_TOKEN" } } } }
npx downloads and runs the server (Node.js 22 or later); nothing else to install. Per-client instructions are under Clients.
The full set of 100 tools costs about 32k tokens of context when a client loads them all. Most assistants need a fraction of it: set DISCORD_MCP_TOOLSETS to the toolsets you want.
| Profile | DISCORD_MCP_TOOLSETS | Tools | Context |
|---|---|---|---|
| Everything (default) | unset | 100 | ~32k tokens |
| Chat assistant | discovery,messages | 25 | ~9k tokens |
| Community manager | discovery,messages,forums,scheduled_events | 42 | ~15k tokens |
| Moderator | discovery,members,moderation,roles,permissions | 31 | ~9k tokens |
| Read-only monitor | discovery,stats,moderation | 6 | ~2k tokens |
"env": {
"DISCORD_TOKEN": "YOUR_BOT_TOKEN", "DISCORD_MCP_TOOLSETS": "discovery,messages" }
Context sizes are measured on the tools/list response (bytes divided by 4). Toolsets: discovery, messages, channels, permissions, members (includes kick, ban and timeout), roles, moderation (the audit log), screening, stats, forums, webhooks, scheduled_events, invites, dm. A toolset brings its whole module, destructive tools included; an unknown name stops the server at startup instead of exposing everything.
discord_bulk_delete_messages, discord_bulk_ban, discord_prune_members and discord_delete_channel run as a dry run by default and report what would happen. Pass dry_run: false to apply.DISCORD_ALLOWED_GUILDS restricts every call to the guilds you list, whether the target is addressed by guild, channel, thread, webhook or invite.readOnlyHint, and every write tool declares destructiveHint, so clients can approve reads automatically and ask before destructive calls.Claude Desktop
Add the config from Quick start to claude_desktop_config.json, then restart Claude Desktop.
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonClaude Code
claude mcp add discord -e DISCORD_TOKEN=YOUR_BOT_TOKEN -- npx -y @pasympa/discord-mcp
Cursor
Use the Install in Cursor button, then replace YOUR_BOT_TOKEN. Or add the config from Quick start to ~/.cursor/mcp.json. See the Cursor MCP docs.
VS Code / GitHub Copilot
Use the Install in VS Code button: VS Code asks for the token and stores it as a secret. Or add this to .vscode/mcp.json:
{
"inputs": [ { "type": "promptString", "id": "discord_token", "description": "Discord bot token", "password": true } ], "servers": { "discord": { "command": "npx", "args": ["-y", "@pasympa/discord-mcp"], "env": { "DISCORD_TOKEN": "${input:discord_token}" } } } }
See the VS Code MCP docs.
Windsurf
Add the config from Quick start to ~/.codeium/windsurf/mcp_config.json, then refresh the MCP servers list.
Codex CLI
codex mcp add discord --env DISCORD_TOKEN=YOUR_BOT_TOKEN -- npx -y @pasympa/discord-mcp
Cline
Open MCP Servers, then Configure, and add the config from Quick start to cline_mcp_settings.json.
Docker
{
"mcpServers": { "discord": { "command": "docker", "args": ["run", "--rm", "-i", "-e", "DISCORD_TOKEN", "pasympa/discord-mcp:latest"], "env": { "DISCORD_TOKEN": "YOUR_BOT_TOKEN" } } } }
From source
git clone https://github.com/PaSympa/discord-mcp
cd discord-mcp npm install && npm run build
{
"mcpServers": { "discord": { "command": "node", "args": ["/absolute/path/to/discord-mcp/dist/index.js"], "env": { "DISCORD_TOKEN": "YOUR_BOT_TOKEN" } } } }
You can also put DISCORD_TOKEN=YOUR_BOT_TOKEN in a .env file at the project root; the server loads it on start.
| Variable | Default | Description |
|---|---|---|
DISCORD_TOKEN | none | Required. Bot token. |
DISCORD_MCP_TOOLSETS | all | Comma-separated toolsets to expose (see Expose only what you need). Unset, empty or all exposes every tool. |
DISCORD_ALLOWED_GUILDS | all | Comma-separated guild IDs the server may act on. Calls that target any other guild are rejected, whether addressed by guild ID, channel ID, thread ID, webhook or invite code. |
DISCORD_MESSAGE_CONTENT | true | Set to false to stop requesting the Message Content privileged intent at connect time. |
DISCORD_GUILD_MEMBERS | true | Set to false to stop requesting the Server Members privileged intent at connect time. |
The intent flags only change what the bot requests when it connects. Requesting a privileged intent that is not enabled in the Developer Portal closes the connection with code 4014; set the flag to false to connect anyway. What the tools can read is governed by the portal toggles: every message is fetched over the REST API, which Discord gates on the portal setting alone. With Message Content off in the portal, message bodies come back empty (content, embeds, attachments), except the bot
Only the beginning is shown; read the rest in the repo