# kstrikis
## 基本信息
- Slug: `kstrikis-ephor-mcp-collaboration`
- Source: modelscope
- Publisher: @kstrikis/ephor-mcp-collaboration
- Categories: agent-orchestration / autonomous-agents / communication
- Hosted: No
- License: MIT License
- Source URL: https://www.modelscope.cn/mcp/servers/@kstrikis/ephor-mcp-collaboration
## 简介
暂无描述。
## MCP Server 详情

# 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](https://github.com/modelcontextprotocol/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 通过对其提示的初始响应注册为参与者
2. 服务器在最后一次注册后等待3秒再发送响应
3. 注册期结束后，所有参与者都会收到所有参与者的初始响应汇编
4. 参与者随后可以提交跟进响应，回应彼此的观点
5. 辩论将持续进行，直到参与者达成共识或达到最大轮数

## 许可证

MIT 

## 部署到 EC2

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

### 前提条件

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

### 部署步骤

1. 将仓库克隆到您的 EC2 实例：
   bash
   git clone <your-repository-url>
   cd <repository-directory>
   

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！

