kstrikis
服务介绍
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!