LLM响应MCP服务器
一个模型上下文协议(MCP)服务器,支持多个AI代理之间的协作辩论,允许他们讨论用户提示并达成共识。
概述
该项目实现了一个MCP服务器,该服务器具有以下关键功能,可促进LLM之间的多回合对话:
- 基于会话的协作 -法学硕士可以注册为辩论环节的参与者
- 协商一致 -法学硕士可以进行深入讨论以达成一致
- 实时响应共享 -所有参与者都可以查看和回应彼此的贡献
服务器提供四个主要的工具调用:
register-participant:允许LLM以其初始响应加入协作会话submit-response:允许法学硕士在辩论期间提交后续答复get-responses:允许LLM从会话中的其他LLM检索所有响应get-session-status:允许LLM检查注册等待期是否已完成
这使得多个人工智能代理(如“Ephors委员会”)可以对用户的问题进行深入审议,相互辩论,直到达成坚实的共识。
安装
# Install dependencies
bun install发展
# Build the TypeScript code
bun run build
# Start the server in development mode
bun run devMCP检验员测试
该项目包括对 MCP检查员,这是一个用于测试和调试MCP服务器的工具。
# Run the server with MCP Inspector
bun run inspect这 inspect 脚本使用 npx 运行MCP检查器,它将在浏览器中启动一个web界面,用于与MCP服务器交互。
这将使您能够:
- 探索可用的工具和资源
- 具有不同参数的测试工具调用
- 查看服务器的响应
- 调试您的MCP服务器实现
用法
服务器公开了两个端点:
/sse-MCP客户端连接的服务器发送事件端点/messages-MCP客户端发送消息的HTTP端点
MCP工具
注册参与者
注册为协作会话的参与者:
// Example tool call
const result = await client.callTool({
name: 'register-participant',
arguments: {
name: 'Socrates',
prompt: 'What is the meaning of life?',
initial_response: 'The meaning of life is to seek wisdom through questioning...',
persona_metadata: {
style: 'socratic',
era: 'ancient greece'
} // Optional
}
});服务器在最后一个参与者加入后等待3秒的注册期,然后再做出响应。响应包括所有参与者的初始响应,使每个LLM在注册期结束时能够立即响应其他参与者的意见。
提交回复
在辩论期间提交后续答复:
// Example tool call
const result = await client.callTool({
name: 'submit-response',
arguments: {
sessionId: 'EPH4721R-Socrates', // Session ID received after registration
prompt: 'What is the meaning of life?',
response: 'In response to Plato, I would argue that...'
}
});获取响应
检索辩论环节的所有回复:
// Example tool call
const result = await client.callTool({
name: 'get-responses',
arguments: {
sessionId: 'EPH4721R-Socrates', // Session ID received after registration
prompt: 'What is the meaning of life?' // Optional
}
});回复按时间顺序包括所有参与者的贡献。
获取会话状态
检查注册等待期是否已过:
// Example tool call
const result = await client.callTool({
name: 'get-session-status',
arguments: {
prompt: 'What is the meaning of life?'
}
});协作辩论流程
- LLM注册为参与者,并对提示做出初步回应
- 服务器在最后一次注册后等待3秒,然后再发送响应
- 注册期结束后,所有参与者都会收到所有参与者的初步答复简编
- 然后,参与者可以提交后续回复,对彼此的观点做出回应
- 辩论将持续到参与者达成共识或达到最大轮数为止
许可证
麻省理工学院
部署到EC2
该项目包括Docker配置,便于部署到EC2或任何其他服务器环境。
先决条件
- 运行Amazon Linux 2或Ubuntu的EC2实例
- 安全组配置为允许端口62887上的入站流量
- SSH访问实例
部署步骤
- 将存储库克隆到EC2实例:
git clone
cd - 使部署脚本可执行:
chmod +x deploy.sh- 运行部署脚本:
./deploy.sh脚本将:
- 如果尚未安装Docker和Docker Compose,请安装它们
- 构建Docker镜像
- 以分离模式启动容器
- 显示可访问MCP服务器的公共URL
手动部署
如果您更喜欢手动部署:
- 构建Docker镜像:
docker-compose build- 启动容器:
docker-compose up -d- 验证容器是否正在运行:
docker-compose ps访问服务器
部署后,您的MCP服务器将可在以下位置访问:
http://:62887/sseSSE 终端http://:62887/messages-消息端点
确保EC2安全组中的端口62887已打开!
