Discord Raw API MCP Server 使用说明

项目简介

Discord Raw API MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,它允许你通过简单的工具调用来控制 Discord 平台。该服务器提供对 Discord Raw API 的访问,支持 REST API 风格和 Slash Command 风格的命令,使得 LLM 应用能够方便地与 Discord 进行交互,例如创建角色、发送消息、管理频道等。

主要功能点

  • 提供 Discord Raw API 的访问能力。
  • 支持 REST API 和 Slash Command 两种调用风格。
  • 通过 MCP 协议与 LLM 客户端通信。
  • 易于安装和配置。

安装步骤

  1. 前往 Discord Developer Portal 创建一个新的 Discord 应用程序,并创建一个 Bot。
  2. 复制 Bot 的 Token。
  3. 在 Bot 设置中启用 MESSAGE CONTENT INTENT, PRESENCE INTENT, SERVER MEMBERS INTENT 这三个 Privileged Intents。
  4. 使用 OAuth2 URL Generator 将 Bot 邀请到你的 Discord 服务器。
  5. 克隆仓库到本地:
    git clone https://github.com/hanweg/mcp-discord-raw.git
  6. 进入仓库目录:
    cd mcp-discord-raw
  7. 创建并激活虚拟环境:
    uv venv
    .venv\Scripts\activate
  8. 安装项目依赖:
    uv pip install -e .

服务器配置

将以下 JSON 配置添加到你的 MCP 客户端(例如 'claude_desktop_config.json')的服务器配置中。请将 'PATH/TO/mcp-discord-raw' 替换为你的 'mcp-discord-raw' 仓库的实际路径,并将 'YOUR-BOT-TOKEN' 替换为你之前复制的 Discord Bot Token。

{
    "server_name": "discord-raw",
    "command": "uv",
    "args": [
        "--directory",
        "PATH/TO/mcp-discord-raw",
        "run",
        "discord-raw-mcp"
    ],
    "env": {
        "DISCORD_TOKEN": "YOUR-BOT-TOKEN"
    }
}

基本使用方法

配置完成后,在你的 LLM 应用中,你可以通过调用名为 'discord_api' 的工具来使用 Discord Raw API。你需要提供 'method' (HTTP 方法), 'endpoint' (Discord API 端点) 和可选的 'payload' (请求体)。

示例 1: 创建角色 (REST API 风格)

{
    "tool_calls": [
        {
            "name": "discord_api",
            "arguments": {
                "method": "POST",
                "endpoint": "guilds/YOUR_GUILD_ID/roles",
                "payload": {
                    "name": "Bot Master",
                    "permissions": "8",
                    "color": 3447003,
                    "mentionable": true
                }
            }
        }
    ]
}

示例 2: 创建角色 (Slash Command 风格)

{
    "tool_calls": [
        {
            "name": "discord_api",
            "arguments": {
                "method": "POST",
                "endpoint": "/role create name:Bot_Master color:blue permissions:8 mentionable:true guild_id:YOUR_GUILD_ID"
            }
        }
    ]
}

请将 'YOUR_GUILD_ID' 替换为你的 Discord 服务器 ID。你可以参考 Discord API 文档 以获取更多可用的端点和参数。

信息

分类

通信与社交