MCP-Discord
Discord MCP(模型上下文协议)服务器,使 AI 助手能够与 Discord 平台进行交互。
概述
MCP-Discord 提供以下与 Discord 相关的功能:
- 登录 Discord 机器人
- 获取服务器信息
- 读取/删除频道消息
- 向指定频道发送消息(使用频道 ID 或频道名称)
- 检索论坛频道列表
- 创建/删除/回复论坛帖子
- 创建/删除文本通道
- 添加/删除消息反应
- 创建/编辑/删除/使用 webhook
目录
先决条件
- Node.js(v16.0.0 或更高版本)
- npm(v7.0.0 或更高版本)
- 具有适当权限的 Discord 机器人
- 您的 Discord 服务器所需的权限:
最简单的设置
或者,仅选择所需的权限:
- 发送消息
- 创建公共主题
- 在主题中发送消息
- 管理消息
- 管理线程
- 管理频道
- 管理 Webhook
- 添加反应
- 查看频道
- 将您的 Discord 机器人添加到您的服务器
- 要将您的 Discord 机器人添加到您的服务器,请使用以下邀请链接之一(将
INSERT_CLIENT_ID_HERE
替换为您的机器人的客户端 ID):
笔记:
根据 Discord 的安全模型,机器人只能访问明确添加到的服务器的信息。
如果您想使用此 MCP 服务器访问特定的 Discord 服务器,则必须先将机器人添加到该服务器。
使用下面的邀请链接将机器人添加到您的目标服务器。
安装
通过 Smithery 安装
通过Smithery自动安装 mcp-discord
手动安装
# 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/index.js --transport http --port 3000 --config "your_discord_bot_token"
与 Claude/Cursor 一起使用
克劳德
- 使用 stdio 传输:
{
"mcpServers": {
"discord": {
"command": "node",
"args": [
"path/to/mcp-discord/build/index.js",
"--config",
"your_discord_bot_token"
]
}
}
}
- 使用可流式传输的 HTTP 传输:
{
"mcpServers": {
"discord": {
"command": "node",
"args": [
"path/to/mcp-discord/build/index.js",
"--transport",
"http",
"--port",
"3000",
"--config",
"your_discord_bot_token"
]
}
}
}
光标
- 使用 stdio 传输:
{
"mcpServers": {
"discord": {
"command": "cmd",
"args": [
"/c",
"node",
"path/to/mcp-discord/build/index.js",
"--config",
"your_discord_bot_token"
]
}
}
}
- 使用可流式传输的 HTTP 传输:
{
"mcpServers": {
"discord": {
"command": "cmd",
"args": [
"/c",
"node",
"path/to/mcp-discord/build/index.js",
"--transport",
"http",
"--port",
"3000",
"--config",
"your_discord_bot_token"
]
}
}
}
工具文档
基本功能
discord_login
:登录 Discorddiscord_send
:向指定频道发送消息(支持频道ID和频道名称)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
发展
# Development mode
npm run dev
执照
MIT 许可证