关于 Discord MCP Server
Discord MCP Server 让 LLM 通过 Discord API 收发频道消息,例如 Claude 可以直接读取或发送 Discord 频道内容。适合需要在 Claude 中与 Discord 协作的用户,并保留用户对发送操作的控制。
主要功能
- 01向 Discord 频道发送消息
- 02读取频道近期消息
- 03自动发现服务器与频道
- 04支持频道名称或 ID
- 05错误处理与参数校验
适用场景
- 01让 Claude 读取某个频道的近期消息
- 02通过 Claude 向指定频道发送通知
- 03在 AI 对话中汇总开发频道的讨论
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 send-message 与 read-messages 两个工具,用于收发 Discord 消息。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Discord MCP 服务
一个 Model Context Protocol(MCP)服务,可让大模型与 Discord 频道交互,通过 Discord API 发送和读取消息。借助此服务,Claude 等大模型可以直接与 Discord 频道交互,同时确保用户掌控操作并保障安全。
功能
- 向 Discord 频道发送消息
- 读取频道中的近期消息
- 自动发现服务器和频道
- 支持频道名称和 ID
- 提供完善的错误处理和验证
前提条件
- Node.js 16.x 或更高版本
- Discord 机器人令牌
- 必须为机器人授予适当权限,并将其邀请到你的服务器:
- 读取消息/查看频道
- 发送消息
- 读取消息历史记录
设置
- 克隆此代码库:
git clone https://github.com/yourusername/discordmcp.git
cd discordmcp
- 安装依赖:
npm install
- 在根目录中创建
.env文件,并填入你的 Discord 机器人令牌:
DISCORD_TOKEN=your_discord_bot_token_here
- 构建服务:
npm run build
与 Claude for Desktop 搭配使用
-
打开 Claude for Desktop 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
添加 Discord MCP 服务配置:
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["path/to/discordmcp/build/index.js"],
"env": {
"DISCORD_TOKEN": "your_discord_bot_token_here"
}
}
}
}
- 重启 Claude for Desktop
可用工具
send-message
向指定的 Discord 频道发送消息。
参数:
server(可选):服务器名称或 ID(机器人加入了多个服务器时必填)channel:频道名称(例如,“general”)或 IDmessage:要发送的消息内容
示例:
{
"channel": "general",
"message": "Hello from MCP!"
}
read-messages
读取指定 Discord 频道中的近期消息。
参数:
server(可选):服务器名称或 ID(机器人加入了多个服务器时必填)channel:频道名称(例如,“general”)或 IDlimit(可选):要获取的消息数量(默认值:50,最大值:100)
示例:
{
"channel": "general",
"limit": 10
}
开发
- 安装开发依赖:
npm install --save-dev typescript @types/node
- 在开发模式下启动服务:
npm run dev
测试
你可以使用 MCP Inspector 测试此服务:
npx @modelcontextprotocol/inspector node build/index.js
示例
设置好 Discord MCP 服务后,可以尝试向 Claude 发送以下示例请求:
- “你能读取 general 频道中最近的 5 条消息吗?”
- “请在 announcements 频道发送一条消息,说‘会议将在 10 分钟后开始’。”
- “development 频道中关于最新版本的近期消息有哪些?”
Claude 会使用相应的工具与 Discord 交互,并在发送任何消息前征求你的批准。
安全注意事项
- 机器人需要适当的 Discord 权限才能正常工作
- 所有发送消息的操作都需要用户明确批准
- 应妥善保护环境变量
- 切勿将令牌提交到版本控制系统
- 机器人只能访问已获授权的频道
贡献
- Fork 此代码库
- 创建你的功能分支(
git checkout -b feature/amazing-feature) - 提交你的更改(
git commit -m 'Add some amazing feature') - 将分支推送到远程仓库(
git push origin feature/amazing-feature) - 发起 Pull Request
许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
支持
如果遇到任何问题或有疑问:
- 查看 GitHub Issues 部分
- 查阅 MCP 文档:https://modelcontextprotocol.io
- 提交新 issue,并附上详细的复现步骤
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。