MCP故障
](https://smithery.ai/server/@barryyip0625/mcp-discord)  ](https://hub.docker.com/r/barryy625/mcp-discord)
Discord MCP(模型上下文协议)服务器,使AI助手能够与Discord平台进行交互。
概述
MCP Discord提供以下Discord相关功能:
- 登录Discord机器人
- 列出机器人所属的服务器
- 获取服务器信息
- 列出成员并检查成员详细信息
- 列出、创建、编辑、删除、分配和删除角色
- 在服务器中搜索邮件
- 读取、编辑和删除频道消息
- 向指定频道发送消息
- 检索论坛频道列表
- 创建、更新、删除和回复论坛帖子
- 列出论坛帖子并管理论坛标签
- 创建、编辑和删除文本、论坛、语音频道和类别
- 设置和删除频道权限覆盖
- 添加/删除消息反应
- 创建/编辑/删除/使用webhooks
目录
- 基本功能 - 渠道管理 - 论坛功能 - 信息和反应 - Webhook管理 - 角色管理 - 会员管理
先决条件
- Node.js(v18.0.0或更高版本)
- npm(v7.0.0或更高版本)
- 具有适当权限的Discord机器人
- Bot令牌(可从 Discord开发者门户) - 消息内容意图已启用 - 服务器成员意图已启用 - 已启用存在意图
- Discord服务器中所需的权限:
#### 最简单的设置
- 管理员(建议用于快速设置和完整功能)
#### 或者,仅选择所需的权限:
- 发送消息 - 创建公共线程 - 在线程中发送消息 - 管理邮件 - 管理线程 - 管理渠道 - 管理Webhooks - 管理角色 - 添加反应 - 查看频道
- 将您的Discord机器人添加到您的服务器
- 要将您的Discord机器人添加到服务器,请使用以下邀请链接之一(替换 INSERT_CLIENT_ID_HERE 使用您的机器人客户端ID): - 管理员(完全访问权限): https://discord.com/oauth2/authorize?client_id=INSERT_CLIENT_ID_HERE&scope=bot&permissions=8 - 自定义权限(最低要求): https://discord.com/oauth2/authorize?client_id=INSERT_CLIENT_ID_HERE&scope=bot&permissions=52076489808
注:\ 根据Discord的安全模型,机器人只能访问其明确添加到的服务器上的信息。\ 如果你想使用此MCP服务器访问特定的Discord服务器,你必须先将机器人添加到该服务器。\ 使用下面的邀请链接将机器人添加到目标服务器。
安装
通过NPM安装
您可以使用以下命令:
npx mcp-discord --config ${DISCORD_TOKEN}有关更多详细信息,您可以查看 .
通过Smithery安装
通过以下方式自动安装mcp discord 铁匠铺
通过Docker安装
你可以使用Docker运行mcp-discord。Docker镜像会自动构建并发布到Docker Hub。
Docker Hub仓库: 巴里625/mcp不和
Docker默认通过以下方式使用可流式传输的HTTP服务器 build/app.js.
# Pull the latest image
docker pull barryy625/mcp-discord:latest
# Run HTTP server on port 8080
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 8080:8080 barryy625/mcp-discord:latest
# Override the listening port if needed
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 3000:3000 barryy625/mcp-discord:latest --transport http --port 3000可用标签:
latest-主分支的最新稳定版本v1.3.8等等。-特定版本发布
手动安装
# Clone the repository
git clone https://github.com/barryyip0625/mcp-discord.git
cd mcp-discord
# Install dependencies
npm install
# Compile TypeScript
npm run build配置
正常操作需要Discord机器人令牌。服务器支持两种传输方式:stdio和流式HTTP。
运输方式
- 标准 (默认)
- 用于基本用途的传统stdio传输 - 适用于简单的集成
- 可流式传输HTTP
- 用于更高级场景的基于HTTP的传输 - 支持无状态操作 - 可配置的端口号
配置选项
您可以通过两种方式提供配置:
- 环境变量:
DISCORD_TOKEN=your_discord_bot_token- 使用命令行参数:
# For stdio transport (default)
node build/index.js --config "your_discord_bot_token"
# For streamable HTTP transport
node build/app.js --transport http --port 3000 --config "your_discord_bot_token"使用Claude/Cursor
1.使用Claude/Cursor的Stdio传输
使用 build/index.js 当您的MCP客户端需要基于命令的stdio服务器时。
克劳德桌面/克劳德代码
{
"mcpServers": {
"discord": {
"command": "node",
"args": [
"path/to/mcp-discord/build/index.js"
],
"env": {
"DISCORD_TOKEN": "your_discord_bot_token"
}
}
}
}光标
{
"mcpServers": {
"discord": {
"command": "node",
"args": [
"path/to/mcp-discord/build/index.js"
],
"env": {
"DISCORD_TOKEN": "your_discord_bot_token"
}
}
}
}这是基于本地命令的MCP客户端的推荐设置。
2.自托管流式HTTP服务器
使用 build/app.js 当您想将mcp-discord作为HTTP mcp服务器运行时。
使用Node.js运行
DISCORD_TOKEN=your_discord_bot_token node build/app.js --transport http --port 3000在Windows PowerShell上:
$env:DISCORD_TOKEN="your_discord_bot_token"
node build/app.js --transport http --port 3000使用Docker运行
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 3000:3000 barryy625/mcp-discord:latest --transport http --port 3000启动后,MCP HTTP端点为:
http://localhost:3000/mcp3.连接到托管HTTP MCP服务器
如果您已经在其他地方托管了mcp不协调,请将mcp客户端指向服务器 /mcp 端点而不是启动 build/app.js 作为命令。
示例端点:
https://your-server.example.com/mcp重要提示:
build/app.js启动HTTP服务器。它不会说普通话。build/index.js是基于命令的stdio MCP客户端的正确入口点。- 对于托管HTTP使用,请配置MCP客户端以连接到部署提供的HTTP端点URL。
- 确切的HTTP客户端配置格式取决于您使用的MCP客户端。
工具文档
基本功能
discord_login:使用配置的令牌登录Discorddiscord_list_servers:列出机器人所属的所有Discord服务器discord_send:向指定频道发送消息discord_get_server_info:获取Discord服务器信息
渠道管理
discord_create_text_channel:创建文本频道discord_create_forum_channel:创建论坛频道discord_create_voice_channel:创建语音频道discord_edit_channel:编辑频道名称、主题、父类别或位置discord_delete_channel:删除频道discord_create_category:创建频道类别discord_edit_category:编辑频道类别discord_delete_category:删除频道类别discord_set_channel_permissions:为频道/类别上的角色或用户设置权限覆盖discord_remove_channel_permissions:从频道/类别中删除权限覆盖
论坛功能
discord_get_forum_channels:获取论坛频道列表discord_create_forum_post:创建论坛帖子discord_get_forum_post:获取论坛帖子discord_list_forum_threads:列出论坛频道中的活动和存档线程discord_reply_to_forum:回复论坛帖子discord_get_forum_tags:获取论坛频道的所有可用标签discord_set_forum_tags:替换论坛频道的可用标签discord_update_forum_post:更新论坛帖子的标题、标签、存档状态或锁定状态discord_delete_forum_post:删除论坛帖子
信息和反应
discord_search_messages:在服务器中搜索邮件discord_read_messages:读取频道消息(支持before,after,aroundparams——接受雪花ID或ISO 8601日期,如"2025-03-01T00:00:00Z")discord_edit_message:编辑机器人编写的消息discord_add_reaction:在消息中添加反应discord_add_multiple_reactions:在消息中添加多个反应discord_remove_reaction:从消息中删除反应discord_delete_message:从频道中删除特定消息
Webhook管理
discord_create_webhook:为Discord频道创建新的webhookdiscord_send_webhook_message:使用webhook向Discord频道发送消息discord_edit_webhook:编辑Discord频道的现有webhookdiscord_delete_webhook:删除Discord频道的现有webhook
角色管理
discord_list_roles:列出服务器中的所有角色discord_create_role:使用颜色、提升、提及和权限选项创建角色discord_edit_role:编辑现有角色discord_delete_role:删除角色discord_assign_role:为成员分配角色discord_remove_role:从成员中删除角色
会员管理
discord_list_members:列出服务器中具有角色的成员discord_get_member:获取特定成员的详细信息
发展
# Development mode
npm run dev