这是一个用于Discord API(JDA)的[模型上下文协议(MCP)]服务器,允许Discord机器人与兼容MCP的应用程序(如Claude Desktop)无缝集成。
启用您的AI助手与Discord的无缝交互。轻松管理频道、发送消息并获取服务器信息。通过强大的自动化功能增强您的Discord体验。
注意:需要安装Docker。完整的安装说明可以在docker.com找到。
{
"mcpServers": {
"mcp-server": {
"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"
]
}
}
}
<details>
<summary style="font-size: 1.35em; font-weight: bold;">
🔧 手动安装
</summary>
git clone https://github.com/SaseQ/discord-mcp
注意:需要安装Maven才能使用mvn命令。完整的安装说明可以在这里找到这里。
cd discord-mcp
mvn clean package # jar文件将在/target目录中可用
许多代码编辑器和其他AI客户端使用配置文件来管理MCP服务器。
可以通过在配置文件中添加以下内容来配置Discord MCP服务器。
注意:您需要创建一个Discord机器人令牌才能使用此服务器。如何创建Discord机器人令牌的说明可以在这里找到这里。
{
"mcpServers": {
"discord-mcp": {
"command": "java",
"args": [
"-jar",
"/absolute/path/to/discord-mcp-0.0.1-SNAPSHOT.jar"
],
"env": {
"DISCORD_TOKEN": "YOUR_DISCORD_BOT_TOKEN",
"DISCORD_GUILD_ID": "OPTIONAL_DEFAULT_SERVER_ID"
}
}
}
}
环境变量DISCORD_GUILD_ID是可选的。当提供时,它设置了一个默认的Discord服务器ID,因此任何接受guildId参数的工具都可以省略它。
通过Smithery自动安装Discord MCP服务器:
npx -y @smithery/cli@latest install @SaseQ/discord-mcp --client <CLIENT_NAME> --key <YOUR_SMITHERY_KEY>
</details>
<details>
<summary style="font-size: 1.35em; font-weight: bold;">
🖲 Cursor安装
</summary>
前往:设置 -> Cursor设置 -> MCP -> 添加新的全局MCP服务器
建议的方法是将以下配置粘贴到您的Cursor ~/.cursor/mcp.json文件中。您也可以通过在项目文件夹中创建.cursor/mcp.json来在特定项目中安装。更多信息请参阅Cursor MCP文档。
{
"mcpServers": {
"mcp-server": {
"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"
]
}
}
}
</details>
<details>
<summary style="font-size: 1.35em; font-weight: bold;">
⌨️ Claude Code安装
</summary>
运行此命令。更多信息请参阅Claude Code MCP文档。
claude mcp add mcp-server -- docker run --rm -i -e DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN> -e DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID> saseq/discord-mcp:latest
</details>
get_server_info: 获取详细的Discord服务器信息get_user_id_by_name: 根据用户名在公会中获取Discord用户的ID以供ping使用 <@id>send_private_message: 向特定用户发送私信edit_private_message: 编辑来自特定用户的私信delete_private_message: 删除来自特定用户的私信read_private_messages: 读取来自特定用户的最近消息历史send_message: 向特定频道发送消息edit_message: 编辑来自特定频道的消息delete_message: 删除来自特定频道的消息read_messages: 读取来自特定频道的最近消息历史add_reaction: 在特定消息上添加反应(表情符号)remove_reaction: 从消息中删除指定的反应(表情符号)create_text_channel: 创建文本频道delete_channel: 删除频道find_channel: 使用名称和服务器ID查找频道类型和IDlist_channels: 列出所有频道create_category: 为频道创建新分类delete_category: 删除分类find_category: 使用名称和服务器ID查找分类IDlist_channels_in_category: 列出特定分类中的频道create_webhook: 在特定频道上创建新的网络钩子delete_webhook: 删除网络钩子list_webhooks: 列出特定频道上的网络钩子send_webhook_message: 通过网络钩子发送消息<hr>如果设置了
DISCORD_GUILD_ID,则上述所有工具的guildId参数变为可选。
更多详细示例可以在Wiki中找到。