1. Observe through your bot
The caller supplies one dedicated Discord bot. Server-side allowlists bind operations to the intended guild while structured reads give the AI current Discord context.
Caller-owned Discord operations
request build a professional community
plan ready · exact bot + guild
apply checkpointed · resumable
verify blueprint evidence · verifiedCaller-owned bot209 tools · 31 categoriesstdio + authenticated HTTPActivity Evidence for guild buildsPre-1.0
Your AI host owns the conversation, reasoning, and scheduling. discord-mcp owns the Discord boundary: typed operations, exact bot and guild scope, resumable execution, and live readback. It runs locally as a child process by default or as a bearer-protected Streamable HTTP endpoint. There is no hosted bot relay and no separate discord-mcp account.
1. Observe through your bot
The caller supplies one dedicated Discord bot. Server-side allowlists bind operations to the intended guild while structured reads give the AI current Discord context.
2. Propose and approve
Typed contracts constrain every call. Complete guild builds begin with a target-bound dry run and require approval of the exact bot, guild, plan, and operation summary.
3. Act, resume, and verify
Discord returns reusable structured data. Approved guild builds checkpoint every step and finish with Activity Evidence backed by an independent live readback.
The tutorial covers bot creation, CLI installation, guided setup, and client configuration. Its connection track begins with a read-only identity check. An optional final unit then walks through one complete plan, approval, apply, resume, and Activity Evidence lifecycle in a private test guild.
npm install -g @discord-mcp/clidiscord-mcp setup --profile devbot --client claude-desktopnpm install -g @discord-mcp/clidiscord-mcp setup --profile devbot --client claude-codenpm install -g @discord-mcp/clidiscord-mcp setup --profile devbot --client codexnpm install -g @discord-mcp/clidiscord-mcp setup --profile devbot --client antigravity-clinpm install -g @discord-mcp/clidiscord-mcp setup --profile devbot --client cursor-clinpm install -g @discord-mcp/clidiscord-mcp setup --profile devbot --client gemini-clinpm install -g @discord-mcp/clidiscord-mcp setup --profile devbot --client cursornpm install -g @discord-mcp/clidiscord-mcp setup --profile devbot --client deepseek-harness --output discord-mcp.cordis.ymldsh web --patch ./discord-mcp.cordis.ymlnpm install -g @discord-mcp/clidiscord-mcp setup --profile devbot --client genericRequires Node.js 22.12 or newer. You also need a Discord bot installed in a test server. Follow the setup tutorial → or go directly to the verified-outcome track →
You can validate the real MCP catalog before creating or configuring a Discord bot:
discord-mcp catalog --check# or: discord-mcp catalog --check --jsonThis check needs no Discord token, performs no Discord request or write, and does not count as Activity Evidence. It only confirms that the installed package exposes the real catalog contract. When it passes, continue with the setup tutorial → to connect a caller-owned bot and reach a verified Discord outcome.
discord-mcp cannot do more than the bot can do in Discord, so bot roles and channel
overrides are the primary access boundary. Tool annotations describe risk, but ordinary
writes can execute immediately. Only tools explicitly marked Confirmation required use
the two-part __confirm and MCP_DRY_RUN gate.
Before production use:
MCP_CATEGORIES;Searchable reference
Filter every tool by name, task, category, and risk. Leaf pages stay searchable without taking over navigation.
Source-linked contracts
Generated pages link their Edit action to the TypeScript definition and expose the full input and output JSON Schemas.
Operational controls
OpenTelemetry, retries, timeouts, circuit breaking, bulkheads, category filtering, and audit sinks are configured through explicit environment variables.
Discord-native output
Components V2, webhooks, threads, roles, moderation, scheduled events, and other Discord surfaces return reusable structured fields.
Need help? Use Troubleshooting, ask a redacted question in GitHub Discussions, or open a GitHub issue with secrets removed. Share a credential-safe result in Show and tell.
The optional discord-mcp activity --report shortcut only prints the fixed
credential-safe outcome-form URL. It never opens a browser, accesses the
network, or submits a report. Local activity remains on the operator’s machine
and records only timestamps plus predefined command or blueprint-stage, status,
outcome, transport, and signal values. It contains no Discord IDs, names,
message content, tokens, paths, or raw errors.