返回市场
discordmcp服务器

discordmcp服务器

作者:v-3158 星标更新:2025-01-21

项目介绍

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": "来自MCP的问候!"
}

read-messages

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

参数:

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

示例:

{
  "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 '添加一些惊人的功能'
  4. 推送到分支(git push origin feature/amazing-feature
  5. 打开拉取请求

许可证

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

支持

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

  1. 查看GitHub问题部分
  2. 咨询MCP文档 https://modelcontextprotocol.io
  3. 打开一个新的问题并提供详细的复现步骤