A Discord bot server enabling AI models to interact with Discord via MCP.
Discord MCP Server
A Discord bot server based on Model Context Protocol (MCP), enabling AI models to interact with Discord through the MCP protocol.
Features
- 📋 Channel Management: Get server channels, create new channels
- 💬 Message Operations: Send text messages, send files, retrieve message history
- 👥 User Queries: Get server member list, query user information
- 🔌 Dual Mode: Supports both STDIO and SSE Server modes
- 📝 Structured Logging: High-performance logging with Zap
Available Tools
Channel Tools
channels- Get all channelscreate_channels- Create a new channel
Message Tools
channel_last_messages- Get recent messages from a channelsend_channel_message- Send a message to a channelsend_channel_file- Send a file to a channel
User Tools
get_users- Get guild usersget_user- Get user info by user ID
Requirements
- Go 1.25.5+
Installation
Build from Source
git clone https://github.com/HuckOps/discord-mcp.git
cd discord-mcp
go build -o discord-mcp ./cmd/server
Configuration
Create a discord_bot.yaml configuration file in the project root:
app_id: "Your Application ID"
app_secret: "Your Application Secret"
bot_token: "Your Bot Token"
guild_id: "Your Guild/Server ID"
proxy: "" # Optional proxy URL
Usage
STDIO Mode (Default)
./discord-mcp --stdio
SSE Server Mode
./discord-mcp --ssePort 8080
Tech Stack
- Go - Primary programming language
- discordgo - Discord API wrapper
- mcp-go - MCP SDK
- zap - High-performance logger
Dependencies
Main dependencies:
- github.com/bwmarrin/discordgo
- github.com/mark3labs/mcp-go
- go.uber.org/zap
- gopkg.in/yaml.v3
License
MIT License
Contributing
Issues and Pull Requests are welcome!
Contact
For questions or issues, please open a GitHub Issue.
Tools (7)
channelsGet all channels in the servercreate_channelsCreate a new channelchannel_last_messagesGet recent messages from a channelsend_channel_messageSend a message to a channelsend_channel_fileSend a file to a channelget_usersGet guild usersget_userGet user info by user IDEnvironment Variables
app_idrequiredDiscord Application IDapp_secretrequiredDiscord Application Secretbot_tokenrequiredDiscord Bot Tokenguild_idrequiredDiscord Guild/Server IDConfiguration
{"mcpServers": {"discord": {"command": "./discord-mcp", "args": ["--stdio"]}}}