Discord AI交互服务

MCP-Discord是一个Discord MCP(模型上下文协议)服务器,使AI助手能够与Discord平台进行交互,提供登录、消息管理、频道管理、论坛功能和Webhook管理等功能。

  • by jar285
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jar285/mcp-discord

使用说明

MCP故障

Discord MCP(模型上下文协议)服务器,使AI助手能够与Discord平台进行交互。

概述

MCP Discord提供以下Discord相关功能:

  • 登录Discord机器人
  • 获取服务器信息
  • 读取/删除频道消息
  • 向指定频道发送消息
  • 检索论坛频道列表
  • 创建/删除/回复论坛帖子
  • 创建/删除文本频道
  • 添加/删除消息反应
  • 创建/编辑/删除/使用webhooks

目录

先决条件

  • Node.js(v16.0.0或更高版本)
  • npm(v7.0.0或更高版本)
  • 具有适当权限的Discord机器人
    • Bot令牌(可从 Discord开发者门户)
    • 消息内容意图已启用
    • 服务器成员意图已启用
    • 已启用存在意图
  • Discord服务器中的权限:
    • 发送消息
    • 创建公共线程
    • 在线程中发送消息
    • 管理线程
    • 管理渠道
    • 添加反应

安装

通过Smithery安装

通过以下方式自动安装Claude Desktop的mcp discord 史密瑟里:

npx -y @smithery/cli install @barryyip0625/mcp-discord --client claude

手动安装

# Clone the repository
git clone https://github.com/barryyip0625/mcp-discord.git
cd mcp-discord

# Install dependencies
npm install

# Compile TypeScript
npm run build

配置

正常操作需要Discord机器人令牌。您可以通过两种方式提供它:

  1. 环境变量:
DISCORD_TOKEN=your_discord_bot_token
DEFAULT_SERVER_ID=your_default_server_id  # Optional
DEFAULT_CHANNEL_ID=your_default_channel_id  # Optional
  1. 使用 --config 启动时的参数:
node path/to/mcp-discord/build/index.js --config "{\"DISCORD_TOKEN\":\"your_discord_bot_token\"}"

增强的启动脚本

该项目包括一个增强的启动脚本(start-discord.js)它提供了更好的调试和错误处理:

  • 从.env文件加载环境变量
  • 如果未提供,则设置默认服务器和通道ID
  • 将console.log重定向到stderr,以避免Claude Desktop中的JSON解析问题
  • 在启动MCP服务器之前直接测试Discord连接
  • 如果出现任何问题,提供详细的错误信息

要使用此脚本,请执行以下操作:

node start-discord.js

使用Claude/Cursor

  • 克劳德

    {
        "mcpServers": {
            "discord": {
                "command": "node",
                "args": [
                    "path/to/mcp-discord/start-discord.js"
                ],
                "env": {
                    "DISCORD_TOKEN": "your_discord_bot_token",
                    "DEFAULT_SERVER_ID": "your_default_server_id",
                    "DEFAULT_CHANNEL_ID": "your_default_channel_id"
                }
            }
        }
    }
    
  • 光标

    {
        "mcpServers": {
            "discord": {
                "command": "cmd",
                "args": [
                    "/c",
                    "node",
                    "path/to/mcp-discord/start-discord.js"
                ],
                "env": {
                    "DISCORD_TOKEN": "your_discord_bot_token",
                    "DEFAULT_SERVER_ID": "your_default_server_id",
                    "DEFAULT_CHANNEL_ID": "your_default_channel_id"
                }
             }
         }
    }
    

工具文档

基本功能

  • discord_login:登录Discord
  • discord_list_guilds:列出所有可用的Discord服务器(公会)及其频道
  • discord_send:向指定频道发送消息
  • discord_get_server_info:获取Discord服务器信息

渠道管理

  • discord_create_text_channel:创建文本频道
  • discord_delete_channel:删除频道

论坛功能

  • discord_get_forum_channels:获取论坛频道列表
  • discord_create_forum_post:创建论坛帖子
  • discord_get_forum_post:获取论坛帖子
  • discord_reply_to_forum:回复论坛帖子
  • discord_delete_forum_post:删除论坛帖子

信息和反应

  • discord_read_messages:读取频道消息
  • discord_add_reaction:在消息中添加反应
  • discord_add_multiple_reactions:在消息中添加多个反应
  • discord_remove_reaction:从消息中删除反应
  • discord_delete_message:从频道中删除特定消息

网钩 管理

  • discord_create_webhook:为Discord频道创建新的webhook
  • discord_send_webhook_message:使用webhook向Discord频道发送消息
  • discord_edit_webhook:编辑Discord频道的现有webhook
  • discord_delete_webhook:删除Discord频道的现有webhook

发展

# Development mode
npm run dev

许可证

MIT许可证