使用说明

项目简介

该项目实现了一个 MCP (Model Context Protocol) 服务器,旨在桥接大型语言模型 (LLM) 和 Discord 平台。通过此服务器,LLM客户端可以调用预定义的功能(工具),与Discord进行交互,例如在指定的Discord频道发送消息、读取最近的消息、以及给消息添加表情反应等。这使得LLM能够利用Discord作为外部知识库或执行特定操作的平台。

主要功能点

  • 消息发送: 允许LLM向指定的Discord频道发送文本消息。
  • 消息读取: 允许LLM从指定的Discord频道读取最近的消息内容,包括作者、时间和反应等信息。
  • 添加反应: 允许LLM给指定的Discord消息添加表情符号反应。
  • 简单的笔记功能 (Resources): 提供基础的笔记存储和访问功能 (尽管在代码中可能未完全实现,但在 'README.md' 中有提及)。
  • 消息摘要 Prompt (Prompts): 提供一个Prompt模板,用于总结存储的笔记内容 (尽管在代码中可能未完全实现,但在 'README.md' 中有提及)。

安装步骤

  1. 克隆仓库: 首先,您需要从GitHub克隆该仓库到您的本地计算机。
    git clone https://github.com/koladev32/mcp-discord-chat
    cd mcp-discord-chat
  2. 安装依赖: 使用 'uv' (或 'pip') 包管理器安装项目依赖。如果您的环境中没有 'uv',可以使用 'pip' 代替。
    uv sync  # 或者使用 pip install -r requirements.txt
    (如果 'requirements.txt' 文件不存在,可能需要手动创建一个包含 'mcp-server', 'discord.py' 等依赖的文件,或者直接使用 'uv' 或 'pip' 安装这些包)
  3. 构建: 构建项目包。
    uv build # 或者 python setup.py sdist bdist_wheel
  4. 设置 Discord Bot Token: 您需要在Discord开发者门户创建一个Discord Bot,并获取Bot Token。将Token设置为名为 'DISCORD_TOKEN' 的环境变量。这是服务器连接到Discord所必需的凭证。

服务器配置

要将此MCP服务器配置到MCP客户端(例如 Claude),您需要提供服务器的启动命令和参数。以下是一个配置示例,通常需要添加到MCP客户端的配置文件(例如 Claude Desktop 的 'claude_desktop_config.json')。

{
  "mcpServers": {
    "mcp-discord-chat": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-discord-chat", // 请替换为克隆仓库的实际本地路径
        "run",
        "mcp-discord-chat"
      ]
    }
  }
}

配置参数解释:

  • 'server name': '"mcp-discord-chat"' -- 服务器的名称,可以自定义,用于在MCP客户端中标识该服务器。
  • 'command': '"uv"' -- 启动服务器的命令。这里使用 'uv' 包管理器来运行Python脚本。如果您的环境配置不同,可能需要调整为 'python' 或其他合适的命令。
  • 'args': 启动命令的参数列表。
    • '"--directory"': 指定服务器代码所在的目录。请将 '"/path/to/mcp-discord-chat"' 替换为您在步骤1中克隆仓库的实际本地绝对路径
    • '"run"': 'uv run' 命令的一部分,用于运行指定的Python模块。
    • '"mcp-discord-chat"': 指定要运行的Python模块名,对应于项目中的 'mcp_discord_chat' 包。

请务必将 '/path/to/mcp-discord-chat' 替换为您电脑上 'mcp-discord-chat' 仓库的实际路径。

基本使用方法

  1. 启动服务器: 配置完成后,当MCP客户端启动并尝试连接到 "mcp-discord-chat" 服务器时,它将使用您提供的配置命令来启动服务器。
  2. 通过MCP客户端调用工具: 在MCP客户端中,您可以使用预定义的工具名称(例如 'send_message', 'read_messages', 'add_reaction')及其所需的参数来调用服务器的功能。例如,如果您想让LLM发送一条Discord消息,您需要告知LLM使用 'send_message' 工具,并提供目标频道ID和消息内容。

注意: 您需要确保Discord Bot已正确配置并添加到您希望LLM操作的Discord服务器中。

信息

分类

通信与社交