MCP Discord
mcp-discord
最完整的 Discord 开源 MCP 服务器。
让任何 MCP 客户端(Claude、Cursor、自定义智能体)完全控制 Discord — 包括消息、审核、频道、角色等。源自 delfus.app 的生产环境使用经验,现已开源回馈社区。
为什么选择 mcp-discord?
30+ 种工具,涵盖 8 个类别 — 服务器、频道、消息、反应、成员、角色、审核和监控
双模式 — 既可独立运行(作为独立进程),也可作为插件集成到现有的 discord.js 机器人中
仅 REST 或网关模式 — 可选择轻量级的仅 REST 模式,或用于实时功能的完整 WebSocket 网关
两种传输方式 — stdio(默认,适用于 Claude Desktop / Claude Code)或带有 Bearer 令牌认证的 HTTP
生产环境验证 — 在 delfus.app 的生产环境中构建并使用
快速入门
前置要求
Node.js 18 或更高版本
安装
# Clone the repository
git clone https://github.com/goul4rt/mcp-discord.git
cd mcp-discord
# Install dependencies
npm install
# Build
npm run build配置
cp .env.example .env编辑 .env 文件并添加你的 Discord 机器人令牌:
DISCORD_TOKEN=your-bot-token-here运行
# stdio transport (default — for MCP clients like Claude)
npm start
# HTTP transport (for remote/web clients)
npm run start:httpMCP 客户端配置
Claude Desktop / Claude Code
添加到你的 MCP 配置文件中:
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["dist/standalone.js"],
"cwd": "/path/to/mcp-discord",
"env": {
"DISCORD_TOKEN": "your-bot-token-here"
}
}
}
}使用网关(实时功能)
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["dist/standalone.js"],
"cwd": "/path/to/mcp-discord",
"env": {
"DISCORD_TOKEN": "your-bot-token-here",
"DISCORD_USE_GATEWAY": "true"
}
}
}
}工具
服务器 / 公会 (2 种工具)
工具 | 描述 |
| 列出机器人有权访问的所有 Discord 服务器 |
| 获取特定服务器的详细信息 |
频道 (7 种工具)
工具 | 描述 |
| 列出服务器中的所有频道 |
| 获取频道的详细信息 |
| 创建文本、语音、分类、公告、论坛或舞台频道 |
| 编辑频道名称、主题、NSFW、慢速模式、位置、分类 |
| 永久删除频道 |
| 在频道中创建主题(可选从消息创建) |
| 归档主题 |
消息 (8 种工具)
工具 | 描述 |
| 发送带有文本、富嵌入和回复的消息 |
| 分页读取最近的消息(最多 100 条) |
| 按内容、作者或频道搜索消息 |
| 编辑机器人发送的消息 |
| 删除单条消息 |
| 批量删除 2-100 条消息(需小于 14 天) |
| 置顶消息 |
| 取消置顶消息 |
反应 (2 种工具)
工具 | 描述 |
| 添加表情反应(Unicode 或自定义) |
| 移除反应 |
成员 / 用户 (4 种工具)
工具 | 描述 |
| 分页列出服务器成员 |
| 获取详细成员信息(角色、昵称、加入日期) |
| 通过 ID 获取任何 Discord 用户的信息 |
| 按用户名或昵称搜索成员 |
角色 (4 种工具)
工具 | 描述 |
| 列出所有角色及其权限、颜色和成员数量 |
| 创建新角色 |
| 为成员添加角色 |
| 从成员移除角色 |
审核 (4 种工具)
工具 | 描述 |
| 暂时禁言用户(最长 28 天) |
| 将用户踢出服务器 |
| 封禁用户并可选择删除其消息 |
| 解封用户 |
监控 (2 种工具)
工具 | 描述 |
| 查看服务器审计日志(封禁、踢出、更改) |
| 查找最近对机器人或用户的 @提及 |
架构
┌─────────────────────────────────────────────────┐
│ MCP Client │
│ (Claude, Cursor, custom) │
└──────────────────┬──────────────────────────────┘
│ stdio or HTTP
┌──────────────────▼──────────────────────────────┐
│ MCP Server │
│ (transport + tool routing) │
└──────────────────┬──────────────────────────────┘
│
┌──────────────────▼──────────────────────────────┐
│ Tool Registry │
│ (30 tools, Zod validation) │
└──────────────────┬──────────────────────────────┘
│
┌──────────────────▼──────────────────────────────┐
│ DiscordProvider (interface) │
├─────────────────────┬───────────────────────────┤
│ StandaloneProvider │ IntegratedProvider │
│ (own token + REST/ │ (uses host bot's │
│ optional gateway) │ existing connection) │
└─────────────────────┴───────────────────────────┘
│
┌──────────────────▼──────────────────────────────┐
│ Discord API │
└─────────────────────────────────────────────────┘提供程序抽象: MCP 工具从不直接接触 discord.js。它们调用 DiscordProvider 接口,该接口有两个实现:
StandaloneProvider — 使用机器人令牌创建自己的连接。以 REST 为主,可选网关。在作为独立进程运行时使用。
IntegratedProvider — 从宿主机器人接收现有的 discord.js
Client。零开销,共享缓存和网关。在嵌入到现有机器人时使用。
集成指南
要将 mcp-discord 作为插件在现有的 discord.js 机器人中使用:
import { IntegratedProvider, createMcpServer } from 'mcp-discord';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
// Your existing discord.js client
const provider = new IntegratedProvider({ client: myDiscordClient });
await provider.connect();
const server = createMcpServer({ provider });
const transport = new StdioServerTransport();
await server.connect(transport);IntegratedProvider 使用你机器人现有的网关连接 — 无需额外的 WebSocket,无需额外的身份验证,无需额外的内存。
配置参考
变量 | 必需 | 默认值 | 描述 |
| 是 | — | Discord 机器人令牌 |
| 否 |
| 连接到 Discord WebSocket 网关以获取实时功能 |
| 否 |
| 传输模式: |
| 否 |
| HTTP 服务器端口(仅当 |
| 否 | — | 用于 HTTP 传输身份验证的 Bearer 令牌 |
贡献
欢迎贡献!请参阅 CONTRIBUTING.md 了解开发设置、代码规范以及如何添加新工具。
许可证
作者
由 @goul4rt 创建。源自 delfus.app,现已开源回馈社区。
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/goul4rt/mcp-discord'
If you have feedback or need assistance with the MCP directory API, please join our Discord server