Discord

by barryyip0625

7 stars
Not rated
GitHub

About

Integrates with Discord to enable channel management, forum post creation, message sending, and reaction handling through secure authentication and permissions

Details

Author
barryyip0625
Repository
barryyip0625/mcp-discord
GitHub stars
7
License
MIT License
Categories
Communication, Other, Automation, Community, Design, Developer Tools, AI, Infrastructure
Tags
#integration

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Discord
    Command (node, npx, python, etc.) node
    Arguments
    • Argument 1 path/to/mcp-discord/build/index.js
    Environment
    • DISCORD_TOKEN your_discord_bot_token

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

A Discord bot token is required for proper operation. The server supports two transport methods: stdio and streamable HTTP.

- Administrator (Recommended for quick setup and full functionality)

You can use it with the following command:

npx mcp-discord --config ${DISCORD_TOKEN}

For more details, you can check out the NPM Package.

To install mcp-discord automatically via Smithery

You can run mcp-discord using Docker. The Docker images are automatically built and published to Docker Hub.

Docker Hub Repository: barryy625/mcp-discord

Docker uses the streamable HTTP server by default via build/app.js.


bash

npm install

You can provide configuration in two ways:

1. Environment variables:

DISCORD_TOKEN=your_discord_bot_token

2. Using command line arguments:
```bash

discord_login

Login to Discord using the configured token.

discord_list_servers

List all Discord servers the bot is a member of.

discord_send

Send a message to a specified channel.

discord_get_server_info

Get Discord server information.

discord_create_text_channel

Create a text channel.

discord_create_forum_channel

Create a forum channel.

discord_create_voice_channel

Create a voice channel.

discord_edit_channel

Edit a channel name, topic, parent category, or position.

discord_delete_channel

Delete a channel.

discord_create_category

Create a channel category.

discord_edit_category

Edit a channel category.

discord_delete_category

Delete a channel category.

discord_set_channel_permissions

Set permission overrides for a role or user on a channel/category.

discord_remove_channel_permissions

Remove permission overrides from a channel/category.

discord_get_forum_channels

Get a list of forum channels.

discord_create_forum_post

Create a forum post.

discord_get_forum_post

Get a forum post.

discord_list_forum_threads

List active and archived threads in a forum channel.

discord_reply_to_forum

Reply to a forum post.

discord_get_forum_tags

Get all available tags for a forum channel.

discord_set_forum_tags

Replace the available tags for a forum channel.

discord_update_forum_post

Update a forum post's title, tags, archived state, or locked state.

discord_delete_forum_post

Delete a forum post.

discord_search_messages

Search messages in a server.

discord_read_messages

Read channel messages (supports `before`, `after`, `around` params — accepts snowflake IDs or ISO 8601 dates).

discord_edit_message

Edit a bot-authored message.

discord_add_reaction

Add a reaction to a message.

discord_add_multiple_reactions

Add multiple reactions to a message.

discord_remove_reaction

Remove a reaction from a message.

discord_delete_message

Delete a specific message from a channel.

discord_create_webhook

Creates a new webhook for a Discord channel.

discord_send_webhook_message

Sends a message to a Discord channel using a webhook.

discord_edit_webhook

Edits an existing webhook for a Discord channel.

discord_delete_webhook

Deletes an existing webhook for a Discord channel.

discord_list_roles

List all roles in a server.

discord_create_role

Create a role with color, hoist, mentionable, and permission options.

discord_edit_role

Edit an existing role.

discord_delete_role

Delete a role.

discord_assign_role

Assign a role to a member.

discord_remove_role

Remove a role from a member.

discord_list_members

List members in a server with roles.

discord_get_member

Get detailed information about a specific member.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "discord": {
            "env": {
                "DISCORD_TOKEN": "your_discord_bot_token"
            },
            "args": [
                "path/to/mcp-discord/build/index.js"
            ],
            "command": "node"
        }
    }
}

Linux

{
    "env": {
        "DISCORD_TOKEN": "your_discord_bot_token"
    },
    "args": [
        "path/to/mcp-discord/build/index.js"
    ],
    "command": "node"
}

Macos

{
    "env": {
        "DISCORD_TOKEN": "your_discord_bot_token"
    },
    "args": [
        "path/to/mcp-discord/build/index.js"
    ],
    "command": "node"
}

Windows

{
    "env": {
        "DISCORD_TOKEN": "your_discord_bot_token"
    },
    "args": [
        "path/to/mcp-discord/build/index.js"
    ],
    "command": "node"
}

A Discord MCP (Model Context Protocol) server that enables AI assistants to interact with the Discord platform.

MCP-Discord provides the following Discord-related functionalities:

- Login to Discord bot
- List servers the bot is a member of
- Get server information
- List members and inspect member details
- List, create, edit, delete, assign, and remove roles
- Search messages in a server
- Read, edit, and delete channel messages
- Send messages to specified channels
- Retrieve forum channel lists
- Create, update, delete, and reply to forum posts
- List forum threads and manage forum tags
- Create, edit, and delete text, forum, voice channels, and categories
- Set and remove channel permission overrides
- Add/remove message reactions
- Create/edit/delete/use webhooks

- Prerequisites
-
Installation
-
Configuration
-
Tools Documentation

- Basic Functions
-
Channel Management
-
Forum Functions
-
Messages and Reactions
-
Webhook Management
-
Role Management
-
Member Management

A Discord bot with appropriate permissions

- Bot token (obtainable from theDiscord Developer Portal)
- Message Content Intent enabled
- Server Members Intent enabled
- Presence Intent enabled

Permissions required in your Discord server:

- Administrator (Recommended for quick setup and full functionality)

Or, select only the required permissions:

- Send Messages
- Create Public Threads
- Send Messages in Threads
- Manage Messages
- Manage Threads
- Manage Channels
- Manage Webhooks
- Manage Roles
- Add Reactions
- View Channel

- To add your Discord bot to your server, use one of the following invite links (replaceINSERT_CLIENT_ID_HEREwith your bot's client ID):

- Administrator (full access):https://discord.com/oauth2/authorize?client_id=INSERT_CLIENT_ID_HERE&scope=bot&permissions=8
- Custom permissions (minimum required):
https://discord.com/oauth2/authorize?client_id=INSERT_CLIENT_ID_HERE&scope=bot&permissions=52076489808

Note:
According to Discord's security model, a bot can only access information from servers it has been explicitly added to.
If you want to use this MCP server to access a specific Discord server, you must add the bot to that server first.
Use the invite link below to add the bot to your target server.

You can use it with the following command:

npx mcp-discord --config ${DISCORD_TOKEN}

For more details, you can check out theNPM Package.

To install mcp-discord automatically viaSmithery

You can run mcp-discord using Docker. The Docker images are automatically built and published to Docker Hub.

Docker Hub Repository:barryy625/mcp-discord

Docker uses the streamable HTTP server by default viabuild/app.js.

# Pull the latest image docker pull barryy625/mcp-discord:latest # Run HTTP server on port 8080 docker run -e DISCORD_TOKEN=your_discord_bot_token -p 8080:8080 barryy625/mcp-discord:latest # Override the listening port if needed docker run -e DISCORD_TOKEN=your_discord_bot_token -p 3000:3000 barryy625/mcp-discord:latest --transport http --port 3000

- latest- Latest stable version from main branch
- v1.3.8, etc. - Specific version releases

# Clone the repository git clone https://github.com/barryyip0625/mcp-discord.git cd mcp-discord # Install dependencies npm install # Compile TypeScript npm run build

A Discord bot token is required for proper operation. The server supports two transport methods: stdio and streamable HTTP.

- Traditional stdio transport for basic usage
- Suitable for simple integrations

- HTTP-based transport for more advanced scenarios
- Supports stateless operation
- Configurable port number

You can provide configuration in two ways:

# For stdio transport (default) node build/index.js --config "your_discord_bot_token" # For streamable HTTP transport node build/app.js --transport http --port 3000 --config "your_discord_bot_token"

1. Use Stdio Transport with Claude/Cursor

Usebuild/index.jswhen your MCP client expects a command-based stdio server.

{ "mcpServers": { "discord": { "command": "node", "args": [ "path/to/mcp-discord/build/index.js" ], "env": { "DISCORD_TOKEN": "your_discord_bot_token" } } } }
{ "mcpServers": { "discord": { "command": "node", "args": [ "path/to/mcp-discord/build/index.js" ], "env": { "DISCORD_TOKEN": "your_discord_bot_token" } } } }

This is the recommended setup for local command-based MCP clients.

Usebuild/app.jswhen you want to run mcp-discord as an HTTP MCP server.

DISCORD_TOKEN=your_discord_bot_token node build/app.js --transport http --port 3000
$env:DISCORD_TOKEN="your_discord_bot_token" node build/app.js --transport http --port 3000
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 3000:3000 barryy625/mcp-discord:latest --transport http --port 3000

If you already host mcp-discord elsewhere, point your MCP client at the server's/mcpendpoint instead of launchingbuild/app.jsas a command.

- build/app.jsstarts an HTTP server. It does not speak stdio.
- build/index.jsis the correct entrypoint for command-based stdio MCP clients.
- For hosted HTTP usage, configure your MCP client to connect to the HTTP endpoint URL provided by your deployment.
- The exact HTTP-client configuration format depends on the MCP client you use.

- discord_login: Login to Discord using the configured token
- discord_list_servers: List all Discord servers the bot is a member of
- discord_send: Send a message to a specified channel
- discord_get_server_info: Get Discord server information

- discord_create_text_channel: Create a text channel
- discord_create_forum_channel: Create a forum channel
- discord_create_voice_channel: Create a voice channel
- discord_edit_channel: Edit a channel name, topic, parent category, or position
- discord_delete_channel: Delete a channel
- discord_create_category: Create a channel category
- discord_edit_category: Edit a channel category
- discord_delete_category: Delete a channel category
- discord_set_channel_permissions: Set permission overrides for a role or user on a channel/category
- discord_remove_channel_permissions: Remove permission overrides from a channel/category

- discord_get_forum_channels: Get a list of forum channels
- discord_create_forum_post: Create a forum post
- discord_get_forum_post: Get a forum post
- discord_list_forum_threads: List active and archived threads in a forum channel
- discord_reply_to_forum: Reply to a forum post
- discord_get_forum_tags: Get all available tags for a forum channel
- discord_set_forum_tags: Replace the available tags for a forum channel
- discord_update_forum_post: Update a forum post's title, tags, archived state, or locked state
- discord_delete_forum_post: Delete a forum post

- discord_search_messages: Search messages in a server
- discord_read_messages: Read channel messages (supportsbefore,after,aroundparams — accepts snowflake IDs or ISO 8601 dates like"2025-03-01T00:00:00Z")
- discord_edit_message: Edit a bot-authored message
- discord_add_reaction: Add a reaction to a message
- discord_add_multiple_reactions: Add multiple reactions to a message
- discord_remove_reaction: Remove a reaction from a message
- discord_delete_message: Delete a specific message from a channel

- discord_create_webhook: Creates a new webhook for a Discord channel
- discord_send_webhook_message: Sends a message to a Discord channel using a webhook
- discord_edit_webhook: Edits an existing webhook for a Discord channel
- discord_delete_webhook: Deletes an existing webhook for a Discord channel

- discord_list_roles: List all roles in a server
- discord_create_role: Create a role with color, hoist, mentionable, and permission options
- discord_edit_role: Edit an existing role
- discord_delete_role: Delete a role
- discord_assign_role: Assign a role to a member
- discord_remove_role: Remove a role from a member

- discord_list_members: List members in a server with roles
- discord_get_member: Get detailed information about a specific member

Enables AI assistants to send notifications and request user input through Discord.

Allows AI assistants to ask questions to humans via Discord.

A Discord relay server to send messages and prompts to a channel and receive responses.

A lightweight notification service that sends webhooks for completed MCP tasks to providers like Discord, Slack, and Teams.

Interact with any other SaaS applications on behalf of your customers.

1001SMS MCP Server helps developers give AI agents access to temporary phone numbers for account registrations, OTP verifications, SMS code receiving, and automated signup workflows. Easy integration for MCP-compatible tools and custom agents.

An MCP server client for the Agent-to-Agent (A2A) protocol, enabling LLMs to interact with A2A agents.

A bridge server connecting Model Context Protocol (MCP) with Agent-to-Agent (A2A) protocol.

A bridge server connecting Model Context Protocol (MCP) with Agent-to-Agent (A2A) protocol.

Production-grade multi-agent communication MCP server with 58 tools over MCP+SSE — real-time messaging, task scheduling, shared memory, and a trust-based evolution engine. SQLite WAL persistence, 4-level RBAC, zero-dependency Python/TypeScript SDKs.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.