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 后端服务器运行在容器中,实现更好的隔离和依赖管理。
安装步骤:
- 环境准备:
- 安装 Go 1.23 或更高版本。
- 确保可以访问您要连接的 MCP 服务器(例如,文件系统服务器、天气服务器等)。
- 构建 Posuer:
- 克隆仓库到本地:'git clone https://github.com/jkoelker/posuer.git'
- 进入仓库目录:'cd posuer'
- 使用 'make' 命令构建二进制文件:'make'
- 构建好的二进制文件 'posuer' 将在 'build' 目录下。
服务器配置:
Posuer 通过 YAML 配置文件 'config.yaml' 进行配置。默认情况下,Posuer 会在以下位置查找配置文件:
- 命令行参数 '-config' 指定的路径
- 用户配置目录下的 '.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 模式运行 (默认模式)。
基本使用方法:
-
配置 '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 -
启动 Posuer 服务器: 在终端中运行构建好的 'posuer' 二进制文件,例如:
./build/posuer -config /path/to/config.yaml -watch -
配置 MCP 客户端: 将 MCP 客户端(如 Claude Desktop)配置为连接到 Posuer 服务器,使用上面提供的 JSON 配置信息。
-
使用 LLM 客户端: 现在,您的 LLM 客户端可以通过 Posuer 访问聚合后的 MCP 服务器能力。
动态配置重载:
Posuer 支持动态配置重载,允许您在 Posuer 运行期间修改 'config.yaml' 配置文件,Posuer 会自动检测到配置文件的变化并重新加载配置,无需重启服务。
信息
分类
AI与计算