mcpField
D
Discord Mcp

Discord Mcp

本地服务
github.com/SaseQ通信协作5695 天前更新

关于 Discord Mcp

Discord Mcp 是面向 MCP 兼容应用的 Discord API 服务端,适用于需要通过 AI 助手管理 Discord 服务器的团队。它提供消息、频道、成员、角色及活动等管理工具。

主要功能

  1. 01收发、编辑和搜索消息
  2. 02管理频道、分类与线程
  3. 03管理成员、角色和权限
  4. 04操作语音频道与活动
  5. 05管理邀请和 Webhook

适用场景

  1. 01检索频道消息并发送回复
  2. 02创建频道并调整权限
  3. 03管理成员角色及超时状态

MCP 相关

它将 Discord API 的消息、服务器信息、频道、成员等操作作为工具开放给 MCP 客户端。支持通过 HTTP 端点或旧版 stdio 模式连接。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

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

详细介绍

DeepSeek-V3

📖 描述

一个使用 (JDA) 构建的 Discord API Model Context Protocol (MCP) 服务, 旨在将 Discord 机器人与 Claude、ChatGPT 等兼容 MCP 的应用集成。它允许 AI 助手通过管理频道、发送消息和检索服务信息来与 Discord 交互。非常适合构建强大的 Discord 自动化和 AI 驱动工作流。

🔬 安装

► 🐳 Docker 安装(推荐)

说明

需要安装 Docker。完整说明请参见 docker.com。

1) 设置本地环境变量
export DISCORD_TOKEN="YOUR_DISCORD_BOT_TOKEN"
export DISCORD_GUILD_ID="OPTIONAL_DEFAULT_SERVER_ID"
export SPRING_PROFILES_ACTIVE=http

重要

创建 Discord 机器人并获取其令牌的说明请参见此处。

提示

DISCORD_GUILD_ID 环境变量为可选项。

提供该变量后,它会设置一个默认的 Discord 服务 ID,因此任何接受 guildId 参数的工具都可以省略该参数。

2) 运行 Docker 容器
docker run -d -i \
  --name discord-mcp \
  --restart unless-stopped \
  -p 8085:8085 \
  -e SPRING_PROFILES_ACTIVE \
  -e DISCORD_TOKEN \
  -e DISCORD_GUILD_ID \
  saseq/discord-mcp:latest

默认 MCP 端点 URL(HTTP 配置):http://localhost:8085/mcp

🐋 Docker Compose 安装
1) 克隆仓库
git clone https://github.com/SaseQ/discord-mcp
2) 进入项目目录
cd discord-mcp
3) 创建本地运行环境
cat > .env <<EOF
SPRING_PROFILES_ACTIVE=http
DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN>
DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID>
EOF
4) 启动一个共享的 MCP 服务容器
docker compose up -d --build
5) 验证
docker ps --filter name=discord-mcp
curl -fsS http://localhost:8085/actuator/health

提示

无需手动设置 LOGGING_PATTERN_CONSOLE。 http 和旧版 stdio 模式的日志记录均会自动配置。

默认 MCP 端点 URL(HTTP 配置):http://localhost:8085/mcp

健康检查端点(Actuator):http://localhost:8085/actuator/health

🔧 手动安装
1) 克隆仓库
git clone https://github.com/SaseQ/discord-mcp
2) 构建项目

注意:使用 mvn 命令需要安装 Maven。完整说明请参见此处。

cd discord-mcp
mvn clean package # The jar file will be available in the /target directory
3) 配置 AI 客户端

将 JAR 作为长期运行的服务启动:

DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN> \
DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID> \
SPRING_PROFILES_ACTIVE=http \
java -jar /absolute/path/to/discord-mcp-1.0.0.jar

注意:DISCORD_GUILD_ID 环境变量为可选项。提供该变量后,它会设置一个默认的 Discord 服务 ID,因此任何接受 guildId 参数的工具都可以省略该参数。

默认 MCP 端点 URL(HTTP 配置):http://localhost:8085/mcp

🔗 连接

► 🗞️ 默认 config.json 连接

推荐(HTTP 单例模式):

{
  "mcpServers": {
    "discord-mcp": {
      "url": "http://localhost:8085/mcp"
    }
  }
}

旧版模式(stdio,每个客户端会话都会启动一个新进程/容器):

{
  "mcpServers": {
    "discord-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN>",
        "-e",
        "DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID>",
        "saseq/discord-mcp:latest"
      ]
    }
  }
}
⌨️ Claude Code 连接

推荐(HTTP 单例模式):

claude mcp add discord-mcp --transport http http://localhost:8085/mcp

旧版模式(stdio,每个客户端会话都会启动一个新进程/容器):

claude mcp add discord-mcp -- docker run --rm -i -e DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN> -e DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID> saseq/discord-mcp:latest
🤖 Codex CLI 连接
codex mcp add discord-mcp --url http://localhost:8085/mcp
codex mcp list
🦞 OpenClaw 连接

运行此命令:

openclaw mcp set discord-mcp '{"url":"http://localhost:8085/mcp","transport":"streamable-http"}'
openclaw mcp list

或者

将以下配置粘贴到 OpenClaw 的 ~/.openclaw/config.json 文件中:

