Discord交互控制平台(MCP)
通过 Discord 的 API 发送和读取消息,使大型语言模型(LLM)能够与 Discord 频道进行交互,重点在于保持用户控制和安全性。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"discord": {
"args": [
"path/to/discordmcp/build/index.js"
],
"command": "node",
"env": {
"DISCORD_TOKEN": "your_discord_bot_token_here"
}
}
}
}
该服务需要配置环境变量:DISCORD_TOKEN
服务介绍
Discord MCP 服务器
这是一个模型上下文协议(MCP)服务器,它使大型语言模型(LLMs)能够与 Discord 频道进行交互,允许它们通过 Discord 的 API 发送和读取消息。使用这个服务器,像 Claude 这样的 LLMs 可以直接与 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