Skip to main content
Glama

Discord MCP 服务器

一个轻量级、支持多服务器的 Discord MCP 服务器,拥有 90 多种工具

npm License Node Discord.js MCP

discord-mcp MCP server

通过 Claude DesktopClaude CodeCursorVS Code Copilot 或任何兼容 MCP 的客户端管理您的整个 Discord 服务器。 通过自然语言即可处理消息、频道、角色、权限、审核、论坛、Webhook 和嵌入式消息等。


为什么选择这个?

  • 90 多种工具 — 涵盖消息、频道、角色、权限、审核、论坛、Webhook、定时活动、邀请、私信、嵌入式消息等

  • 多服务器支持 — 可跨多个服务器工作,无需绑定 GUILD_ID

  • 轻量级 — TypeScript + Node.js,包大小约 25kB,Docker 镜像约 73MB(相比之下 Java 版本通常超过 400MB)

  • 模块化 — 架构清晰,易于扩展新工具

  • 两种安装方式 — npm 或 Docker,任您选择


快速开始

将其添加到您的 MCP 客户端配置中,并将 YOUR_TOKEN_HERE 替换为您的机器人令牌:

{
  "mcpServers": {
    "discord": {
      "command": "npx",
      "args": ["-y", "@pasympa/discord-mcp"],
      "env": {
        "DISCORD_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

无需安装 — npx 会处理一切。

还没有机器人?请参阅 创建您的 Discord 机器人


配置

将上述配置添加到您的 claude_desktop_config.json 中:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

保存后重启 Claude Desktop。

claude mcp add discord -e DISCORD_TOKEN=YOUR_TOKEN_HERE -- npx -y @pasympa/discord-mcp

将上述配置添加到 ~/.cursor/mcp.json。详情请参阅 Cursor MCP 文档

添加到您的 .vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "discord-token",
      "description": "Discord Bot Token",
      "password": true
    }
  ],
  "servers": {
    "discord": {
      "command": "npx",
      "args": ["-y", "@pasympa/discord-mcp"],
      "env": {
        "DISCORD_TOKEN": "${input:discord-token}"
      }
    }
  }
}

详情请参阅 VS Code MCP 文档

{
  "mcpServers": {
    "discord": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "DISCORD_TOKEN=YOUR_TOKEN_HERE",
        "pasympa/discord-mcp:latest"
      ]
    }
  }
}
git clone https://github.com/PaSympa/discord-mcp
cd discord-mcp
npm install && npm run build
{
  "mcpServers": {
    "discord": {
      "command": "node",
      "args": ["/absolute/path/to/discord-mcp/dist/index.js"],
      "env": {
        "DISCORD_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

无需在 MCP 配置中传递令牌,而是在项目根目录创建一个 .env 文件:

DISCORD_TOKEN=YOUR_TOKEN_HERE

服务器会自动通过 dotenv 加载 .env 文件。


创建您的 Discord 机器人

  1. 前往 discord.com/developers/applications

  2. New Application > 输入名称

  3. Bot 选项卡 > Reset Token > 复制令牌

  4. 启用 Privileged Gateway Intents

    • Server Members Intent

    • Message Content Intent

  5. OAuth2 > URL Generator

    • Scopes: bot

    • Permissions: Send Messages, Read Message History, Manage Channels, Manage Roles, Kick Members, Ban Members, Moderate Members, View Audit Log, Manage Messages, Manage Threads, Add Reactions, Manage Guild, Manage Webhooks, Manage Events, Create Instant Invite

  6. 复制生成的 URL 并将机器人邀请到您的服务器


可用工具 (91)

发现与导航

工具

描述

discord_list_guilds

列出机器人连接的所有服务器

discord_get_guild_info

获取详细的服务器信息(名称、成员、频道、角色、加成)

discord_list_channels

按类别列出服务器中的所有频道

discord_find_channel_by_name

按名称查找频道(部分匹配)

消息 (18 个工具)

工具

描述

discord_read_messages

读取文本频道的最后 N 条消息

discord_send_message

发送纯文本消息

discord_reply_message

回复特定消息

discord_edit_message

编辑机器人发送的消息

discord_delete_message

删除特定消息

discord_add_reaction

为消息添加表情反应

discord_remove_reactions

移除反应(全部、按表情或按用户)

discord_get_reactions

列出使用特定表情反应的用户

discord_create_thread

从消息创建线程或创建独立线程

discord_bulk_delete_messages

批量删除消息 (2-100)

discord_send_embed

发送带有所有选项的富文本嵌入式消息

discord_edit_embed

编辑机器人之前发送的嵌入式消息

discord_send_multiple_embeds

在单条消息中发送最多 10 个嵌入式消息

discord_pin_message

置顶或取消置顶消息

discord_fetch_pinned_messages

列出频道中的所有置顶消息

discord_search_messages

按关键词搜索消息(最近 100 条)

discord_crosspost_message

将消息发布到公告频道关注者

discord_forward_message

将消息转发到另一个频道

频道 (8 个工具)

工具

描述

discord_create_channel

创建文本、语音频道或类别

discord_delete_channel

删除频道

discord_edit_channel

编辑名称、主题、慢速模式、NSFW 标记

discord_move_channel

将频道移入/移出类别

discord_clone_channel

克隆带有权限设置的频道

discord_set_channel_position

设置类别内的显示位置

discord_follow_announcement_channel

关注公告频道

discord_lock_channel_permissions

与父类别同步权限

频道权限 (6 个工具)

工具

描述

discord_get_channel_permissions

列出频道上的所有权限覆盖

discord_set_role_permission

允许/拒绝角色在频道上的权限

discord_set_member_permission

允许/拒绝成员在频道上的权限

discord_reset_channel_permissions

移除所有覆盖(重置为继承)

discord_copy_permissions

将权限覆盖从一个频道复制到另一个频道

discord_audit_permissions

对所有频道进行完整的权限审计

成员 (11 个工具)

工具

描述

discord_list_members

列出服务器成员及其角色

discord_get_member_info

详细成员信息(角色、权限、加入日期)

discord_search_members

按用户名或昵称搜索成员

discord_set_nickname

设置或清除成员昵称

discord_kick_member

踢出成员

discord_ban_member

封禁成员(可选删除最近消息)

discord_unban_member

解封用户

discord_bulk_ban

批量封禁用户(用于防御骚扰)

discord_list_bans

列出所有被封禁的用户

discord_timeout_member

禁言成员(0 为移除禁言)

discord_prune_members

移除不活跃成员(支持试运行)

角色 (9 个工具)

工具

描述

discord_list_roles

列出所有角色及其权限和成员数

discord_create_role

创建新角色

discord_edit_role

编辑角色(名称、颜色、权限、显示、可提及)

discord_delete_role

删除角色

discord_add_role

为成员分配角色

discord_remove_role

从成员移除角色

discord_get_role_members

列出拥有特定角色的所有成员

discord_set_role_position

更改角色在层级中的位置

discord_set_role_icon

为角色设置自定义图标或 Unicode 表情

论坛 (10 个工具)

工具

描述

discord_get_forum_channels

列出服务器中的所有论坛频道

discord_create_forum_channel

创建新论坛频道

discord_create_forum_post

在论坛中创建帖子/线程

discord_get_forum_post

获取帖子的详细信息和消息

discord_list_forum_threads

列出线程(活跃 + 已归档)

discord_reply_to_forum

回复论坛帖子

discord_delete_forum_post

删除论坛线程

discord_get_forum_tags

获取可用标签

discord_set_forum_tags

设置/更新论坛标签

discord_update_forum_post

更新标题、归档、锁定、标签状态

Webhooks (8 个工具)

工具

描述

discord_create_webhook

在频道上创建 Webhook

discord_send_webhook_message

通过 Webhook 发送消息(自定义用户名/头像、嵌入式消息)

discord_edit_webhook

编辑 Webhook 的名称、头像或频道

discord_delete_webhook

删除 Webhook

discord_list_webhooks

列出频道或服务器的 Webhook

discord_edit_webhook_message

编辑 Webhook 发送的消息

discord_delete_webhook_message

删除 Webhook 发送的消息

discord_fetch_webhook_message

获取特定的 Webhook 消息

定时活动 (7 个工具)

工具

描述

discord_list_scheduled_events

列出服务器中的所有定时活动

discord_get_scheduled_event

获取定时活动的详细信息

discord_create_scheduled_event

创建语音、舞台或外部活动

discord_edit_scheduled_event

编辑现有的定时活动

discord_delete_scheduled_event

删除定时活动

discord_get_event_subscribers

获取标记为“感兴趣”的用户

discord_create_event_invite

创建链接到活动的邀请

私信

工具

描述

discord_send_dm

通过用户 ID 向用户发送私信

邀请 (5 个工具)

工具

描述

discord_list_invites

列出服务器中的所有活跃邀请

discord_list_channel_invites

列出特定频道的邀请

discord_get_invite

通过代码获取邀请详情

discord_create_invite

为频道创建邀请链接

discord_delete_invite

撤销邀请

审核与筛选

工具

描述

discord_get_audit_log

获取服务器审核日志

discord_get_membership_screening

获取成员资格筛选表单

discord_update_membership_screening

更新新成员的筛选规则

统计

工具

描述

discord_get_server_stats

服务器统计:成员、频道、角色、加成等级


使用示例

"List all servers the bot is in"
"Read the last 10 messages in #general"
"Send 'Hello everyone!' to the announcements channel"
"Create a forum channel called 'feedback' with tags Bug, Feature, Question"
"Show the full permission audit for the server"
"Create a webhook on #notifications and send a test message"
"Ban user 112233445566 and delete their messages from the last 3 days"
"Create an event called 'Game Night' for next Friday at 8pm"
"List all upcoming events in the server"
"Create a permanent invite for #general"
"List all active invites and delete expired ones"
"Send a DM to user 112233445566 saying 'Your build passed!'"
"Search for members named 'john'"
"List all banned users in the server"
"Show all pinned messages in #general"
"Forward that message to #announcements"

查找 Discord ID

在 Discord 中启用 开发者模式设置 > 高级 > 开发者模式

然后 右键点击 服务器、频道或用户 > 复制 ID


项目结构

discord-mcp/
├── src/
│   ├── index.ts             ← Entry point (MCP server + transport)
│   ├── client.ts            ← Discord client + shared helpers
│   ├── constants.ts         ← Shared constants (limits, defaults)
│   └── tools/
│       ├── index.ts         ← Tool registry
│       ├── types.ts         ← Shared TypeScript interfaces
│       ├── discovery.ts     ← Guild/channel discovery
│       ├── messages.ts      ← Message CRUD, reactions, threads, embeds
│       ├── channels.ts      ← Channel management
│       ├── permissions.ts   ← Permission overwrites
│       ├── members.ts       ← Member management
│       ├── roles.ts         ← Role CRUD and assignment
│       ├── moderation.ts    ← Audit log
│       ├── screening.ts     ← Membership screening
│       ├── stats.ts         ← Server statistics
│       ├── forums.ts        ← Forum channels, posts, tags
│       ├── webhooks.ts      ← Webhook management
│       ├── scheduledEvents.ts ← Scheduled events
│       ├── invites.ts        ← Invite management
│       └── dm.ts             ← Direct messages
├── .github/workflows/       ← CI/CD (build check + auto release)
├── Dockerfile
├── .dockerignore
├── .env.example
├── package.json
├── tsconfig.json
├── CHANGELOG.md
├── CONTRIBUTING.md
├── SECURITY.md
└── README.md

添加新工具

  1. src/tools/ 中创建一个新文件(例如 events.ts

  2. 导出 definitions(工具模式)和 handle()(工具逻辑)

  3. src/tools/index.tsmodules 数组中导入并添加它


安全性

  • 切勿将 Discord 令牌提交到 Git

  • 使用环境变量或 .env 文件(不要纳入版本控制)

  • 仅授予机器人所需的权限


贡献

欢迎贡献!

  1. Fork 本仓库

  2. 创建功能分支 (git checkout -b feature/my-feature)

  3. 遵循模块化结构 — 参见 添加新工具

  4. 提交更改并开启 Pull Request


许可证

MIT — 详情请参阅 LICENSE

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PaSympa/discord-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server