Multichat MCP Server

Multichat MCP Server

site icon
2025.03.21 0
JavaScript多服务器通信语言模型集成交流协作
Multichat MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,旨在通过集成外部服务和 API 来扩展 FiveM 资源的功能。它专注于实现与多个基于 unichat 的 MCP 服务器同时通信,从而查询不同的语言模型并合并它们的响应,以获得更全面和细致的结果。该服务器作为一个标准的 MCP 服务器,暴露了一个 `multichat` 工具,供主机(Roo/Cline)使用。
View on GitHub

Overview

基本能力

产品定位

Multichat MCP Server 是一个用于多服务器通信的 MCP 服务器,旨在通过集成多个语言模型服务来提供更全面的响应。

核心功能

  1. 多服务器通信:支持与多个 unichat 服务器同时通信,合并它们的响应。
  2. 工具暴露:提供 multichatread_response 工具,供主机调用。
  3. JSON-RPC 兼容:遵循 JSON-RPC 2.0 格式进行通信。
  4. TypeScript 支持:使用 TypeScript 实现,确保类型安全。

适用场景

  1. 多模型响应合并:需要从多个语言模型获取响应并合并的场景。
  2. 调试与测试:用于调试和测试 MCP 服务器的通信功能。
  3. 语言模型集成:集成多个语言模型服务以提供更全面的回答。

工具列表

  1. multichat:向多个 unichat 服务器发送消息并保存它们的响应。
  2. read_response:读取由 multichat 工具生成的响应文件。

常见问题解答

  1. "Method not found" 错误:通常是由于 MCP 不支持直接服务器到服务器通信,需要通过主机协调通信。
  2. 响应文件未生成:检查文件系统权限和服务器日志,确保所有目标服务器正在运行。
  3. 超时问题:确保所有 unichat 服务器在发送 multichat 请求之前已启动。

使用教程

使用依赖

  1. Node.js 和 npm:确保已安装 Node.js 和 npm。

安装教程

  1. 导航到 MCP 服务器目录: bash cd C:\\Users\\kurror\\AppData\\Roaming\\Roo-Code\\MCP
  2. 克隆或创建 multichat-mcp 目录。
  3. 将服务器文件(package.json, tsconfig.json, src/index.ts, src/server.ts)放入 multichat-mcp 目录。
  4. 安装依赖: bash npm install
  5. 构建 TypeScript 代码: bash npm run build

调试方式

  1. 启动 unichat 服务器:在单独的终端窗口中运行每个 unichat 服务器。 powershell cd C:\Users\kurror\AppData\Roaming\Roo-Code\MCP\unichat-ts-mcp-server $env:UNICHAT_MODEL="gpt-4o" $env:UNICHAT_API_KEY="your_api_key" node ./build/index.js
  2. 启动 multichat 服务器:在另一个终端窗口中运行 multichat 服务器。 powershell cd C:\Users\kurror\AppData\Roaming\Roo-Code\MCP\multichat-mcp node ./build/index.js
  3. 发送请求:在第三个终端窗口中创建 request.json 文件并发送请求。 powershell cd C:\Users\kurror\AppData\Roaming\Roo-Code\MCP\multichat-mcp $request = @{ jsonrpc = "2.0" id = 1 method = "tools/call" params = @{ name = "multichat" arguments = @{ messages = @( @{role = "system"; content = "You are a helpful assistant."}, @{role = "user"; content = "Hello, world!"} ) servers = @("Lacayo 1", "openrouter-chat") outputDir = "my-test-output" } } } | ConvertTo-Json -Depth 10 $request | Out-File -FilePath "request.json" -Encoding utf8 Get-Content "request.json" | node ./build/index.js

许可证

None