Labsco
SaseQ logo

Discord MCP

โ˜… 384

from SaseQ

An MCP server for the Discord API, enabling seamless integration of Discord bots with MCP-compatible applications.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

๐Ÿ“– Description

A Model Context Protocol (MCP) server for the Discord API using (JDA), designed to integrate Discord bots with MCP-compatible applications such as Claude, ChatGPT etc. It allows AI assistants to interact with Discord by managing channels, sending messages, and retrieving server information. Ideal for building powerful Discord automation and AI-driven workflows.

๐Ÿ”— Connections

โ–บ ๐Ÿ—ž๏ธ Default config.json Connection

Recommended (HTTP singleton mode):

Copy & paste โ€” that's it
{
 "mcpServers": {
 "discord-mcp": {
 "url": "http://localhost:8085/mcp"
 }
 }
}

Legacy mode (stdio, starts a new process/container per client session):

Copy & paste โ€” that's it
{
 "mcpServers": {
 "discord-mcp": {
 "command": "docker",
 "args": [
 "run",
 "--rm",
 "-i",
 "-e",
 "DISCORD_TOKEN= ",
 "-e",
 "DISCORD_GUILD_ID= ",
 "saseq/discord-mcp:latest"
 ]
 }
 }
}

โŒจ๏ธ Claude Code Connection

Recommended (HTTP singleton mode):

Copy & paste โ€” that's it
claude mcp add discord-mcp --transport http http://localhost:8085/mcp

Legacy mode (stdio, starts a new process/container per client session):

Copy & paste โ€” that's it
claude mcp add discord-mcp -- docker run --rm -i -e DISCORD_TOKEN= -e DISCORD_GUILD_ID= saseq/discord-mcp:latest

๐Ÿค– Codex CLI Connection

Copy & paste โ€” that's it
codex mcp add discord-mcp --url http://localhost:8085/mcp
codex mcp list

๐Ÿฆž OpenClaw Connection

Run this command:

Copy & paste โ€” that's it
openclaw mcp set discord-mcp '{"url":"http://localhost:8085/mcp","transport":"streamable-http"}'
openclaw mcp list

OR

Pasting the following configuration into your OpenClaw ~/.openclaw/config.json file:

Copy & paste โ€” that's it
{
 "mcp": {
 "servers": {
 "discord-mcp": {
 "url": "http://localhost:8085/mcp",
 "transport": "streamable-http"
 }
 }
 }
}

๐Ÿ–ฒ Cursor Connection

Go to: Settings -> Cursor Settings -> MCP -> Add new global MCP server

Pasting the following configuration into your Cursor ~/.cursor/mcp.json file is the recommended approach. You may also install in a specific project by creating .cursor/mcp.json in your project folder. See Cursor MCP docs for more info.

Copy & paste โ€” that's it
{
 "mcpServers": {
 "discord-mcp": {
 "url": "http://localhost:8085/mcp"
 }
 }
}

๐Ÿš€ n8n Connection

Connect in n8n

  • Open n8n and add an MCP Client node.

  • Choose HTTP or Streamable HTTP transport (depending on your n8n version/node options).

  • Set the server URL to: http://localhost:8085/mcp

  • Save the node and test the connection.

  • After connecting, you can use the available Discord tools exposed by discord-mcp inside your workflow.

Notes

  • If n8n is running in Docker, localhost may point to the n8n container itself, not your host machine.

  • In that case, use the Docker service name or another reachable host, for example: http://discord-mcp:8085/mcp

๐Ÿ–ฅ Claude Desktop Connection

STDIO local config (Default, legacy):

Past the following configuration into your Claude Desktop claude_desktop_config.json file.

Copy & paste โ€” that's it
{
 "mcpServers": {
 "discord-mcp": {
 "command": "docker",
 "args": [
 "run",
 "--rm",
 "-i",
 "-e",
 "DISCORD_TOKEN= ",
 "-e",
 "DISCORD_GUILD_ID= ",
 "saseq/discord-mcp:latest"
 ]
 }
 }
}

Remote MCP Connector:

  • Open Claude Desktop and go to Settings -> Connectors.

  • Add a custom connector and set MCP URL to your server endpoint (for example https://<PUBLIC_HOST>/mcp).

  • Save and reconnect.

Claude Desktop remote connectors are managed via Connectors UI (not claude_desktop_config.json). http://localhost:8085/mcp is reachable only from your machine. For Claude Desktop remote connectors, expose the endpoint with public HTTPS (for example tunnel/reverse proxy).

๐Ÿ› ๏ธ Available Tools

Server Information

User Management

Message Management

  • send_message: Send a message to a specific channel

  • edit_message: Edit a message from a specific channel

  • delete_message: Delete a message from a specific channel

  • read_messages: Read message history from a specific channel (includes attachment metadata, supports count 1-100 and optional cursor: before or after or around)

  • add_reaction: Add a reaction (emoji) to a specific message

  • remove_reaction: Remove a specified reaction (emoji) from a message

Channel Management

Category Management

Webhook Management

Role Management

Moderation and User Management

  • kick_member: Kicks a member from the server

  • ban_member: Bans a user from the server

  • unban_member: Removes a ban from a user

  • timeout_member: Disables communication for a member for a specified duration

  • remove_timeout: Removes a timeout (unmute) from a member before it expires

  • set_nickname: Changes a member's nickname on the server

  • get_bans: Returns a list of banned users on the server with ban reasons

Voice & Stage Channel Management

Scheduled Events Management

Channel Permission Overwrites

Invite Management

  • create_invite: Create a new invite link for a specific channel

  • list_invites: List all active invites on the server with their statistics

  • delete_invite: Delete (revoke) an invite so the link stops working

  • get_invite_details: Get details about a specific invite (works for any public invite)

Forum Management

Emoji Management

  • list_emojis: List all custom emojis on the server

  • get_emoji_details: Get detailed information about a specific custom emoji

  • create_emoji: Upload a new custom emoji to the server (base64 or image URL, max 256KB)

  • edit_emoji: Edit an existing emoji's name or role restrictions

  • delete_emoji: Permanently delete a custom emoji from the server

If DISCORD_GUILD_ID is set, the guildId parameter becomes optional for all tools above.

A more detailed examples can be found in the Wiki.