article
README
🚀 MCP-Discord
MCP-Discord 是一个 Discord MCP(模型上下文协议)服务器,它能让 AI 助手与 Discord 平台进行交互。
🚀 快速开始
MCP-Discord 提供了以下与 Discord 相关的功能:
- 登录 Discord 机器人
- 获取服务器信息
- 读取/删除频道消息
- 向指定频道发送消息
- 获取论坛频道列表
- 创建/删除/回复论坛帖子
- 创建/删除文本频道
- 添加/移除消息反应
- 创建/编辑/删除/使用 Webhook
✨ 主要特性
基本功能
discord_login:登录 Discorddiscord_list_guilds:列出所有可用的 Discord 服务器(公会)及其频道discord_send:向指定频道发送消息discord_get_server_info:获取 Discord 服务器信息
频道管理
discord_create_text_channel:创建文本频道discord_delete_channel:删除频道
论坛功能
discord_get_forum_channels:获取论坛频道列表discord_create_forum_post:创建论坛帖子discord_get_forum_post:获取论坛帖子discord_reply_to_forum:回复论坛帖子discord_delete_forum_post:删除论坛帖子
消息与反应
discord_read_messages:读取频道消息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
📦 安装指南
通过 Smithery 安装
要通过 Smithery 为 Claude Desktop 自动安装 mcp-discord,请执行以下命令:
npx -y @smithery/cli install @barryyip0625/mcp-discord --client claude
手动安装
# 克隆仓库
git clone https://github.com/barryyip0625/mcp-discord.git
cd mcp-discord
# 安装依赖
npm install
# 编译 TypeScript
npm run build
📚 详细文档
前提条件
- Node.js(v16.0.0 或更高版本)
- npm(v7.0.0 或更高版本)
- 具有适当权限的 Discord 机器人:
- 机器人令牌(可从 Discord 开发者门户 获取)
- 启用消息内容意图
- 启用服务器成员意图
- 启用在线状态意图
- 在 Discord 服务器中需要以下权限:
- 发送消息
- 创建公共线程
- 在线程中发送消息
- 管理线程
- 管理频道
- 添加反应
配置
正常运行需要 Discord 机器人令牌。你可以通过以下两种方式提供:
- 环境变量:
DISCORD_TOKEN=your_discord_bot_token
DEFAULT_SERVER_ID=your_default_server_id # 可选
DEFAULT_CHANNEL_ID=your_default_channel_id # 可选
- 启动时使用
--config参数:
node path/to/mcp-discord/build/index.js --config "{\"DISCORD_TOKEN\":\"your_discord_bot_token\"}"
增强启动脚本
项目包含一个增强的启动脚本 (start-discord.js),它提供了更好的调试和错误处理功能:
- 从 .env 文件加载环境变量
- 如果未提供,则设置默认服务器和频道 ID
- 将 console.log 重定向到 stderr,以避免 Claude Desktop 中的 JSON 解析问题
- 在启动 MCP 服务器之前直接测试 Discord 连接
- 如果出现问题,提供详细的错误信息
使用此脚本:
node start-discord.js
与 Claude/Cursor 一起使用
- Claude
{
"mcpServers": {
"discord": {
"command": "node",
"args": [
"path/to/mcp-discord/start-discord.js"
],
"env": {
"DISCORD_TOKEN": "your_discord_bot_token",
"DEFAULT_SERVER_ID": "your_default_server_id",
"DEFAULT_CHANNEL_ID": "your_default_channel_id"
}
}
}
}
- Cursor
{
"mcpServers": {
"discord": {
"command": "cmd",
"args": [
"/c",
"node",
"path/to/mcp-discord/start-discord.js"
],
"env": {
"DISCORD_TOKEN": "your_discord_bot_token",
"DEFAULT_SERVER_ID": "your_default_server_id",
"DEFAULT_CHANNEL_ID": "your_default_channel_id"
}
}
}
}
开发
# 开发模式
npm run dev
Scan to contact