SuperAPI AI Directory

discord-mcp

Interact with Discord and automate tasks.

Open website

About this tool

Purpose: discord-mcp is a Model Context Protocol (MCP) server for Discord, based on JDA (Java Discord API), used to integrate Discord bots into MCP-compatible applications (such as Claude, ChatGPT, etc.), enabling AI assistants to interact with Discord, implement channel management, message sending and receiving, server information retrieval, etc., and is suitable for building Discord automation and AI-driven workflows.

Main capabilities (available tools):

  • Server and users: get_server_info (retrieve detailed server information), get_user_id_by_name (get a user ID by username for @ mentions).
  • Direct messages: send_private_message, edit_private_message, delete_private_message, read_private_messages (read DM history, including attachment metadata, supporting count 1-100 and optional cursors before, after, around).
  • Channel messages: send_message, edit_message, delete_message, read_messages (read message history, including attachment metadata, supporting count 1-100 and optional cursors), add_reaction, remove_reaction (add/remove emoji reactions).
  • Channel management: create_text_channel, edit_text_channel (name, topic, nsfw, slowmode, category, position), delete_channel, find_channel, list_channels, get_channel_info, move_channel (move to another category or adjust position).
  • Categories: create_category, edit_category (rename or move position), delete_category, find_category, list_channels_in_category.
  • Webhook: create_webhook, delete_webhook, list_webhooks, send_webhook_message.
  • Roles: list_roles, create_role, edit_role, delete_role, assign_role, remove_role.
  • Member management: kick_member, ban_member, unban_member, timeout_member, remove_timeout, set_nickname, get_bans.
  • Voice and stage: create_voice_channel, create_stage_channel, edit_voice_channel (name, bitrate, user limit, region), move_member, disconnect_member, modify_voice_state (server mute or deafen).
  • Scheduled events: create_guild_scheduled_event (voice, stage, or external), edit_guild_scheduled_event, delete_guild_scheduled_event, list_guild_scheduled_events, get_guild_scheduled_event_users.
  • Channel permission overwrites: list_channel_permission_overwrites, upsert_role_channel_permissions, upsert_member_channel_permissions, delete_channel_permission_overwrite.
  • Invites: create_invite, list_invites, delete_invite (revoke), get_invite_details (works for any public invite).
  • Forum channels: create_forum_channel, edit_forum_channel, list_forum_channels, get_forum_channel_info, list_forum_tags, create_forum_post, list_forum_posts, modify_forum_post (lock/unlock, archive/unarchive, pin/unpin, change tags).
  • Custom emojis: list_emojis, get_emoji_details, create_emoji (base64 or image URL, max 256KB), edit_emoji, delete_emoji.

Usage:

  • Installation: Docker installation is recommended (Docker must be installed; full instructions at docker.com); you can also use Maven to run the JAR as a long-running service (Maven must be installed to use the mvn command). Instructions for creating a Discord bot and obtaining its token can be found at the link provided by the project.
  • Environment variables: DISCORD_GUILD_ID is optional; when provided, it sets the default Discord server ID so that all tools accepting a guildId parameter can omit it. Logging does not require manually setting LOGGING_PATTERN_CONSOLE; both http and legacy stdio modes configure logging automatically.
  • Endpoint: the default MCP endpoint URL (HTTP profile) is http://localhost:8085/mcp;健康端点(Actuator)为 http://localhost:8085/actuator/health。
  • Client configuration: Supports pasting the configuration into OpenClaw ~/.openclaw/config.json; Cursor can be added via Settings -> Cursor Settings -> MCP -> Add new global MCP server, and it is recommended to paste it into ~/.cursor/mcp.json, or you can create .cursor/mcp.json in the project folder to install it for a specific project; in n8n, add an MCP Client node, select HTTP or Streamable HTTP transport, and set the server URL to http://localhost:8085/mcp,保存并测试连接,之后即可在工作流中使用 For the Discord tools exposed by discord-mcp, if n8n runs in Docker, localhost may point to the n8n container rather than the host machine, so you need to use the Docker service name or another reachable host instead, for example http://discord-mcp:8085/mcp;Claude Desktop supports STDIO local configuration (paste the configuration into claude_desktop_config.json) as well as Remote MCP Connector (Settings -> Connectors, add a custom connector and set the MCP URL to the server endpoint, such as https://<PUBLIC_HOST>/mcp, then save and reconnect).
  • Connection mode: HTTP singleton mode is recommended; legacy mode is stdio, which starts a new process/container for each client session.

Use cases: building Discord automation and AI-driven workflows, such as an AI assistant managing server channels and categories, sending, receiving, and editing messages, managing roles and members, creating invites, managing forum channels and emojis, scheduling and managing timed events, etc.

Limitations and notes: Claude Desktop's remote connector is managed through the Connectors UI (not claude_desktop_config.json);http://localhost:8085/mcp It can only be accessed from the local machine, and when used for the Claude Desktop remote connector, the endpoint must be exposed via public HTTPS (for example, a tunnel/reverse proxy). For Docker and Maven installation requirements and instructions on creating a Discord bot and obtaining a token, refer to the corresponding external links. If DISCORD_GUILD_ID is set, the guildId parameter in the above tools becomes optional. For more detailed examples, see the project Wiki.