项目简介

Discord MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器应用。它允许支持 MCP 协议的大型语言模型 (LLM) 客户端(如 Goose, Claude Desktop 等)通过标准化的 JSON-RPC 接口调用 Discord 的各种功能,实现自动化管理和交互。

主要功能点

该服务器将 Discord 的许多操作封装成 MCP 工具,LLM 客户端可以发现并调用这些工具:

  • 服务器信息查询: 获取服务器(Guild)的详细信息,如成员数量、频道列表、所有者等。
  • 成员管理: 列出服务器成员,获取用户信息,以及踢出或封禁成员。
  • 消息管理: 发送消息到指定频道,读取频道历史消息(包含反应信息),以及对消息添加/移除反应、删除消息(并可选地对发送者设置禁言)。
  • 频道管理: 创建、删除文本频道或频道分类,创建消息串(Threads),以及设置频道权限。
  • 角色管理: 创建、删除角色,列出所有角色,以及给用户添加或移除角色。

安装步骤

  1. 克隆仓库: 从 GitHub 克隆项目代码到本地。
    git clone https://github.com/netixc/mcp-discord.git
    cd mcp-discord
  2. 创建并激活虚拟环境: 推荐使用 'uv' 工具创建 Python 虚拟环境。
    uv venv
    # 在 Windows 上激活
    .venv\Scripts\activate
    # 在 macOS/Linux 上激活
    source .venv/bin/activate
  3. 安装依赖: 安装项目所需的 Python 包。
    uv pip install -e .

服务器配置

本 MCP 服务器需要一个 Discord Bot Token 才能连接到 Discord。你需要创建一个 Discord Bot 应用并在 Discord Developer Portal 获取其 Token。

将 Discord Bot Token 设置为环境变量 'DISCORD_TOKEN'。你也可以设置可选的环境变量 'DEFAULT_SERVER_ID' 来指定一个默认操作的服务器 ID。

MCP 客户端需要知道如何启动这个服务器进程并与其通信。通常在 MCP 客户端的配置文件中进行设置。例如,对于 Claude Desktop,你可能需要配置一个 'discord' 模块,指定启动服务器的命令、参数和环境变量。配置的关键信息包括:

  • 'command': 启动服务器的可执行命令(例如 'uv' 或 'python')。
  • 'args': 传递给命令的参数,用于执行服务器主程序(例如 '--directory /PATH/TO/mcp-discord run mcp-discord')。
  • 'env': 一个包含环境变量的字典,至少包含 'DISCORD_TOKEN',可选包含 'DEFAULT_SERVER_ID'。

注意: 具体配置格式和位置取决于你使用的 MCP 客户端,请参考客户端文档。

基本使用方法

  1. 确保你的 Discord Bot 已经被邀请加入你想要管理的服务器,并且具有执行所需操作的权限(例如发送消息、管理频道/成员等)。
  2. 配置你的 MCP 客户端,使其能够启动并连接到 Discord MCP Server,并设置必要的 'DISCORD_TOKEN' 环境变量。
  3. 启动 MCP 客户端。客户端会自动启动 Discord MCP Server。
  4. 在 MCP 客户端中,LLM 即可通过调用暴露的 Discord 工具(如 'send_message', 'list_members', 'create_text_channel' 等)来与 Discord 进行交互。

信息

分类

通信与社交