Skip to content
Menu

Discord tools for MCP clients

Discord tools for AI clients

Give your AI client a typed Discord toolset while keeping the bot token and server process under your control.
Local stdio server No hosted relay
ready
tool  messages_send
input { channel_id, content }
out   { message_id, jump_url }

192 tools · 28 categoriesLocal stdio transportStructured resultsPre-1.0

discord-mcp runs as a child process of your MCP client. The client discovers typed tools, sends structured arguments over local stdio, and receives machine-readable results after the server calls Discord’s API. There is no hosted relay and no separate account to create.

1. Your client chooses a tool

Tool descriptions and JSON Schemas tell the client when a tool fits and which Discord IDs it requires.

2. discord-mcp enforces the contract

Validation, category controls, resilience, telemetry, and configured safety checks run before and around the Discord request.

3. Discord returns structured data

IDs, jump URLs, counts, and timestamps can feed the next tool call without being rebuilt from conversational prose.

Install the CLI, generate a snippet for your client, and merge it into the client’s existing mcpServers object. The full quickstart begins with a read-only identity check before any message is sent.

Terminal window
npm install -g @discord-mcp/cli
discord-mcp init --client claude-desktop

Requires Node.js 22.12 or newer. You also need a Discord bot installed in a test server. Follow the verified quickstart →

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:

  • grant the bot only the server and channel permissions required by the workflow;
  • restrict enabled categories with MCP_CATEGORIES;
  • understand which mutations are confirmation-gated;
  • treat the current audit trail as an operational aid, not a blanket compliance guarantee;
  • validate the exact release in a test guild because the project is still pre-1.0.

Configure a safe baseline →

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 or open a GitHub issue with secrets removed.