Skip to main content
Glama

Discord MCP Server

Discord MCP Server

⚠️ SECURITY WARNING: This project handles Discord bot tokens and server access. Please read our Security Policy before using or contributing.

A comprehensive Model Context Protocol (MCP) server for Discord API integration, providing powerful Discord bot management capabilities through a standardized interface.

Features

This server provides 93 Discord tools organized into the following categories:

Category

Tools Count

Description

Message Management

18 tools

Send, edit, delete, reactions, pin, bulk operations

Channel Management

25 tools

Create/edit/delete all channel types, positions, privacy

Member & Role Management

12 tools

Add/remove roles, edit members, search, info retrieval

Voice & Audio

6 tools

Join/leave voice, play audio, volume control

Webhooks

4 tools

Create, delete, list, send webhook messages

Events & Scheduling

4 tools

Create, edit, delete, list server events

Emoji & Stickers

6 tools

Manage custom emojis and stickers

Privacy & Security

7 tools

Auto-moderation, privacy controls, bulk settings

Server Administration

6 tools

Server settings, welcome screen, widget management

Analytics & Export

5 tools

Statistics, message history, chat log export

Key Tools

  • discord_manage - Unified tool that handles all 93 operations through one interface

  • comprehensive_channel_management - Multi-operation channel orchestrator

  • bulk_set_privacy - Mass privacy control across channels/categories

  • organize_channels - Advanced channel/category positioning system

  • export_chat_log - Professional chat export in JSON/CSV/TXT formats

Quick Start

Prerequisites

  • Node.js 18+ and npm

  • Discord bot token (see setup below)

Installation

# Clone the repository git clone https://github.com/sashathelambo/discord-mcp.git cd discord-mcp # Install dependencies npm install # Build the project npm run build # Start the server npm start

Development Mode

npm run dev

Configuration

Discord Bot Setup

  1. Go to Discord Developer Portal

  2. Create a new application and bot

  3. Copy the bot token to your .env file

  4. IMPORTANT: Regenerate your token if you suspect it's been exposed

Environment Variables

Create a .env file:

# Your Discord bot token (KEEP SECRET!) DISCORD_TOKEN=your_bot_token_here # Default Discord server ID (optional) DISCORD_GUILD_ID=your_guild_id_here

Required Bot Permissions

Manage Server Manage Roles Manage Channels Manage Messages View Channels Send Messages Connect (for voice) Speak (for voice)

Usage

MCP Integration

Use with MCP-compatible clients:

# Via stdio npx discord-mcp # Via HTTP (port 3001) HTTP_PORT=3001 npx discord-mcp

Examples

Using the Master Control Tool

// All operations through one unified interface await discord_manage({ action: 'send_message', channelId: '123', message: 'Hello World!' }); await discord_manage({ action: 'create_text_channel', guildId: '456', name: 'new-channel' }); await discord_manage({ action: 'comprehensive_channel_management', guildId: '456', operations: [ { action: 'create_category', name: 'New Category' }, { action: 'create_text_channel', name: 'general', categoryId: 'cat_id' }, { action: 'set_channel_private', channelId: 'chan_id', isPrivate: true } ] });

Using Individual Tools

// Server information await discord.getServerInfo(guildId); // Advanced channel creation await discord.createForumChannel(guildId, "discussions", categoryId, { topic: "Community discussions", slowmode: 30, isPrivate: true, allowedRoles: ["member_role_id"] }); // Bulk privacy management await discord.bulkSetPrivacy(guildId, { targets: [ { id: "channel1", type: "channel", isPrivate: true }, { id: "category1", type: "category", isPrivate: false } ] }); // Export chat logs await discord.exportChatLog(channelId, "JSON", { limit: 1000, dateRange: { start: "2024-01-01", end: "2024-12-31" } });

Security

For Users

  • Keep your Discord bot token secret

  • Regularly rotate your tokens

  • Monitor bot activity

  • Use minimal required permissions

For Contributors

  • Never commit tokens or secrets

  • Validate all user inputs

  • Review dependencies for vulnerabilities

  • Follow secure coding practices

Tool Reference

Message Management Tools (18)

Tool Name

Description

send_message

Send messages to channels

edit_message

Edit existing messages

delete_message

Delete specific messages

read_messages

Read message history from channels

send_private_message

Send DMs to users

edit_private_message

Edit private messages

delete_private_message

Delete private messages

read_private_messages

Read DM history

add_reaction

Add emoji reactions

remove_reaction

Remove emoji reactions

pin_message

Pin messages in channels

unpin_message

Unpin messages

get_pinned_messages

List pinned messages

bulk_delete_messages

Delete multiple messages

crosspost_message

Crosspost announcements

get_message_history

Advanced message history with pagination

get_message_attachments

Extract message attachments

read_images

Read and analyze images from messages

Channel Management Tools (25)

Tool Name

Description

create_text_channel

Create text channels

create_voice_channel

Create voice channels

create_forum_channel

Create forum channels

create_announcement_channel

Create announcement channels

create_stage_channel

Create stage channels

edit_channel_advanced

Edit any channel with advanced settings

delete_channel

Delete channels

find_channel

Find channels by name

list_channels

List all server channels

