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 服务器(示例:端口8767):
-
服务器配置(供 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 客户端对话系统。