341 查看 · 2026-07-07 更新
LLM Responses MCP 服务器
一个模型上下文协议(MCP)服务器,它使多个AI代理能够进行协作辩论,允许它们讨论并就用户提示达成共识。
概述
该项目实现了一个MCP服务器,该服务器促进了LLM之间的多轮对话,并具有以下关键特性:
- 基于会话的协作 - LLM可以注册为辩论会话的参与者
- 审议性共识 - LLM可以通过长时间讨论来达成一致意见
- 实时响应共享 - 所有参与者都可以查看并对彼此的贡献作出回应
服务器提供了四个主要工具调用:
register-participant:允许一个LLM以其初始响应加入协作会话submit-response:允许一个LLM在辩论过程中提交后续响应get-responses:允许一个LLM检索会话中其他LLM的所有响应get-session-status:允许一个LLM检查注册等待期是否已经完成
这使得一种场景成为可能:多个AI代理(如“埃弗尔议会”)可以就用户的问题进行长时间审议,相互辩论直到达成坚实的共识。
安装
bash
安装依赖
bun install
开发
bash
构建TypeScript代码
bun run build
在开发模式下启动服务器
bun run dev
使用MCP Inspector测试
该项目支持MCP Inspector,这是一个用于测试和调试MCP服务器的工具。
bash
使用MCP Inspector运行服务器
bun run inspect
inspect脚本使用npx来运行MCP Inspector,这将在您的浏览器中启动一个网页界面,以便与您的MCP服务器交互。
这将允许您:
- 探索可用的工具和资源
- 使用不同参数测试工具调用
- 查看服务器的响应
- 调试您的MCP服务器实现
使用方法
服务器公开了两个端点:
/sse- 供MCP客户端连接的Server-Sent Events端点/messages- 供MCP客户端发送消息的HTTP端点
MCP 工具
register-participant
注册为协作会话的参与者:
typescript // 示例工具调用 const result = await client.callTool({ name: 'register-participant', arguments: { name: 'Socrates', prompt: '生命的意义是什么?', initial_response: '生命的意义在于通过提问寻求智慧...', persona_metadata: { style: 'socratic', era: 'ancient greece' } // 可选 } });
服务器会在最后一个参与者加入后等待3秒的注册期,然后才做出响应。响应包括所有参与者的初始响应,使每个LLM能够在注册期结束后立即对其他参与者的观点作出回应。
submit-response
在辩论过程中提交后续响应:
typescript // 示例工具调用 const result = await client.callTool({ name: 'submit-response', arguments: { sessionId: 'EPH4721R-Socrates', // 注册后收到的会话ID prompt: '生命的意义是什么?', response: '针对柏拉图的观点,我认为...' } });
get-responses
从辩论会话中检索所有响应:
typescript // 示例工具调用 const result = await client.callTool({ name: 'get-responses', arguments: { sessionId: 'EPH4721R-Socrates', // 注册后收到的会话ID prompt: '生命的意义是什么?' // 可选 } });
响应按时间顺序包含所有参与者的贡献。
get-session-status
检查注册等待期是否已过:
typescript // 示例工具调用 const result = await client.callTool({ name: 'get-session-status', arguments: { prompt: '生命的意义是什么?' } });
协作辩论流程1. LLMs 通过对其提示的初始响应注册为参与者
- 服务器在最后一次注册后等待3秒再发送响应
- 注册期结束后,所有参与者都会收到所有参与者的初始响应汇编
- 参与者随后可以提交跟进响应,回应彼此的观点
- 辩论将持续进行,直到参与者达成共识或达到最大轮数
许可证
MIT
部署到 EC2
此项目包括 Docker 配置,以便轻松部署到 EC2 或任何其他服务器环境。
前提条件
- 运行 Amazon Linux 2 或 Ubuntu 的 EC2 实例
- 安全组配置允许端口 62887 上的入站流量
- 对实例的 SSH 访问权限
部署步骤
-
将仓库克隆到您的 EC2 实例: bash git clone
cd -
使部署脚本可执行: bash chmod +x deploy.sh
-
运行部署脚本: bash ./deploy.sh
该脚本将:
- 如果尚未安装,则安装 Docker 和 Docker Compose
- 构建 Docker 镜像
- 以分离模式启动容器
- 显示您的 MCP 服务器可访问的公共 URL
手动部署
如果您更喜欢手动部署:
-
构建 Docker 镜像: bash docker-compose build
-
启动容器: bash docker-compose up -d
-
验证容器正在运行: bash docker-compose ps
访问服务器
部署完成后,您的 MCP 服务器将可以通过以下地址访问:
http://<ec2-public-ip>:62887/sse- SSE 端点http://<ec2-public-ip>:62887/messages- 消息端点
请确保在您的 EC2 安全组中开放了端口 62887!
来源
- 来源:github
- 链接:https://github.com/kstrikis/ephor-mcp-collaboration