Discord MCP服务器

一个提供Discord集成功能的模型上下文协议服务器,包含角色管理工具并针对Docker进行了优化。

  • by shawtymarco
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 shawtymarco/MCP-Discord

使用说明

Discord MCP服务器(Docker化)

提供Discord集成功能的模型上下文协议(MCP)服务器,现在通过角色管理工具进行了增强,并针对Docker进行了优化。

这个项目是 韩威/mcp不和 具有附加功能和简化的集装箱化。

✨ 最近的更新

  • v1.4.0版本 (2026-03-25):已添加 read_thread_messages 用于读取线程内消息的工具。 read_messages 现在,当线程附加到消息时,它包括消息ID(用于链接生成)和线程元数据。
  • v1.4.1 (2026-05-20):添加了可选的图像附件内容 read_messages 和 read_thread_messages 通过 include_image_data.
  • v1.3.0版本 (2026-03-05):增强 read_messages 反应信息包括自定义表情符号详细信息(ID、姓名、动画状态)。
  • v1.2.0版本 (2026-02-05):添加了对读取转发消息(消息快照)和详细嵌入信息(标题、字段、描述)的支持 read_messages.
  • v1.1.0版本 (2026-02-04):更新MCP SDK至v1.0.0+以解决 Resource 导入错误并提高与最新MCP客户端的兼容性

可用工具

🛡️ 角色和成员管理

  • list_roles:列出服务器中的所有角色及其ID和位置。
  • inspect_role:获取特定角色的详细元数据(权限、颜色等)。
  • list_members:列出服务器成员及其分配的角色。

📺 渠道和权限管理(新)

  • inspect_channel:查看频道详细信息和权限覆盖。
  • get_audit_log:JSON查看最近的服务器审计日志(禁令、角色更改等操作)。

📊 服务器信息

  • list_servers:列出机器人可以访问的所有服务器。
  • get_server_info:获取详细的服务器指标。
  • get_channels:列出服务器中的频道。
  • get_user_info:获取Discord用户的详细信息。

💬 消息传递和审核

  • send_message:向频道发送消息。
  • read_messages:阅读最近的历史记录、反应(包括自定义表情符号详细信息)、嵌入、消息ID和线程元数据。
  • read_thread_messages:逐个线程ID读取线程内的消息。
  • read_messages / read_thread_messages 可以包含图像附件作为MCP图像内容 include_image_data: true 可选 image_limit.
  • add_reaction / remove_reaction:管理消息反应。
  • moderate_message:删除消息和超时用户。

🚀 入门指南(Docker)

此版本完全在Docker中运行,无需本地安装Python。

1.塑造形象

克隆此存储库并运行:

docker build -t discord-mcp .

2.配置MCP客户端

将以下配置添加到您的MCP客户端(例如,Claude Desktop或Antigravity)。

  • Windows路径(Claude): %APPDATA%\Claude\claude_desktop_config.json
  • 反重力之路: ~/.gemini/antigravity/mcp_config.json
  • 基洛之路: - c:\Users\Admin\.kiro\settings\mcp.json (中文)

配置(config.yaml)

此服务器使用 config.yaml 自定义设置文件,如 时区.

  1. 创建 config.yaml 项目目录中的文件(或使用提供的默认值)。
  2. 添加您的设置:
    # Example: Set timezone to South Korea
    timezone: "Asia/Seoul"
    
  3. 装载此文件 通过Docker运行时(已在中配置 mcp_config.json):
    docker run -v /path/to/config.yaml:/app/config.yaml ...
    

Docker设置

{
  "mcpServers": {
    "discord": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "DISCORD_TOKEN",
        "discord-mcp"
      ],
      "env": {
        "DISCORD_TOKEN": "your_bot_token_here"
      }
    }
  }
}

3.设置你的Discord Bot

  1. 去 Discord开发者门户.
  2. 创建应用程序和Bot。
  3. 启用以下功能 特权网关意图:
    • PRESENCE INTENT
    • SERVER MEMBERS INTENT
    • MESSAGE CONTENT INTENT
  4. 复制您的 机器人令牌 并将其粘贴到 env 上面的部分。
  5. 使用OAuth2 URL生成器将机器人邀请到您的服务器(权限: Administrator 建议完全访问工具)。

🔮 未来计划

我们计划在此MCP服务器上添加更多Discord功能,扩展其功能,以实现更好的服务器管理和交互。请继续关注更新!

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。 基于原创作品 汉威 Altimer.