Posuer:MCP 中介管理器

Posuer 作为一个 Model Context Protocol (MCP) 中介管理器,旨在帮助大型语言模型(LLM)无缝连接和利用多个 MCP 服务器。它充当 MCP 客户端(如 Claude Desktop)和多个 MCP 后端服务器之间的桥梁,允许您通过单一连接点管理和聚合来自不同服务器的资源、工具和 Prompt。

主要功能点:

  • 多服务器聚合: 通过 Posuer,您可以将多个 MCP 服务器整合到一个统一的接入点,简化 LLM 客户端的连接管理。
  • 能力聚合: Posuer 能够汇总来自不同 MCP 服务器的工具 (Tools)、资源 (Resources) 和 Prompt 模板 (Prompts),扩展 LLM 的能力边界。
  • 智能路由: Posuer 可以根据客户端请求和后端服务器的能力,智能地将请求路由到合适的后端服务器处理。
  • 动态配置管理: 支持动态配置后端 MCP 服务器,无需重启 Posuer 即可添加、更新或移除后端连接。
  • 多种传输协议支持: 支持 Stdio 和 SSE 等多种 MCP 传输协议。
  • 容器化支持: 可以将 MCP 后端服务器运行在容器中,实现更好的隔离和依赖管理。

安装步骤:

  1. 环境准备:
    • 安装 Go 1.23 或更高版本。
    • 确保可以访问您要连接的 MCP 服务器(例如,文件系统服务器、天气服务器等)。
  2. 构建 Posuer:
    • 克隆仓库到本地:'git clone https://github.com/jkoelker/posuer.git'
    • 进入仓库目录:'cd posuer'
    • 使用 'make' 命令构建二进制文件:'make'
    • 构建好的二进制文件 'posuer' 将在 'build' 目录下。

服务器配置:

Posuer 通过 YAML 配置文件 'config.yaml' 进行配置。默认情况下,Posuer 会在以下位置查找配置文件:

  1. 命令行参数 '-config' 指定的路径
  2. 用户配置目录下的 '.config/posuer/config.yaml'

您可以通过以下 JSON 配置信息,配置 Claude Desktop 等 MCP 客户端连接到 Posuer 服务器:

{
  "mcpServers": {
    "posuer": {
      "command": "/path/to/posuer",  // Posuer 二进制文件的路径
      "args": ["-watch"]             // 启动参数,例如 "-watch" 启用配置文件监控
    }
  }
}

其中 '/path/to/posuer' 需要替换为您实际构建的 'posuer' 二进制文件路径。

'args' 参数可以根据需要进行调整,常用的参数包括:

  • '-config /path/to/config.yaml': 指定配置文件路径,默认为 'config.yaml'。
  • '-watch': 启用配置文件监控,当配置文件发生变化时自动重新加载配置。
  • '-stdio': 以 stdio 模式运行 (默认模式)。

基本使用方法:

  1. 配置 'config.yaml' 文件,定义您要连接的 MCP 后端服务器。配置文件示例:

    servers:
      - name: filesystem # 服务器名称,用于标识能力
        type: stdio   # 连接类型,支持 stdio 或 sse
        command: npx    # 启动命令 (stdio 类型服务器)
        args:         # 命令参数 (stdio 类型服务器)
          - -y
          - "@modelcontextprotocol/server-filesystem"
          - "/tmp"
      - name: remote-server # 远程 SSE 服务器示例
        type: sse
        url: https://example.com/sse # SSE 服务器 URL
  2. 启动 Posuer 服务器: 在终端中运行构建好的 'posuer' 二进制文件,例如:

    ./build/posuer -config /path/to/config.yaml -watch
  3. 配置 MCP 客户端: 将 MCP 客户端(如 Claude Desktop)配置为连接到 Posuer 服务器,使用上面提供的 JSON 配置信息。

  4. 使用 LLM 客户端: 现在,您的 LLM 客户端可以通过 Posuer 访问聚合后的 MCP 服务器能力。

动态配置重载:

Posuer 支持动态配置重载,允许您在 Posuer 运行期间修改 'config.yaml' 配置文件,Posuer 会自动检测到配置文件的变化并重新加载配置,无需重启服务。

信息

分类

AI与计算