Plural MCP Server

使用说明

  • 项目简介
    • 该仓库实现一个用于 Claude 等大模型的 MCP 服务器端,负责处理客户端发来的权限请求、问答请求和计划审批请求等,并将结果通过 JSON-RPC 返回给客户端。服务器端与本地 TUI 组件通过 Unix 套接字进行交互,确保在沙箱环境中对权限和外部调用进行可控、可观测的管理。
  • 主要功能点
    • 处理 MCP 请求/响应:基于 MCP 的三大核心请求类型(权限、问题、计划审批),实现客户端请求的接收、处理与响应回传。
    • 与本地 UI 的对接:通过 Unix socket 与 TUI 进行通信,实时展示权限弹窗、问题选择、计划审批等交互。
    • 会话与日志:对会话进行标识,并输出日志以便调试与审计。
    • 多传输支持:本地实现通过标准输入/输出与套接字组合的传输方式,确保与不同传输通道(如 STDIO、SSE、WebSocket 等)的客户端适配。
  • 安装步骤
    • 安装 Go 环境(1.20+)并获取依赖
    • 下载并构建本仓库(根目录执行)
    • 编译完成后,执行内部 MCP 服务器命令(见下方“启动方式”)
  • 服务器启动与配置
    • 启动方式(示例,具体路径请按实际环境替换):
      • 使用内部命令启动 MCP 服务器并指定与 UI 通信的套接字路径 plural mcp-server --socket /tmp/plural-<session-id>.sock
    • MCP 客户端连接配置信息(JSON,供客户端参考,不需要在 MCP 服务器端写入代码) { "server_name": "Plural MCP Server", "command": "plural", "args": ["mcp-server", "--socket", "/tmp/plural-<session-id>.sock"] // 说明:server_name 为 MCP 客户端展示名称,command/args 为启动服务器的命令和参数,<session-id> 需替换为实际会话标识 }
    • 说明:MCP 客户端需要与服务器建立连接以发送请求,以上 JSON 仅用于描述性配置;实际客户端实现无需在此处修改服务器代码。
  • 基本使用方法
    • 启动后,客户端通过 MCP 协议向服务器发送请求(权限、问题、计划等),服务器将请求转发给本地 UI TUI 进行交互,UI 的决策结果再回传给 MCP 客户端。
    • 服务器实现会处理通信错误,确保在 UI 无法连接或通信异常时进行合理的默认拒绝策略,保证系统的安全性。
    • 服务器具有基础的会话标识和日志输出能力,便于排错与审计。

服务器信息