Skip to content

Client compatibility

The dependable compatibility contract is capability-based, not a hard-coded client version matrix. Client releases change independently, so verify the features you need in the current client rather than relying on an old “yes/no” table.

A client can use discord-mcp’s core surface when it can:

  1. start a local process as an MCP server;
  2. communicate with it over stdio;
  3. pass DISCORD_TOKEN and other environment variables; and
  4. list and call MCP tools.

That contract is enough for the 192 Discord tools. Resources, subscriptions, and sampling are optional extensions with narrower use cases.

discord-mcp featureClient capabilityBehavior when absent
Discord tool catalogtoolsCore functionality is unavailable.
Components V2 schema/template catalogresources list/readUse the tool reference and builder tools instead.
Live Gateway notificationsresource subscriptionsThe client cannot receive push updates; REST tools still work.
Intelligence toolssamplingThe tool returns a host-processing fallback payload rather than a completed LLM analysis.
Confirmation gatenone beyond toolsThe __confirm contract is a tool argument; discord-mcp does not use MCP elicitation.
Terminal window
discord-mcp init --client claude-desktop

Merge the generated entry into Claude Desktop’s mcpServers object and fully restart the app.

If you did not install the CLI globally, the scoped one-off command is npx --yes @discord-mcp/cli@latest. Do not substitute an unscoped package name.

For every client and release:

  1. Run discord-mcp doctor --online in a terminal with DISCORD_TOKEN set.
  2. Restart the client and confirm users_get_current succeeds.
  3. Confirm channels_list can discover a test channel.
  4. If you need intelligence, run its smallest example and inspect whether the response is a completed result or a host-processing fallback.
  5. If you need Gateway events, verify one real subscription update after starting with --gateway; do not infer support from the initialization capability alone.
  • MCP_CATEGORIES limits which tool categories are registered.
  • MCP_DRY_RUN affects only tools that declare the confirmation precondition.
  • OTEL_ENABLED changes server-side observability, not the client capability contract.

Continue with Client setup, the sampling architecture, or Gateway architecture.