使用说明

项目简介

MCP本地路由代理 (mcp-local-router) 充当一个中间层,连接并聚合多个独立的MCP服务器。对于LLM客户端而言,它表现为一个单一的MCP服务器,简化了与多个数据源和功能模块交互的复杂性。该代理服务器通过配置文件动态加载和管理上游MCP服务器,实现资源的统一访问和工具的集中调用。

主要功能点

  • 多服务器聚合:连接并管理多个上游MCP服务器,将它们的资源、工具和Prompt模板整合到一个统一的接口中。
  • 统一访问入口:为LLM客户端提供单一的MCP服务器接入点,客户端无需感知和管理多个分散的上游服务器。
  • Stdio传输支持:支持标准的stdio传输协议,方便与各种LLM客户端和服务集成。
  • 灵活配置:通过JSON配置文件定义和管理上游MCP服务器,支持配置服务器的启动命令、参数和环境变量。

安装步骤

  1. 安装Rust环境:确保你的系统已安装Rust编程语言环境。你可以访问 https://www.rust-lang.org/zh-CN/tools/install 按照指引进行安装。
  2. 构建项目:使用 'cargo build --release' 命令在项目根目录下构建可执行文件。构建成功后,可执行文件位于 'target/release/mcp-local-router'。

服务器配置

MCP本地路由代理的配置通过JSON文件进行。你需要创建一个JSON配置文件(例如 'mcp-config.json'),并在其中定义要聚合的上游MCP服务器。

以下是一个配置示例:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/username/Desktop"
      ],
      "env": {}
    },
    "everything": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-everything"
      ],
      "env": {}
    }
  }
}

配置参数说明:

  • 'mcpServers': 定义上游MCP服务器的配置,键值对的键为服务器名称(用于日志记录),值为服务器的配置对象。
    • 每个服务器配置对象包含以下字段:
      • 'command': 启动上游MCP服务器的命令,例如 'npx'(如果上游服务器是Node.js应用)。
      • 'args': 传递给 'command' 的参数列表。例如,'["-y", "@modelcontextprotocol/server-filesystem", "/Users/username/Desktop"]' 表示使用 'npx' 运行 '@modelcontextprotocol/server-filesystem' 包,并将 '/Users/username/Desktop' 作为参数传递给文件系统服务器。请根据你实际使用的上游MCP服务器,修改命令和参数。
      • 'env': 传递给上游MCP服务器的环境变量。例如,某些服务器可能需要访问令牌等环境变量。

注意

  • 上述示例配置假设你已安装并可以使用 '@modelcontextprotocol/server-filesystem' 和 '@modelcontextprotocol/server-everything' 这两个基于Node.js的MCP服务器。你需要根据你的实际情况安装和配置上游MCP服务器。
  • '/Users/username/Desktop' 仅为示例路径,你需要替换为你希望文件系统服务器访问的实际路径。

基本使用方法

  1. 启动MCP本地路由代理服务器: 在终端中,使用以下命令启动MCP本地路由代理服务器,并指定你创建的配置文件路径:

    cargo run --release -- --config mcp-config.json

    确保 'mcp-config.json' 文件与你的执行命令在同一目录下,或者提供文件的完整路径。

  2. 配置MCP客户端: 将你的MCP客户端配置为连接到本地路由代理服务器。由于该代理服务器通过stdio进行通信,你通常需要配置客户端以stdio模式连接到运行 'cargo run ...' 命令的进程。具体的客户端配置方法取决于你使用的MCP客户端库。

    对于下游MCP客户端而言,现在只需要与这个本地路由代理服务器交互,即可访问所有配置的上游MCP服务器所提供的资源和功能。

信息

分类

AI与计算