D

Discord交互控制平台(MCP)

@v-3/discordmcp
0 Stars 378 次浏览 v-3 更新于 2026-08-23

通过 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 机器人令牌
  • 机器人必须被邀请到您的服务器,并具有适当的权限:
    • 读取消息/查看频道
    • 发送消息
    • 读取消息历史记录

设置

  1. 克隆此仓库:
git clone https://github.com/yourusername/discordmcp.git
cd discordmcp
  1. 安装依赖项:
npm install
  1. 在根目录下创建一个 .env 文件,包含您的 Discord 机器人令牌:
DISCORD_TOKEN=your_discord_bot_token_here
  1. 构建服务器:
npm run build

使用 Claude for Desktop

  1. 打开您的 Claude for Desktop 配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. 添加 Discord MCP 服务器配置:

{
  "mcpServers": {
    "discord": {
      "command": "node",
      "args": ["path/to/discordmcp/build/index.js"],
      "env": {
        "DISCORD_TOKEN": "your_discord_bot_token_here"
      }
    }
  }
}
  1. 重启 Claude for Desktop

可用工具

send-message

向指定的 Discord 频道发送消息。

参数:

  • server (可选): 服务器名称或 ID(如果机器人在多个服务器中,则为必填)
  • channel: 频道名称(例如:"general")或 ID
  • message: 要发送的消息内容

示例:

{
  "channel": "general",
  "message": "Hello from MCP!"
}

read-messages

从指定的 Discord 频道读取最近的消息。

参数:

  • server (可选): 服务器名称或 ID(如果机器人在多个服务器中,则为必填)
  • channel: 频道名称(例如:"general")或 ID
  • limit (可选): 要获取的消息数量(默认:50,最大:100)

示例:

{
  "channel": "general",
  "limit": 10
}

开发

  1. 安装开发依赖项:
npm install --save-dev typescript @types/node
  1. 以开发模式启动服务器:
npm run dev

测试

您可以使用 MCP Inspector 来测试服务器:

npx @modelcontextprotocol/inspector node build/index.js

示例

以下是一些设置 Discord MCP 服务器后可以尝试与 Claude 进行的示例互动:

  1. "你能读取 general 频道中的最后 5 条消息吗?"
  2. "请向 announcements 频道发送一条消息,内容为 '会议将在 10 分钟后开始'"
  3. "关于最新发布的 development 频道中最近的消息是什么?"

Claude 将使用适当的工具与 Discord 互动,并在发送任何消息之前请求您的批准。

安全注意事项

  • 机器人需要正确的 Discord 权限才能正常工作
  • 所有消息发送操作都需要明确的用户批准
  • 环境变量应妥善保护
  • 令牌永远不应提交到版本控制系统
  • 频道访问仅限于机器人被授予访问权限的频道

贡献

...(这部分内容未提供具体信息,请根据实际情况填写)

  1. Fork 仓库
  2. 创建你的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交你的更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开一个 Pull Request

许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。

支持

如果你遇到任何问题或有疑问:

  1. 检查 GitHub Issues 部分
  2. 参考 MCP 文档:https://modelcontextprotocol.io
  3. 用详细的复现步骤打开一个新的 issue

相关 MCP 服务