k

kstrikis

agent-orchestrationautonomous-agentscommunication

341 查看 · 2026-07-07 更新

LLM Responses MCP 服务器

一个模型上下文协议(MCP)服务器,它使多个AI代理能够进行协作辩论,允许它们讨论并就用户提示达成共识。

概述

该项目实现了一个MCP服务器,该服务器促进了LLM之间的多轮对话,并具有以下关键特性:

  1. 基于会话的协作 - LLM可以注册为辩论会话的参与者
  2. 审议性共识 - LLM可以通过长时间讨论来达成一致意见
  3. 实时响应共享 - 所有参与者都可以查看并对彼此的贡献作出回应

服务器提供了四个主要工具调用:

  1. register-participant:允许一个LLM以其初始响应加入协作会话
  2. submit-response:允许一个LLM在辩论过程中提交后续响应
  3. get-responses:允许一个LLM检索会话中其他LLM的所有响应
  4. 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 通过对其提示的初始响应注册为参与者

  1. 服务器在最后一次注册后等待3秒再发送响应
  2. 注册期结束后,所有参与者都会收到所有参与者的初始响应汇编
  3. 参与者随后可以提交跟进响应,回应彼此的观点
  4. 辩论将持续进行,直到参与者达成共识或达到最大轮数

许可证

MIT

部署到 EC2

此项目包括 Docker 配置,以便轻松部署到 EC2 或任何其他服务器环境。

前提条件

  • 运行 Amazon Linux 2 或 Ubuntu 的 EC2 实例
  • 安全组配置允许端口 62887 上的入站流量
  • 对实例的 SSH 访问权限

部署步骤

  1. 将仓库克隆到您的 EC2 实例: bash git clone cd

  2. 使部署脚本可执行: bash chmod +x deploy.sh

  3. 运行部署脚本: bash ./deploy.sh

该脚本将:

  • 如果尚未安装,则安装 Docker 和 Docker Compose
  • 构建 Docker 镜像
  • 以分离模式启动容器
  • 显示您的 MCP 服务器可访问的公共 URL

手动部署

如果您更喜欢手动部署:

  1. 构建 Docker 镜像: bash docker-compose build

  2. 启动容器: bash docker-compose up -d

  3. 验证容器正在运行: bash docker-compose ps

访问服务器

部署完成后,您的 MCP 服务器将可以通过以下地址访问:

  • http://<ec2-public-ip>:62887/sse - SSE 端点
  • http://<ec2-public-ip>:62887/messages - 消息端点

请确保在您的 EC2 安全组中开放了端口 62887!

来源