Skip to main content
Glama
HuckOps
by HuckOps
README.md
# Discord MCP Server

A Discord bot server based on Model Context Protocol (MCP), enabling AI models to interact with Discord through the MCP protocol.

<a href="https://glama.ai/mcp/servers/HuckOps/discord-mcp-server">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/HuckOps/discord-mcp-server/badge" alt="Discord Server MCP server" />
</a>

## 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 channels
- `create_channels` - Create a new channel

### Message Tools
- `channel_last_messages` - Get recent messages from a channel
- `send_channel_message` - Send a message to a channel
- `send_channel_file` - Send a file to a channel

### User Tools
- `get_users` - Get guild users
- `get_user` - Get user info by user ID

## Requirements

- Go 1.25.5+

## Installation

### Build from Source

```bash
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:

```yaml
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)

```bash
./discord-mcp --stdio
```

### SSE Server Mode
```bash
./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.