create_category

Create channel categories

delete_category

Delete categories

find_category

Find categories by name

list_channels_in_category

List channels in specific category

set_channel_position

Move channel position

set_channel_positions

Move multiple channels

set_category_position

Move category position

move_channel_to_category

Move channels between categories

organize_channels

Comprehensive channel organization

get_channel_structure

Get complete channel hierarchy

set_channel_private

Set channel privacy settings

set_category_private

Set category privacy settings

bulk_set_privacy

Bulk privacy management

comprehensive_channel_management

All-in-one channel operations

upload_file

Upload files to channels

export_chat_log

Export chat logs (JSON/CSV/TXT)

Member & Role Management Tools (12)

Tool Name

Description

get_user_id_by_name

Find user IDs by username

get_members

List server members with pagination

search_members

Search members by name

edit_member

Edit member properties

get_member_info

Get detailed member information

create_role

Create new server roles

delete_role

Delete server roles

edit_role

Modify role properties

add_role_to_member

Assign roles to members

remove_role_from_member

Remove roles from members

get_roles

List all server roles

set_role_positions

Reorder role hierarchy

Voice & Audio Tools (6)

Tool Name

Description

join_voice_channel

Connect bot to voice channels

leave_voice_channel

Disconnect from voice channels

play_audio

Stream audio in voice channels

stop_audio

Stop audio playback

set_volume

Control audio volume

get_voice_connections

List active voice connections

Webhook Tools (4)

Tool Name

Description

create_webhook

Create channel webhooks

delete_webhook

Delete webhooks

list_webhooks

List channel webhooks

send_webhook_message

Send messages via webhooks

Events & Scheduling Tools (4)

Tool Name

Description

create_event

Create scheduled server events

edit_event

Edit existing events

delete_event

Delete server events

get_events

List all scheduled events

Emoji & Sticker Tools (6)

Tool Name

Description

create_emoji

Create custom server emojis

delete_emoji

Delete custom emojis

get_emojis

List all server emojis

create_sticker

Create custom server stickers

delete_sticker

Delete custom stickers

get_stickers

List all server stickers

Privacy & Security Tools (7)

Tool Name

Description

create_automod_rule

Create automoderation rules

edit_automod_rule

Edit automod rules

delete_automod_rule

Delete automod rules

get_automod_rules

List all automod rules

create_invite

Create server invites

delete_invite

Delete/revoke invites

get_invites

List all server invites

Server Administration Tools (6)

Tool Name

Description

get_server_info

Get comprehensive server information

edit_server

Edit server settings

get_server_widget

Get server widget information

get_welcome_screen

Get welcome screen settings

edit_welcome_screen

Configure welcome screen

get_server_stats

Get comprehensive server statistics

Interactive Components Tools (4)

Tool Name

Description

send_embed

Send rich embed messages

send_button

Send messages with interactive buttons

send_select_menu

Send messages with select menus

send_modal

Send modal dialogs (interaction context)

Master Control Tool (1)

Tool Name

Description

discord_manage

Unified tool - access ALL 93 operations through one interface

Contributing

Project Creator & Lead Developer: @sashathelambo (Dr. Vova)

This project is primarily developed and maintained by sashathelambo. For contributions:

  1. Read our Contributing Guidelines

  2. Follow our Security Policy

  3. Use the PR template

  4. Test thoroughly before submitting

  5. Discuss major changes with @sashathelambo first

Development Guidelines

  • Use TypeScript for all code

  • Follow existing code style

  • Add tests for new features

  • Never commit sensitive data

  • Update documentation

Troubleshooting

Common Issues

  • Token Invalid: Regenerate your Discord bot token

  • Permission Denied: Check bot permissions in Discord server

  • Build Errors: Ensure Node.js 18+ and TypeScript are installed

Getting Help

License

This project is licensed under the MIT License - see the LICENSE file for details.

Disclaimer

This software is provided "as-is" without warranty. Users are responsible for:

  • Complying with Discord's Terms of Service

  • Securing their bot tokens and credentials

  • Using appropriate permissions and rate limiting

  • Monitoring and maintaining their Discord bots

Acknowledgments

  • @sashathelambo - Project creator, lead developer, and architect of all 93 Discord tools

  • Discord.js team for the excellent Discord API wrapper

  • Model Context Protocol community for the standardized protocol

  • Everyone who uses and supports this project

Related MCP Servers

  • -
    security
    -
    license
    -
    quality
    An MCP server that enables communication with users through Telegram. This server provides a tool to ask questions to users and receive their responses via a Telegram bot.
    Last updated -
    8
    38
  • A
    security
    -
    license
    A
    quality
    Provides Discord integration capabilities to MCP clients like Claude Desktop.
    Last updated -
    15
    126
    MIT License
    • Apple
  • A
    security
    -
    license
    A
    quality
    An MCP server that enables posting messages to Discord webhooks, allowing customization of content, username, and avatar URL.
    Last updated -
    1
    MIT License
  • A
    security
    -
    license
    A
    quality
    An MCP server that allows Claude to interact with Discord by providing tools for sending/reading messages and managing server resources through Discord's API.
    Last updated -
    19
    103

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/drvova/discord-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server