UNITARES Governance MCP 服务器实现

使用说明

  • 项目简介

    • 本仓库实现了一个 governance-driven 的 MCP 服务器框架,核心职责是向 LLM 客户端提供统一的上下文信息和功能入口。核心包括资源管理、工具注册/调用、以及 Prompt 模板渲染等能力,服务通过 JSON-RPC 与客户端通信,支持会话管理、能力声明与多传输协议。
  • 主要功能点

    • MCP 服务器核心:提供资源、工具、Prompts 的托管与渲染能力,支持 JSON-RPC 出入请求。
    • 会话与身份管理:对接入端的会话标识、会话持续性、以及多模式交互(包含多客户端并发)。
    • 工具注册与调度:注册多种工具入口,LLM 可通过统一入口调用外部功能。
    • 提示模板渲染:定义与渲染 Prompt 模板,提升 LLM 的对话交互质量。
    • 安全与扩展性:包含会话隔离、能力声明、以及多传输协议的设计思路,便于后续扩展。
  • 安装步骤

    • 拉取代码后,在服务器端执行以下命令之一来启动 MCP 服务器(示例:端口8767):
      • 使用多客户端模式启动的服务器:python src/mcp_server.py --port 8767
      • 单客户端 STDIO 模式启动:python src/mcp_server_std.py
    • 也可以直接在本地运行测试用的脚本以验证基本接口。
  • 服务器配置(供 MCP 客户端使用的配置示例)

    • 配置文件说明:服务器配置用于 MCP 客户端在不同网络环境中寻址与接入,配置信息以 JSON 格式提供,内容包括服务器名称、启动命令及其参数等信息。客户端并不需要在运行时直接修改代码,只需提供服务器的连接信息即可建立会话。
    • 示例(描述性文本,非代码块呈现)
      • server name: "unitares_governance_server"
      • command: "python"
      • args: ["src/mcp_server.py", "--port", "8767"]
      • 备注: 该配置信息可用于客户端的连接描述,实际使用请把命令与参数改为目标环境下的可执行路径与端口。若要在远程环境使用,请设置访问地址为 https://<你的子域>/mcp/(以及必要的认证头部)并确保服务器端口对外暴露。
  • 基本使用方法

    • 启动服务器后,客户端通过 JSON-RPC 请求发送对资源、工具、Prompts 的读取、调用和获取 Prompt 等操作。
    • 客户端可选择多种传输通道,如 STDIO、SSE、WebSocket,实现实时、双向通信。
    • 服务器负责会话建立、能力声明、以及安全策略执行,确保多代理环境下上下文的隔离与安全。
  • 运行要点

    • 确保服务器端口对外可访问,且必要的依赖已安装。
    • 如果使用 WebSocket/SSE,请在客户端实现层适配对应传输协议。
    • 结合仓库中的 governance_core、patterns、工具集合等模块,可以快速构建带有治理能力的 MCP 客户端对话系统。

服务器信息