mcpField
D
Discord Raw API MCP Server

Discord Raw API MCP Server

本地服务
github.com/hanweg通信协作990 周前更新

关于 Discord Raw API MCP Server

Discord Raw API MCP Server 通过一个灵活工具向 MCP 客户端开放 Discord API,支持 REST 请求和斜杠命令语法,可用于管理角色、发送消息及查询服务器信息。

主要功能

  1. 01单一工具调用 Discord API
  2. 02支持 REST 请求与斜杠命令语法
  3. 03支持 GET、POST、PUT、PATCH 和 DELETE
  4. 04可选 JSON 请求负载

适用场景

  1. 01创建或修改 Discord 角色
  2. 02向 Discord 频道发送消息
  3. 03获取服务器信息

MCP 相关

它向 MCP 客户端提供 `discord_api` 工具,可通过 HTTP 方法、端点和可选负载调用 Discord API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"discord-raw": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Discord Raw API MCP Server

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

Discord Raw API 服务 MCP 服务

安装

通过 Smithery 安装

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

npx -y @smithery/cli install @hanweg/mcp-discord-raw --client claude
手动安装
  1. 设置你的 Discord 机器人:

    • 在 Discord Developer Portal 创建一个新应用
    • 创建一个机器人并复制令牌
    • 启用所需的特权意图:
      • MESSAGE CONTENT INTENT
      • PRESENCE INTENT
      • SERVER MEMBERS INTENT
    • 使用 OAuth2 URL Generator 邀请机器人加入你的服务器
  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 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。