使用说明
不和谐mcp
A. 模型上下文协议(MCP) 公开Discord REST API作为人工智能助手(如GitHub Copilot)工具的服务器。建于 FastMCP,它允许任何兼容MCP的客户端在Discord服务器中发送消息、管理通道、调节成员、处理角色和控制线程,所有这些都可以通过自然语言完成。
[!重要] 该项目的设计和测试完全由 VS Code 和那个 GitHub Copilot聊天扩展. 它有 不 已使用其他代理工具或MCP客户端(例如Claude Code、Cursor、Continue或任何其他第三方工具)进行了测试。与这些环境的兼容性没有保证,也完全没有经过测试。在VS Code+GitHub Copilot之外使用由您自行承担风险。
工具
服务器暴露 40工具 分为五类。
💬 消息
| 工具 | 说明 |
|---|---|
send_message |
向频道发送消息 |
get_messages |
从频道检索最近的消息 |
get_message |
检索特定消息 |
edit_message |
编辑现有的机器人消息 |
delete_message |
删除消息 |
pin_message |
在通道中固定消息 |
unpin_message |
从频道中打开消息 |
get_pinned_messages |
列出频道中的所有固定消息 |
add_reaction |
在消息中添加表情符号反应 |
delete_reaction |
从消息中删除机器人的反应 |
📢 频道
| 工具 | 说明 |
|---|---|
get_channel |
获取频道信息 |
list_guild_channels |
列出公会中的所有频道 |
create_channel |
创建新频道 |
edit_channel |
修改现有频道 |
delete_channel |
删除频道 |
get_channel_invites |
列出某个频道的所有邀请 |
create_channel_invite |
创建频道邀请 |
🏰 公会(服务器)
| 工具 | 说明 |
|---|---|
get_guild |
获取已配置公会的相关信息 |
edit_guild |
修改公会设置 |
list_guild_members |
列出公会成员 |
get_guild_member |
通过用户ID获取特定公会成员 |
kick_guild_member |
从公会中踢出一名成员 |
ban_guild_member |
禁止用户加入公会 |
unban_guild_member |
取消屏蔽以前被禁止的用户 |
get_guild_bans |
列出公会中的所有禁令 |
get_guild_invites |
列出所有活跃的公会邀请 |
get_guild_audit_log |
检索公会的审核日志 |
🎭 角色
| 工具 | 说明 |
|---|---|
list_guild_roles |
列出公会中的所有角色 |
create_role |
创建新的公会角色 |
edit_role |
修改现有角色 |
delete_role |
删除公会角色 |
add_role_to_member |
为成员分配角色 |
remove_role_from_member |
从成员中删除角色 |
🧵 线程
| 工具 | 说明 |
|---|---|
create_thread_from_message |
从现有消息创建公共线程 |
create_thread |
创建一个未附加到邮件的线程 |
create_forum_thread |
在论坛频道中创建新帖子 |
list_public_archived_threads |
列出通道中的公共存档线程 |
list_private_archived_threads |
列出通道中的私有存档线程 |
list_active_guild_threads |
列出公会中的所有活动线程 |
join_thread |
将机器人添加到线程中 |
leave_thread |
从线程中删除机器人 |
add_thread_member |
将用户添加到线程 |
remove_thread_member |
从线程中删除用户 |
get_thread_member |
为用户获取线程成员对象 |
list_thread_members |
列出一个线程的所有成员 |
edit_thread |
修改线程的设置 |
先决条件
- Python 3.11或更高版本
- 紫外线 (推荐)或pip
- 具有所需权限的Discord机器人令牌
- 您的Discord服务器(公会)ID
设置
1.创建Discord Bot
- 去 Discord开发者门户 并创建新的应用程序。
- 引导到 机器人 并创建一个机器人。复制 代币.
- 在...之下 OAuth2→ URL生成器,选择
bot您的用例所需的范围和权限(例如。 发送消息, 管理渠道, 管理角色, 禁止成员). - 在浏览器中打开生成的URL,邀请机器人到您的服务器。
2.安装服务器
# Clone the repository
git clone https://github.com/rexendz/discord-mcp.git
cd discord-mcp
# Install with uv (recommended)
uv sync
或者使用pip直接从源代码安装:
pip install .
3.配置环境变量
服务器需要两个环境变量:
| 变量 | 描述 |
|---|---|
DISCORD_TOKEN |
您的Discord机器人令牌 |
DISCORD_GUILD_ID |
要管理的Discord服务器的ID |
VS代码设置(GitHub Copilot)
您可以将此MCP服务器与 VS代码中的GitHub副本.
选项A——工作区配置(.vscode/mcp.json)
添加一个 .vscode/mcp.json 将文件添加到您的项目中,以便任何打开它的人都可以使用服务器:
{
"servers": {
"discord-mcp": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "path/to/discord-mcp", "discord-mcp"],
"env": {
"DISCORD_TOKEN": "${input:discordToken}",
"DISCORD_GUILD_ID": "${input:discordGuildId}"
}
}
},
"inputs": [
{
"id": "discordToken",
"type": "promptString",
"description": "Discord bot token",
"password": true
},
{
"id": "discordGuildId",
"type": "promptString",
"description": "Discord Guild (server) ID"
}
]
}
选项B——用户配置(settings.json)
要使服务器在所有VS Code工作区中可用,请将以下内容添加到您的 用户 settings.json (Ctrl+Shift+P → 首选项:打开用户设置(JSON)):
{
"mcp": {
"servers": {
"discord-mcp": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "/absolute/path/to/discord-mcp", "discord-mcp"],
"env": {
"DISCORD_TOKEN": "<your-bot-token>",
"DISCORD_GUILD_ID": "<your-guild-id>"
}
}
}
}
}
提示: 避免在中硬编码敏感令牌
settings.json.更喜欢使用VS Code${input:...}提示机制(如选项A所示)或将凭据存储在系统的密钥管理器中。
使用工具
配置服务器后,打开 副驾驶聊天 面板(Ctrl+Alt+I 在Windows/Linux操作系统上, Cmd+Opt+I 在macOS上),切换到 代理 模式,然后简单地问:
Send a message to channel 1234567890 saying "Hello from Copilot!"
Copilot将自动调用相应的 send_message 工具。