内容
# discord-mcp
一个用于通过任何[MCP兼容](https://modelcontextprotocol.io)的AI客户端管理Discord服务器的MCP服务器。连接后,您只需要描述您想要的:
> **您:** 在工程类别下创建一个名为`dev-chat`的频道
> **您:** 创建一个名为管理员的角色,可以踢人和封禁,然后赋予它给@alex
> **您:** 在#announcements中发布"deploy is live 🚀"
> **您:** 使#staff-only私有 — 对@everyone隐藏,但允许Staff角色访问
您的AI客户端通过[MCP](https://modelcontextprotocol.io)与此服务器通信,MCP通过[discord.js](https://discord.js.org)将请求翻译成真正的Discord API调用。
---
## 功能
| 领域 | 工具 |
| --- | --- |
| **服务器** | `list_servers`, `get_server_info` |
| **频道** | `list_channels`, `create_channel`, `edit_channel`, `delete_channel` |
| **消息** | `send_message`, `send_embed`, `read_messages`, `edit_message`, `delete_message` |
| **角色** | `list_roles`, `create_role`, `delete_role`, `assign_role`, `remove_role` |
| **成员** | `list_members`, `get_member`, `kick_member`, `ban_member`, `timeout_member` |
| **频道权限** | `list_channel_permissions`, `set_channel_permission`, `remove_channel_permission` |
| **线程** | `create_thread`, `list_threads`, `archive_thread`, `unarchive_thread` |
| **邀请** | `create_invite`, `list_invites`, `delete_invite` |
| **预定事件** | `create_event`, `list_events`, `delete_event` |
| **Webhook** | `create_webhook`, `list_webhooks`, `delete_webhook`, `send_webhook_message` |
| **表情和贴纸** | `list_emojis`, `create_emoji`, `delete_emoji`, `list_stickers` |
---
## 设置
### 1. 创建Discord机器人
1. 前往 [Discord开发者门户](https://discord.com/developers/applications) → **新建应用程序**,命名后 **创建**。
2. 打开 **机器人** 标签页 → **重置令牌** → **复制**。这是您的 `DISCORD_TOKEN`。
3. *(可选)* 要 **列出成员** 或 **读取消息文本**,请滚动到 **特权网关意图** 并启用 **服务器成员意图** 和 **消息内容意图**。您还将在稍后设置 `DISCORD_PRIVILEGED_INTENTS=true`。如果您只需要创建频道/角色和发送消息,请跳过此步骤。
### 2. 将机器人邀请到您的服务器
1. 在开发者门户 → **OAuth2** → **URL生成器**。
2. 在 **作用域** 下,勾选 **`bot`**。
3. 在 **机器人权限** 下,选择您希望机器人执行的操作。完全管理的最简单选择是 **管理员**。
4. 打开生成的URL,选择您的服务器, **授权**。
5. **重要 - 角色层次结构:** 在 **服务器设置 → 角色** 中,将机器人的角色拖到您希望它管理的角色/成员 **上方**。
### 3. 安装和构建
需要 **Node.js 18+** (推荐20+)。
```bash
git clone https://github.com/grooving6/discord-mcp.git
cd discord-mcp
npm install
npm run build
```
然后从模板创建您的 `.env` 并填写令牌:
### 4. 连接到您的MCP客户端
**选项A — 项目配置(推荐)。** 该仓库包含一个 [`.mcp.json`](./.mcp.json)。从该目录运行您的MCP客户端,它将自动拾取它。
**选项B — 全局注册(Claude Code示例)。** 使用绝对路径使服务器在任何会话中可用:
```bash
claude mcp add discord -- node /绝对路径/to/discord-mcp/dist/index.js
```