mcpField
D
Discord MCP Server

Discord MCP Server

本地服务
github.com/v-3通信协作24292 周前更新

关于 Discord MCP Server

Discord MCP Server 让 LLM 通过 Discord API 收发频道消息,例如 Claude 可以直接读取或发送 Discord 频道内容。适合需要在 Claude 中与 Discord 协作的用户,并保留用户对发送操作的控制。

主要功能

  1. 01向 Discord 频道发送消息
  2. 02读取频道近期消息
  3. 03自动发现服务器与频道
  4. 04支持频道名称或 ID
  5. 05错误处理与参数校验

适用场景

  1. 01让 Claude 读取某个频道的近期消息
  2. 02通过 Claude 向指定频道发送通知
  3. 03在 AI 对话中汇总开发频道的讨论

MCP 相关

该项目是 MCP 服务,向 MCP 客户端暴露 send-message 与 read-messages 两个工具,用于收发 Discord 消息。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"discordmcp": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
启动命令npx -y @modelcontextprotocol/inspector

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@modelcontextprotocol/inspector

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Discord MCP 服务

一个 Model Context Protocol(MCP)服务,可让大模型与 Discord 频道交互,通过 Discord API 发送和读取消息。借助此服务,Claude 等大模型可以直接与 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,并附上详细的复现步骤

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。