k

kstrikis

@kstrikis/ephor-mcp-collaboration
0 Stars 349 次浏览 kstrikis 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

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!

相关 MCP 服务