使用说明

项目简介

该项目 'hanweg_mcp-discord' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用提供与 Discord 平台集成的桥梁。通过这个 MCP 服务器,LLM 客户端(如 Claude Desktop)可以调用预设的工具,实现对 Discord 服务器的多种操作,例如发送消息、读取频道历史、管理成员和角色等。

主要功能点

  • 服务器信息查询:获取 Discord 服务器的详细信息和成员列表。
  • 消息管理:在指定频道发送消息,读取最近的消息历史,对消息添加或移除反应,以及执行消息审核(删除消息和禁言用户)。
  • 频道管理:创建新的文本频道和删除现有频道。
  • 角色管理:为用户添加或移除角色。
  • Webhook 管理:创建、列出、发送、修改和删除 Webhook。

安装步骤

  1. 创建 Discord 机器人应用

    • 访问 Discord Developer Portal 创建一个新的应用。
    • 创建一个 Bot 并复制 Bot Token。
    • 在 "Bot" 页面,启用 "Message Content Intent"、"Presence Intent" 和 "Server Members Intent" 这三个 Privileged Intents。
    • 使用 OAuth2 URL Generator 将 Bot 邀请到您的 Discord 服务器。
  2. 克隆仓库并安装: 打开终端,执行以下命令:

    git clone https://github.com/MCP-Mirror/hanweg_mcp-discord.git
    cd hanweg_mcp-discord
    uv venv
    .venv\Scripts\activate  # Windows
    # source .venv/bin/activate # macOS/Linux
    uv pip install -e .

服务器配置

MCP 服务器是为 MCP 客户端服务的,您需要在 MCP 客户端(例如 Claude Desktop)的配置文件中指定服务器的启动命令。以下是针对 'hanweg_mcp-discord' 项目的 Claude Desktop 客户端配置示例 ( 'claude_desktop_config.json' ):

"discord": {
  "serverName": "discord-mcp-server",  // 自定义服务器名称,用于在客户端中标识
  "command": "uv",                     // 启动命令,这里使用 uv (也可以是 python 或 python3,取决于您的环境)
  "args": [
    "--directory",
    "PATH_TO\\mcp-discord",        //  **请替换为 mcp-discord 仓库在您本地的绝对路径**
    "run",
    "-m",
    "discord_mcp.server"            //  指定运行 discord_mcp.server 模块
  ],
  "env": {
    "DISCORD_TOKEN": "your_bot_token" // **请替换为您在 Discord Developer Portal 获取的 Bot Token**
  }
}

注意:

  • 请将 'PATH_TO\mcp-discord' 替换为您克隆 'hanweg_mcp-discord' 仓库到本地的实际路径。
  • 请将 'your_bot_token' 替换为您在 Discord Developer Portal 获取的机器人令牌 (Bot Token)。
  • 配置文件路径通常为:
    • Windows: '%APPDATA%\Claude\claude_desktop_config.json'
    • macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'

基本使用方法

  1. 确保已完成安装步骤和服务器配置。
  2. 启动 MCP 客户端 (如 Claude Desktop),客户端会根据配置连接到 'hanweg_mcp-discord' 服务器。
  3. 在 MCP 客户端中,LLM 即可通过调用预定义的工具来与 Discord 服务器进行交互。例如,LLM 可以指示客户端使用 'send_message' 工具在指定的 Discord 频道发送消息,或使用 'read_messages' 工具获取频道的消息历史。
  4. 具体工具的使用方式和参数请参考工具的描述和输入 Schema,这些信息通常会在 MCP 客户端中展示。

信息

分类

通信与社交