D

Discord直连管理

@hanweg/mcp-discord-raw
1 Stars 473 次浏览 hanweg 更新于 2026-08-23

启用通过REST API调用和斜杠命令语法与Discord API的直接交互,用于机器人管理、服务器配置和消息操作。

该服务暂未提供标准配置,请参考 README 手动接入

可用工具 (1 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

discord_api 3 个参数 需填 2 项

Execute raw Discord API commands. Supports both REST API calls and application commands.

必填参数:method、endpoint

服务介绍

Discord Raw API MCP 服务器

smithery 徽章
此 MCP 服务器通过一个灵活的工具提供原始 Discord API 访问。它同时支持 REST API 调用和斜杠命令语法。

安装

通过 Smithery 安装

要通过 Smithery 自动为 Claude Desktop 安装 Discord Raw API:

npx -y @smithery/cli install @hanweg/mcp-discord-raw --client claude

手动安装

  1. 设置您的 Discord 机器人:

    • Discord 开发者门户 创建一个新的应用程序
    • 创建一个机器人并复制令牌
    • 启用所需的特权意图:
      • 消息内容意图
      • 在线状态意图
      • 服务器成员意图
    • 使用 OAuth2 URL 生成器将机器人邀请到您的服务器
  2. 克隆并安装包:

# Clone the repository
git clone https://github.com/hanweg/mcp-discord-raw.git
cd mcp-discord-raw

# Create and activate virtual environment
uv venv
.venv\Scripts\activate

### If using Python 3.13+ - install audioop library: `uv pip install audioop-lts`

# Install the package
uv pip install -e .

配置

将以下内容添加到您的 claude_desktop_config.json 文件中

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

使用

REST API 风格

{
    "method": "POST",
    "endpoint": "guilds/123456789/roles",
    "payload": {
        "name": "Bot Master",
        "permissions": "8",
        "color": 3447003,
        "mentionable": true
    }
}

斜杠命令风格

{
    "method": "POST",
    "endpoint": "/role create name:Bot_Master color:blue permissions:8 mentionable:true guild_id:123456789"
}

示例

  1. 创建角色:
{
    "method": "POST",
    "endpoint": "/role create name:Moderator color:red permissions:moderate_members guild_id:123456789"
}
  1. 发送消息:
{
    "method": "POST",
    "endpoint": "channels/123456789/messages",
    "payload": {
        "content": "Hello from the API!"
    }
}
  1. 获取服务器信息:
{
    "method": "GET",
    "endpoint": "guilds/123456789"
}

建议:

将服务器、频道和用户 ID 以及一些示例放在项目知识库中,以避免每次都提醒模型这些信息,并附上类似以下内容以开始使用:

“这是如何有效使用 Discord 原始 API 工具的方法:
该工具名为 discord_api 并接受三个参数:

  1. method: HTTP 方法("GET", "POST", "PUT", "PATCH", "DELETE")
  2. endpoint: Discord API 端点(例如,"guilds/{guild.id}/roles")
  3. payload: 请求体中的可选 JSON 对象
    我使用的一些关键示例:
  4. 创建角色:
discord_api
method: POST
endpoint: guilds/{server_id}/roles
payload: {
    "name": "Role Name",
    "color": 3447003,  // Blue color in decimal
    "mentionable": true
}
  1. 创建类别和频道:
// Category
discord_api
method: POST
endpoint: guilds/{server_id}/channels
payload: {
    "name": "Category Name",
    "type": 4  // 4 = category
}
// Text channel in category
discord_api
method: POST
endpoint: guilds/{server_id}/channels
payload: {
    "name": "channel-name",
    "type": 0,  // 0 = text channel
    "parent_id": "category_id",
    "topic": "Channel description"
}
  1. 将频道移动到类别:
discord_api
method: PATCH
endpoint: channels/{channel_id}
payload: {
    "parent_id": "category_id"
}
  1. 发送消息:
discord_api
method: POST
endpoint: channels/{channel_id}/messages
payload: {
    "content": "Message text with emojis \ud83d\ude04"
}
  1. 分配角色:
discord_api
method: PUT
endpoint: guilds/{server_id}/members/{user_id}/roles/{role_id}
payload: {}

该工具支持完整的 Discord API,因此您可以参考 Discord API 文档以获取更多端点和功能。响应包括可用于后续请求的 ID 和其他元数据。
专业提示:

  • 保存从创建请求返回的 ID 以用于后续请求
  • ~~Unicode 表情符号可以直接包含在消息内容中~~?告诉模型使用像 :champagne_glass: 这样的 Discord 表情符号 - 包含 Unicode 表情符号的消息会使 Claude Desktop 卡住?
  • 频道类型:0 = 文本,2 = 语音,4 = 类别,13 = 舞台
  • 角色颜色采用十进制格式(而非十六进制)
  • 大多数修改端点使用 PATCH 方法
  • 空负载应为 {} 而不是 null”

许可证

MIT 许可证

相关 MCP 服务