项目简介
Discord MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器应用。它允许支持 MCP 协议的大型语言模型 (LLM) 客户端(如 Goose, Claude Desktop 等)通过标准化的 JSON-RPC 接口调用 Discord 的各种功能,实现自动化管理和交互。
主要功能点
该服务器将 Discord 的许多操作封装成 MCP 工具,LLM 客户端可以发现并调用这些工具:
- 服务器信息查询: 获取服务器(Guild)的详细信息,如成员数量、频道列表、所有者等。
- 成员管理: 列出服务器成员,获取用户信息,以及踢出或封禁成员。
- 消息管理: 发送消息到指定频道,读取频道历史消息(包含反应信息),以及对消息添加/移除反应、删除消息(并可选地对发送者设置禁言)。
- 频道管理: 创建、删除文本频道或频道分类,创建消息串(Threads),以及设置频道权限。
- 角色管理: 创建、删除角色,列出所有角色,以及给用户添加或移除角色。
安装步骤
- 克隆仓库: 从 GitHub 克隆项目代码到本地。
git clone https://github.com/netixc/mcp-discord.git cd mcp-discord - 创建并激活虚拟环境: 推荐使用 'uv' 工具创建 Python 虚拟环境。
uv venv # 在 Windows 上激活 .venv\Scripts\activate # 在 macOS/Linux 上激活 source .venv/bin/activate - 安装依赖: 安装项目所需的 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 客户端,请参考客户端文档。
基本使用方法
- 确保你的 Discord Bot 已经被邀请加入你想要管理的服务器,并且具有执行所需操作的权限(例如发送消息、管理频道/成员等)。
- 配置你的 MCP 客户端,使其能够启动并连接到 Discord MCP Server,并设置必要的 'DISCORD_TOKEN' 环境变量。
- 启动 MCP 客户端。客户端会自动启动 Discord MCP Server。
- 在 MCP 客户端中,LLM 即可通过调用暴露的 Discord 工具(如 'send_message', 'list_members', 'create_text_channel' 等)来与 Discord 进行交互。
信息
分类
通信与社交