Debate Hall MCP 服务器
使用说明
-
项目简介
- 该仓库实现了一个基于模型上下文协议(MCP)的后端服务器,用于向大语言模型客户端提供统一的上下文资源、可调用工具和可渲染的提示模板,支持三方角色(Wind、Wall、Door)的辩论工作流,以及对 PROMPT、资源、工具等的注册、执行和渲染。
-
主要功能点
- 资源管理(Resources):提供并管理辩论中需要的数据资源,确保资源的可访问性与一致性。
- 工具注册与执行(Tools):注册并执行用于辩论的工具,允许 LLM 客户端调用外部功能。
- Prompt 模板(Prompts):定义并渲染用于各角色的 Prompt 模板,支持可定制的交互模式。
- JSON-RPC 通信:通过 JSON-RPC 与客户端通信,接收请求并返回标准化的响应。
- 会话与能力管理:对辩论会话进行生命周期管理,声明服务器能力,支持多种传输协议。
- 多传输协议支持:内置对 Stdio、SSE、WebSocket 等传输的支持,以适应不同部署场景。
-
安装步骤
- 通过 PyPI 安装:pip install debate-hall-mcp
- 或从源码安装并进入开发环境,安装依赖并运行测试以确保环境就绪
-
服务器配置(MCP 客户端需要的配置信息)
- 为了让 MCP 客户端能够连接并与服务器交互,需提供一个 JSON 配置,包含以下字段:
- server_name:服务器名称,推荐使用 debate-hall-mcp,与仓库标识保持一致
- command:启动命令,示例值为 debate-hall-mcp
- args:启动参数数组,示例值可包含用于指定状态目录、配置文件等的参数,例如 ["--state-dir", "/var/lib/debate-hall", "--config", "./config.yaml"]
- 该配置用于 MCP 客户端在连接服务器时了解服务器标识及启动方式;客户端在连接时不需要了解内部实现细节,只需要能够按照该命名启动对应进程即可使用。
- 为了让 MCP 客户端能够连接并与服务器交互,需提供一个 JSON 配置,包含以下字段:
-
基本使用方法
- 启动服务器后,客户端通过 JSON-RPC 请求与服务器进行资源读取、工具调用、Prompt 获取等操作。具体的请求路径、方法及参数由 MCP 协议规定,客户端通过描述的 server_name、command、args 进行配置并建立连接。
- 服务器自动管理会话、轮次、以及可能的状态持久化,确保在多轮辩论中保持一致性与可追溯性。
-
额外信息
- 该实现针对 Wind/Wall/Door 三角色的辩论场景提供完整的端到端能力,包含集成 GitHub、ADR、PROMPT 渲染等扩展功能,适用于生产和小规模部署的上下文服务框架。