1. Install Meshagent:

    pip install "meshagent[all]"
    
  2. Sign up and authenticate with Meshagent (one-time):

  3. Start the MCP-Discord server in a Meshagent Room:

    meshagent service test \
      --room=test \
      --role=agent \
      --image=meshagent/mcp-mcp-discord:latest \
      --env MESHAGENT_PORT=8001 \
      --env DISCORD_TOKEN=YOUR_DISCORD_TOKEN \
      --port="num=8001 path=/webhook liveness=/ type=meshagent.callable" \
      --name=mcp-mcp-discord-service
    
    • This command starts the MCP-Discord server in a meshagent room named test.
    • The room auto-closes if it goes inactive.

    Required environment variables:

    Other useful settings:

    • MESHAGENT_PORT=8001: Sets the service listening port for the MCP server.
  4. Start a chatbot agent that can use the Discord MCP tools:

    meshagent chatbot join \
      --room=test \
      --agent-name=sample \
      --name=sample \
      --toolkit=mcp-mcp-discord
    
    • This launches a chatbot in the same Meshagent Room, ready to use the Discord MCP tools.

    • You may add multiple toolkits with --toolkit for a multi-tool agent.

    • After join: The CLI will output a link to the room. Use this link to open the room and interact with your templated agent and Discord tools.


Tools Available

This MCP server gives you access to 20 Discord-focused automation tools for channel management, messaging, reactions, and webhooks.

Tools Summary

Tool NameShort Description
discord_add_multiple_reactionsAdds multiple emoji reactions to a Discord message at once
discord_add_reactionAdds an emoji reaction to a specific Discord message
discord_create_forum_postCreates a new post in a Discord forum channel with optional tags
discord_create_text_channelCreates a new text channel in a Discord server with an optional topic
discord_create_webhookCreates a new webhook for a Discord channel
discord_delete_channelDeletes a Discord channel with an optional reason
discord_delete_forum_postDeletes a forum post or thread with an optional reason
discord_delete_messageDeletes a specific message from a Discord text channel
discord_delete_webhookDeletes an existing webhook for a Discord channel
discord_edit_webhookEdits an existing webhook for a Discord channel
discord_get_forum_channelsLists all forum channels in a specified Discord server (guild)
discord_get_forum_postRetrieves details about a forum post including its messages
discord_get_server_infoRetrieves detailed info about a Discord server, including channels/members
discord_loginLogs in to Discord using the configured token
discord_read_messagesRetrieves messages from a Discord text channel with a configurable limit
discord_remove_reactionRemoves a specific emoji reaction from a Discord message
discord_reply_to_forumAdds a reply to an existing forum post or thread
discord_sendSends a message to a specified Discord text channel
discord_send_webhook_messageSends a message to a Discord channel using a webhook
testA simple test tool to verify the MCP server is working

Tools Details

discord_add_multiple_reactions

Adds multiple emoji reactions to a Discord message at once

  • channelId: string
  • emojis: array
  • messageId: string

discord_add_reaction

Adds an emoji reaction to a specific Discord message

  • channelId: string
  • emoji: string
  • messageId: string

discord_create_forum_post

Creates a new post in a Discord forum channel with optional tags

  • content: string
  • forumChannelId: string
  • title: string
  • tags: array (optional)

discord_create_text_channel

Creates a new text channel in a Discord server with an optional topic

  • channelName: string
  • guildId: string
  • topic: string (optional)

discord_create_webhook

Creates a new webhook for a Discord channel

  • channelId: string
  • name: string
  • avatar: string (optional)
  • reason: string (optional)

discord_delete_channel

Deletes a Discord channel with an optional reason

  • channelId: string
  • reason: string (optional)

discord_delete_forum_post

Deletes a forum post or thread with an optional reason

  • threadId: string
  • reason: string (optional)

discord_delete_message

Deletes a specific message from a Discord text channel

  • channelId: string
  • messageId: string
  • reason: string (optional)

discord_delete_webhook

Deletes an existing webhook for a Discord channel

  • webhookId: string
  • reason: string (optional)
  • webhookToken: string (optional)

discord_edit_webhook

Edits an existing webhook for a Discord channel

  • webhookId: string
  • avatar: string (optional)
  • channelId: string (optional)
  • name: string (optional)
  • reason: string (optional)
  • webhookToken: string (optional)

discord_get_forum_channels

Lists all forum channels in a specified Discord server (guild)

  • guildId: string

discord_get_forum_post

Retrieves details about a forum post including its messages

  • threadId: string

discord_get_server_info

Retrieves detailed info about a Discord server, including channels/members

  • guildId: string

discord_login

Logs in to Discord using the configured token

  • random_string: string (optional)

discord_read_messages

Retrieves messages from a Discord text channel with a configurable limit

  • channelId: string
  • limit: number (optional)

discord_remove_reaction

Removes a specific emoji reaction from a Discord message

  • channelId: string
  • emoji: string
  • messageId: string
  • userId: string (optional)

discord_reply_to_forum

Adds a reply to an existing forum post or thread

  • message: string
  • threadId: string

discord_send

Sends a message to a specified Discord text channel

  • channelId: string
  • message: string

discord_send_webhook_message

Sends a message to a Discord channel using a webhook

  • content: string
  • webhookId: string
  • webhookToken: string
  • avatarURL: string (optional)
  • threadId: string (optional)
  • username: string (optional)

test

A simple test tool to verify the MCP server is working correctly


Meshagent Resources