项目简介

McpMesh是一个创新的工具,旨在简化多Model Context Protocol (MCP) 服务器的管理。它通过将多个独立的MCP服务器连接并聚合到一个统一的HTTP API中,使得LLM客户端能够无缝地访问这些服务的上下文信息和工具功能,大大提升了开发效率和系统的可扩展性。

主要功能点

  • MCP服务器聚合: 能够连接和管理多个Model Context Protocol (MCP) 服务器。
  • 统一API接口: 将所有连接的MCP服务器的功能聚合为一个单一的HTTP API,方便LLM客户端调用。
  • 工具代理与转发: 接收来自LLM客户端的工具调用请求,并智能地转发到相应的后端MCP服务器执行,然后返回结果。
  • 自动化客户端管理: 自动发现、连接并管理后端MCP服务器,支持重试和健康检查,确保服务的可用性。
  • 工具名称空间管理: 支持为不同来源的工具添加前缀或重命名,避免工具名称冲突,并增强可读性。
  • 认证与加密: 提供可选的认证和数据加密功能,增强API的安全性。
  • Docker支持: 提供Docker部署能力,简化部署流程。

安装步骤

  1. 下载最新版本: 访问项目的GitHub发布页面:下载 McpMesh
  2. 选择对应版本: 找到最新的稳定版本(例如 "v1.0.0")。
  3. 下载安装包: 根据您的操作系统选择对应的压缩包下载:
    • Windows: 下载 'McpMesh.Windows.zip'
    • macOS: 下载 'McpMesh.macOS.zip'
    • Linux: 下载 'McpMesh.Linux.tar.gz'
    • Docker: 遵循README文件中的Docker说明。
  4. 解压文件: 将下载的压缩包解压到一个您选择的目录。

服务器配置

McpMesh本身是一个对外提供MCP服务的HTTP服务器。您的MCP客户端需要配置其连接到McpMesh的HTTP端点。以下是一个典型的MCP客户端配置McpMesh的JSON示例:

{
  "name": "MyAggregatedMcpService",      // 给这个聚合MCP服务起一个方便识别的名称
  "baseUrl": "http://localhost:5000/mcp/default" // McpMesh对外暴露的HTTP MCP端点。请将'localhost:5000'替换为McpMesh实际运行的地址和端口,'default'是您在McpMesh配置中定义的包ID,可以根据需要更改。
}
  • baseUrl: 这是最重要的配置项,指定了您的MCP客户端将通过HTTP协议连接到的McpMesh服务器地址。LLM客户端将向此地址发送JSON-RPC请求,以调用聚合的工具和获取上下文信息。
  • 关于'command'和'args'的说明: 题设中提到了'command'和'args'等配置,这通常用于MCP客户端通过Stdio (标准输入输出) 传输协议连接到另一个MCP服务器时使用,即客户端直接启动一个子进程作为MCP服务器。而McpMesh自身作为一个独立的HTTP服务运行,MCP客户端通常通过其'baseUrl'进行HTTP连接。因此,在MCP客户端连接McpMesh时,通常不需要配置'command'和'args'。

基本使用方法

  1. 启动McpMesh:
    • Windows: 找到解压目录下的 'McpMesh.exe' 并运行。
    • macOS: 运行 'McpMesh.app'。
    • Linux: 在终端中运行 './McpMesh'。
  2. 配置后端MCP服务器: 首次启动后,根据McpMesh的界面或其配置文件('appsettings.json'等)提示,添加您希望聚合的MCP服务器(提供它们的连接信息,例如'command'和'args')。
  3. 启动HTTP API: 在McpMesh界面中点击“Start”按钮(或通过命令行启动),McpMesh将启动其HTTP API,对外提供统一的MCP服务。
  4. LLM客户端连接: 现在,您的LLM客户端可以通过上述“服务器配置”中提供的'baseUrl'连接到McpMesh,并像使用任何其他MCP服务器一样发现和调用其聚合的工具。例如,调用'listTools'方法获取所有聚合的工具列表,或调用'callTool'方法执行特定工具。

信息

分类

AI与计算