Discord MCP服务

一个为AI助手提供Discord集成的MCP服务器,支持消息操作、服务器管理和用户交互等功能。

  • by jonvanausdeln
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 jonvanausdeln/discord-mcp

使用说明

断开MCP服务器

这是我的Discord MCP服务器。有很多这样的,但这是我的 它使MCP客户端能够与Discord服务器、通道和消息进行交互。

特性 • 安装 • 配置 • 用法 • 文档

概述

此MCP服务器为Claude Desktop等AI助手提供Discord集成,通过一套全面的工具与Discord服务器进行自然交互。考虑到可靠性,它包括强大的错误处理、自动速率限制和重试机制。

特性

15工具

📨 消息操作

  • send_message -发送带有文件附件和控件链接预览嵌入的消息
  • 获取消息 -使用用户显示名称检索消息历史记录
  • add_reaction -添加表情符号反应(Unicode和自定义表情)
  • remove_reaction -从消息中删除反应
  • get_message_reactions -查看反应数据和计数

💬 直接消息

  • send_dm -通过文件支持向用户发送直接消息
  • list_dms -列出所有可访问的DM通道
  • open_dm -创建或访问DM通道

🏢 服务器和通道管理

  • list_server -列出所有Discord服务器
  • list_channels -列出具有权限的频道
  • create_channel -创建新频道
  • create_thread -创建讨论线索

👥 用户和成员管理

  • get_user_info -获取用户配置文件和显示名称
  • get_build_member -获取具有角色的成员数据
  • list_guild_members -列出带分页的服务器成员

安装

先决条件

  • Node.js 18或更高版本
  • Discord Bot令牌(在此处创建一个)
  • Claude Desktop或其他兼容MCP的客户端

快速开始

  1. 克隆并安装
git clone https://github.com/yourusername/discord-mcp.git
cd discord-mcp
npm install
  1. 配置环境
cp .env.example .env
# Edit .env and add your Discord bot token:
# DISCORD_BOT_TOKEN=your_token_here
  1. 构建项目
npm run build

配置

Discord Bot设置

  1. 创建Discord应用程序

    • 首选 Discord开发者门户
    • 创建新应用程序
    • 导航到“机器人”部分并创建机器人
    • 复制机器人令牌
  2. 启用所需意图 在Bot设置中,启用这些特权网关意图:

    • ✅ 消息内容意图
    • ✅ 服务器成员意图
  3. 邀请机器人到服务器

    • 转到OAuth2→ URL生成器
    • 选择范围: bot
    • 选择权限:
      • 阅读消息/查看频道
      • 发送消息
      • 读取消息历史记录
      • 添加反应
      • 管理邮件
      • 创建公共线程
      • 管理频道(用于频道创建)

Claude桌面设置

添加到您的Claude Desktop配置文件(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上, %APPDATA%\Claude\claude_desktop_config.json 在Windows上):

{
  "mcpServers": {
    "discord": {
      "command": "node",
      "args": ["/absolute/path/to/discord-mcp/dist/server.js"],
      "env": {
        "DISCORD_BOT_TOKEN": "your_bot_token_here",
        "LOG_LEVEL": "ERROR"
      }
    }
  }
}

配置后重新启动Claude Desktop。

用法

配置后,您可以通过Claude Desktop自然地与Discord交互:

"List my Discord servers"
"Send a message to #general saying hello"
"Get the last 10 messages from the announcements channel"
"Add a 👍 reaction to message ID 123456789"
"Send a DM to user ID 987654321 with an image attachment"
"List all members in the Development server"
"Send a message with this link but don't show the preview: https://example.com"

文档

发展

# Start in development mode with auto-reload
npm run dev

# Build for production
npm run build

# Type checking
npm run type-check

故障排除

常见问题

Claude Desktop中的“未知工具”错误

  • 配置更改后完全重新启动Claude Desktop
  • 验证路径 dist/server.js 绝对正确

权限错误

  • 确保您的机器人程序在Discord服务器中具有所需的权限
  • 检查开发人员门户中是否启用了这两个特权意图

连接问题

  • 验证您的 DISCORD_BOT_TOKEN 正确且活跃
  • 检查您的机器人是否被邀请到至少一个Discord服务器

有关更详细的故障排除,请参阅 SETUP_INSTRUCTIONS.md.

建筑

使用TypeScript和Node.js构建,使用:

  • 不协调js v14 -Discord API客户端
  • @模型上下文协议/sdk -MCP协议实现
  • 动物圈 -运行时类型验证

服务器使用模块化架构,具有:

  • 基于工具的组织(消息、服务器、用户、DM)
  • 用于一致错误处理的基类模式
  • 全面的日志记录和监控
  • 生产就绪重试和速率限制逻辑

贡献

欢迎投稿!请看 贡献.md 作为指导方针。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢

为 模型上下文协议 Anthropic的生态系统。


问题? 打开一个 问题 或启动 讨论

由以下材料制成❤️ 对于MCP社区