项目简介
'discord-mcp' 是一个MCP服务器实现,它将Discord机器人的功能和数据封装成LLM可以理解和调用的资源(Resources)、工具(Tools)以及潜在的Prompt模板。这意味着LLM客户端可以通过这个服务器访问Discord用户数据、执行机器人命令(如获取延迟),从而在与用户的对话中获取并利用实时Discord信息。
主要功能点
- Discord集成: 托管一个Discord机器人,使其功能和数据可通过MCP服务器暴露给LLM。
- 资源访问: 允许LLM客户端读取Discord相关信息作为资源,例如获取特定用户的信息。
- 工具调用: 允许LLM客户端调用Discord机器人的功能作为工具,例如获取机器人的当前延迟。
- 可扩展性: 支持通过插件机制扩展更多Discord功能。
- 多传输协议: 支持通过标准输入/输出(STDIO)和HTTP协议与LLM客户端通信。
- 中间件支持: 内置日志、限速、权限检查等中间件功能。
安装步骤
- 克隆仓库:
git clone https://github.com/FallenDeity/discord-mcp.git cd discord-mcp - 创建虚拟环境并安装依赖:
poetry install - 设置Discord机器人令牌:
在项目根目录下创建一个 '.env' 文件,并添加你的Discord机器人令牌:
确保 'YOUR_DISCORD_BOT_TOKEN_HERE' 替换为你的实际Discord机器人令牌。DISCORD_TOKEN="YOUR_DISCORD_BOT_TOKEN_HERE"
服务器配置
'discord-mcp' 服务器支持STDIO和HTTP两种运行模式,你可以根据LLM客户端的要求选择配置。
-
STDIO模式 (适用于Claude桌面客户端): 将以下JSON配置添加到你的Claude桌面客户端配置文件(通常位于 '$env:APPDATA\Claude\claude_desktop_config.json')中的 'mcpServers' 部分。
{ "mcpServers": { "discord": { // 服务器名称,可自定义 "command": "poetry", // 启动命令 "args": [ // 启动参数列表 "--directory", "C:\\Users\\<username>\\<projects_directory>\\discord-mcp", // **请替换为你的discord-mcp项目所在路径** "run", "python", "-m", "discord_mcp", "--file-logging", // 可选:启用文件日志 "--server-type", "STDIO" // 指定服务器类型为STDIO ] } } }请注意:
- '"discord"' 是你在客户端中为该服务器命名的名称,可以根据需要修改。
- '"C:\Users\<username>\<projects_directory>\discord-mcp"' 必须替换为你的 'discord-mcp' 项目在本地文件系统中的绝对路径。
-
HTTP模式 (适用于远程或Web客户端): 首先,在命令行中启动服务器:
poetry --directory "C:\\Users\\<username>\\<projects_directory>\\discord-mcp" run python -m discord_mcp --file-logging --server-type HTTP服务器将在 'http://localhost:8000/mcp' 运行。 在LLM客户端中配置远程MCP连接时,指定服务器URL为 'http://localhost:8000/mcp' 即可。
基本使用方法
成功启动服务器并连接LLM客户端后,LLM即可通过MCP协议调用Discord功能。例如:
- 获取当前机器人用户: LLM可以调用名为 'get_current_user' 的工具来获取机器人的详细信息。
- 获取特定用户数据: LLM可以调用 'get_user_by_id' 工具并提供用户ID来获取该用户的信息,或者读取URI为 'resource://discord/user/{user_id}' 的资源。
- 检查机器人延迟: LLM可以调用 'get_latency' 工具来获取机器人的当前延迟(以毫秒为单位)。
这些功能将以结构化的JSON格式返回给LLM,供其进一步处理和利用。
信息
分类
通信与社交