首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
discordmcp2025-05-290分享
github
通过 Discord 的 API 发送和读取消息,使大型语言模型(LLM)能够与 Discord 频道进行交互,重点在于保持用户控制和安全性。
By v-3
2025-05-290
github
详情内容

Discord MCP 服务器

一个模型上下文协议(MCP)服务器,使LLM(大型语言模型)能够与Discord频道进行交互,允许它们通过Discord的API发送和读取消息。使用此服务器,像Claude这样的LLM可以直接与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桌面版一起使用

  1. 打开您的Claude桌面版配置文件:

    • 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桌面版

可用工具

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. 分叉仓库
  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并提供详细的复现步骤
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档