discord-py-self-mcp
使用说明(Markdown 格式)
-
项目简介
- 这是一个基于 MCP(Model Context Protocol)的服务器端实现,专门将 Discord 自助机器人场景下的资源、工具和提示模板等以标准化接口暴露给 LLM 客户端。服务器通过标准的 MCP JSON‑RPC 协议处理请求,支持多种传输方式(如 stdio),并在服务器端管理会话与能力。
-
主要功能点
- 资源与数据访问:通过 MCP 机制托管与管理资源,便于 LLM 客户端读取和使用。
- 工具注册与执行:提供多种工具,LLM 可以通过接口调用外部功能,执行对 Discord 的操作(如发送消息、读取历史、管理成员等)。
- 提示与模板渲染:通过统一的工具集合与配置,支持提示模板的渲染和对话模式的自定义。
- JSON‑RPC 通信:遵循 MCP 的请求/响应格式,服务器端返回标准化的 JSON 数据或通知。
- 本地化服务与会话管理:基于本地 MCP 服务器实现,适用于本地开发、测试和自托管场景。
- 多传输支持:设计初衷支持如 Stdio、SSE、WebSocket 等传输协议,从而适配不同的前端/客户端环境。
-
安装步骤
- 获取代码后确保已满足运行环境(Python 3.10+、必要依赖)。
- 安装依赖并准备运行入口,运行主模块以启动 MCP 服务器(示例: python3 -m discord_py_self_mcp.main)。
- 如需使用 npm 包裹的 Python 实现,可通过 npm wrapper 安装并启动对应服务。
-
服务器配置
- MCP 客户端需要提供服务器启动信息(至少包含启动命令和参数),以便建立与 MCP 服务器的连接。下面给出符合本仓库信息的示例配置说明(以文本形式呈现,不作为代码块):
- 服务器名称(server name): discord-py-self
- 启动命令(command): python3
- 参数(args): -m discord_py_self_mcp.main
- 环境变量(env): DISCORD_TOKEN=你的 Discord 令牌(此处需由客户端注入,避免在服务器端硬编码)
- 说明:该配置会让 MCP 客户端在本地启动 Discord 自助机器人 MCP 服务器,客户端通过环境变量注入 DISCORD_TOKEN,并与 MCP 服务器进行 JSON‑RPC 交互。仓库还提供了其它启动方式(如 npm 封装/本地脚本等),具体选择可结合客户端环境与偏好进行配置。
-
基本使用方法
- 启动服务器后,MCP 客户端可通过 JSON‑RPC 请求获取工具列表、调用工具以及获取资源信息。
- 使用时请确保 DISCORD_TOKEN 正确注入到客户端配置中,服务器端不应直接暴露 token。
- 通过客户端调用 list_tools/ call_tool 等接口来实现对 Discord 账户的受控操作,注意遵守 Discord 的使用政策与相关条款。