不和谐mcp rs
基于Rust的 主控程序 公开Discord REST API作为工具的服务器。连接任何MCP客户端(Claude Code、Claude Desktop等)以与Discord交互——管理服务器、频道、消息、成员、角色等——范围取决于您的机器人令牌所拥有的权限。
特性
- 152工具 涵盖Discord REST API
- Stdio传输(适用于任何MCP客户端)
- 通过以下方式自动限速 黄昏http
- Discord API错误作为工具结果返回,因此LLM可以对此进行推理
工具类别
| 类别 | 工具 | 示例 |
|---|---|---|
| 发现 | 3 | 获取机器人信息,列出公会,公会详细信息 |
| 频道 | 8 | 列出、创建、更新、删除、重新排序、关注公告、键入 |
| 消息 | 10 | 发送、编辑、删除、批量删除、固定/取消固定、交叉发布 |
| 反应 | 5 | 添加、删除、列出、清除反应 |
| 成员 | 5 | 列表、搜索、更新、踢 |
| 禁令 | 5 | 列表、获取、禁令、取消禁令、批量禁令 |
| 角色 | 6 | CRUD,从成员中分配/删除 |
| 线程 | 10 | 创建、加入/离开、管理成员、列出活动/存档 |
| Webhooks | 7 | CRUD,执行 |
| 邀请 | 5 | 列出、获取、创建、删除 |
| 表情符号 | 9 | 公会和应用程序表情符号CRUD |
| 贴纸 | 5 | 列出、获取、删除、贴纸包 |
| 自动调节 | 5 | CRUD规则 |
| 计划事件 | 6 | CRUD,列出用户 |
| 审核日志 | 1 | 使用筛选器查询审核日志 |
| 公会设置 | 11 | 更新公会、修剪、虚荣URL、欢迎屏幕、小部件、语音区域、预览、创建/删除公会、集成 |
| 权限 | 2 | 设置/删除频道权限覆盖 |
| 阶段实例 | 4 | 创建、获取、更新、删除阶段实例 |
| 语音 | 3 | 列出区域,更新语音状态 |
| 用户 | 4 | 获取用户、创建DM、离开公会、连接 |
| 应用程序命令 | 8 | 全局和行会斜线命令CRUD |
| 互动 | 8 | 回应互动、跟进消息 |
| 公会模板 | 6 | CRUD,同步模板 |
| 民意调查 | 2 | 获取答案选民,结束民意调查 |
| 音板 | 7 | 默认和公会音板声音CRUD,发送声音 |
| 货币化 | 7 | SKU、权益、订阅 |
先决条件
- Discord机器人令牌(在此处创建一个)
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
DISCORD_TOKEN | 是 | 您的Discord机器人令牌 |
DISCORD_APPLICATION_ID | 否 | 应用程序ID(如果未设置,则自动从机器人用户检测到) |
设置
1.创建Discord Bot
- 去 Discord开发者门户
- 创建新应用程序
- 首选 机器人 > 重置令牌 并复制您的bot令牌
- 在...之下 特权网关意图,启用 服务器成员意图 (会员登录/搜索所需)
- 首选 OAuth2 > URL生成器,选择
bot范围,选择您的权限,并使用生成的URL邀请机器人到您的服务器
2.安装
选项A:下载预构建的二进制文件(推荐)
从以下网址下载适用于您平台的最新二进制文件 发布:
| 平台 | 二进制 |
|---|---|
| macOS(苹果硅) | discord-mcp-rs-aarch64-apple-darwin |
| macOS(英特尔) | discord-mcp-rs-x86_64-apple-darwin |
| Linux(x86_64) | discord-mcp-rs-x86_64-unknown-linux-gnu |
| Linux(arm64) | discord-mcp-rs-aarch64-unknown-linux-gnu |
| Windows(x86_64) | discord-mcp-rs-x86_64-pc-windows-msvc.exe |
# Example: macOS Apple Silicon
curl -L -o discord-mcp-rs \
https://github.com/Craigeous/discord-mcp-rs/releases/latest/download/discord-mcp-rs-aarch64-apple-darwin
chmod +x discord-mcp-rs选项B:从源代码构建
需要 锈 (1.70+).
git clone https://github.com/Craigeous/discord-mcp-rs.git
cd discord-mcp-rs
cargo build --release二进制文件将位于 target/release/discord-mcp-rs.
3.配置您的MCP客户端
注: 替换 /path/to/discord-mcp-rs 下面是二进制文件的实际路径(下载或构建)。克劳德代码
添加到您的Claude Code MCP设置中(~/.claude/settings.json 或项目 .claude/settings.json):
{
"mcpServers": {
"discord": {
"command": "/path/to/discord-mcp-rs",
"env": {
"DISCORD_TOKEN": "YOUR_TOKEN_HERE"
}
}
}
}克劳德桌面版
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"discord": {
"command": "/path/to/discord-mcp-rs",
"env": {
"DISCORD_TOKEN": "YOUR_TOKEN_HERE"
}
}
}
}4.验证
询问您的MCP客户:
“我所在的Discord服务器是什么?”
它应该呼叫 get_current_user 和 list_guilds 并返回您的机器人信息和服务器列表。
使用提示
- 从发现开始:
get_current_user和list_guilds查看机器人可以访问的内容 - 所有ID都是字符串:将Discord雪花ID作为字符串传递(例如。
"1234567890") - 权限问题:如果机器人程序缺少所需的权限,则工具将返回Discord API错误-LLM可以读取这些错误并进行调整
- 审核日志原因:破坏性工具,如
kick_member接受可选reason出现在公会审核日志中的参数
调试日志记录
RUST_LOG=debug DISCORD_TOKEN="YOUR_TOKEN" cargo run日志会转到stderr,这样它们就不会干扰MCP stdio传输。
许可证
麻省理工学院