{
  "mcp": {
    "servers": {
      "discord-mcp": {
        "url": "http://localhost:8085/mcp",
        "transport": "streamable-http"
      }
    }
  }
}
🖲 Cursor 连接

前往:Settings -> Cursor Settings -> MCP -> Add new global MCP server

建议将以下配置粘贴到 Cursor 的 ~/.cursor/mcp.json 文件中。你也可以在项目文件夹中创建 .cursor/mcp.json,将其安装到特定项目中。更多信息请参阅 Cursor MCP 文档。

{
  "mcpServers": {
    "discord-mcp": {
      "url": "http://localhost:8085/mcp"
    }
  }
}
🚀 n8n 连接
在 n8n 中连接
  1. 打开 n8n 并添加一个 MCP Client 节点。
  2. 选择 HTTP 或 Streamable HTTP 传输方式(取决于你的 n8n 版本/节点选项)。
  3. 将服务 URL 设置为:http://localhost:8085/mcp
  4. 保存节点并测试连接。
  5. 连接后,你可以在工作流中使用 discord-mcp 提供的 Discord 工具。
说明
  • 如果 n8n 在 Docker 中运行,localhost 可能指向 n8n 容器本身,而不是你的主机。
  • 此时请使用 Docker 服务名称或其他可访问的主机,例如:http://discord-mcp:8085/mcp
🖥 Claude Desktop 连接

STDIO 本地配置(默认,旧版):

将以下配置粘贴到 Claude Desktop 的 claude_desktop_config.json 文件中。

{
  "mcpServers": {
    "discord-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN>",
        "-e",
        "DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID>",
        "saseq/discord-mcp:latest"
      ]
    }
  }
}

远程 MCP Connector:

  1. 打开 Claude Desktop,前往 Settings -> Connectors。
  2. 添加自定义 Connector,并将 MCP URL 设置为你的服务端点(例如 https://<PUBLIC_HOST>/mcp)。
  3. 保存并重新连接。

Claude Desktop 远程 Connector 通过 Connectors UI 管理(而非 claude_desktop_config.json)。 http://localhost:8085/mcp 只能从你的机器访问。对于 Claude Desktop 远程 Connector,请使用公开 HTTPS 暴露该端点(例如通过隧道/反向代理)。

🛠️ 可用工具

服务信息
用户管理
  • get_user_id_by_name: 根据服务器中的用户名获取 Discord 用户 ID,以便使用 <@id> 提及用户
  • get_member_by_id: 根据稳定的用户 ID 获取 Discord 服务器成员信息,包括用户名、全局名称、昵称、有效名称、机器人标记、加入时间和角色
  • search_members: 按 ID、用户名、全局名称、昵称或有效名称搜索 Discord 服务器成员,并返回包含稳定用户 ID 的身份候选项
  • send_private_message: 向指定用户发送私信
  • edit_private_message: 编辑发给指定用户的私信
  • delete_private_message: 删除发给指定用户的私信
  • read_private_messages: 读取与指定用户的私信历史记录(包括作者 ID、回复标记、附件元数据;支持 count 1-100,以及可选游标:before、after 或 around)
消息管理
  • send_message: 向指定频道发送消息
  • edit_message: 编辑指定频道中的消息
  • delete_message: 删除指定频道中的消息
  • read_messages: 读取指定频道的消息历史记录(包括作者 ID、回复标记和附件元数据;支持 count 1-100,以及可选游标:before、after 或 around)
  • search_messages: 在频道或话题串的最新消息中搜索文本(不区分大小写,最多扫描 1000 条消息,按时间从新到旧排列)
  • add_reaction: 为指定消息添加表情回应
  • remove_reaction: 移除消息上指定的表情回应
  • get_message: 按 ID 获取单条消息,格式与 read_messages 相同;回复中会包含被回复的消息
  • get_message_replies: 扫描该消息之后发布的消息,查找对它的回复(最多 1000 条)
频道管理
类别管理
Webhook 管理
角色管理
管理与用户管理
语音与舞台频道管理
计划活动管理
频道权限覆盖
邀请管理
话题串管理
  • list_active_threads:列出服务中的所有活跃话题串
  • list_threads:列出某个频道(文本、公告、论坛或媒体频道)的话题串,包括最近归档的公开话题串;返回的话题串 ID 可作为消息工具中的 channelId 使用(归档的话题串只有在对其父频道调用 list_threads 后才能在此处使用)
  • get_thread_info:获取话题串的详细信息(父频道、所有者、归档/锁定状态、消息数和成员数;归档的话题串需要先对父频道调用 list_threads)
论坛管理
表情管理
  • list_emojis:列出服务中的所有自定义表情
  • get_emoji_details:获取特定自定义表情的详细信息
  • create_emoji:向服务上传新的自定义表情(base64 或图片 URL,最大 256KB)
  • edit_emoji:编辑现有表情的名称或角色限制
  • delete_emoji:从服务中永久删除自定义表情

如果设置了 DISCORD_GUILD_ID,以上所有工具的 guildId 参数均为可选。


更多详细示例请参阅 Wiki。

评论

支持 Markdown

第一次接触 MCP?

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

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