zhi Model Context Protocol 服务端
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个面向 LLM 客户端的 MCP 服务器能力,核心在于以标准化的 JSON-RPC 方式暴露并管理资源(Resources)、工具(Tools)以及提示模板(Prompts),并提供会话管理与多传输协议支持,适用于将配置管理场景与 LLM 互动衔接的后端服务。
-
主要功能点
- 资源管理:提供对“资源/数据”的托管与访问能力,便于 LLM 客户端查询/读取上下文数据。
- 工具注册与执行:注册并执行外部工具,LLM 客户端可通过 JSON-RPC 调用实现外部功能。
- 提示模板:定义并渲染提示模板,支持可定制的 LLM 交互模式。
- JSON-RPC 通信:服务器端以 MCP 的 JSON-RPC 形式与客户端交互,统一请求/响应结构。
- 会话与能力声明:实现会话管理、能力声明,以及对 API 的访问控制。
- 多传输协议支持:设计与实现支持多种传输通道(如标准输入输出、SSE、WebSocket)以适配本地与网络场景。
- 插件化与扩展:提供 MCP 服务器生态,易于与外部 UI/前端(如 SSE 插件、Web UI、CLI UI)集成。
-
安装步骤
- 从源码构建(Go 1.26+):将仓库克隆后进入根目录执行构建命令,生成可执行文件。
- 或直接使用仓库提供的示例与插件配套进行部署,结合 MCP 的不同传输实现进行集成。
-
服务器配置(面向 MCP 客户端使用的连接配置信息,JSON 格式,含 server name、command、args 等)
- 服务器名称(serverName):zhi
- 启动命令(command):zhi
- 启动参数(args):["edit","--ui","mcp-stdio"]
- 工作目录(cwd):"/path/to/workspace"(替换为实际工作区路径) json 示例: { "serverName": "zhi", "command": "zhi", "args": ["edit", "--ui", "mcp-stdio"], "cwd": "/path/to/workspace" } 注:该配置用于 MCP 客户端通过标准输入输出与 MCP 服务器建立通信(stdio 传输)。若要通过 HTTP SSE 或 WebSocket 方式接入,请参照仓库中示例插件(如 zhi-ui-mcp-sse)在相应传输实现中配置对应启动参数和连接地址。
-
基本使用方法
- 本地使用(推荐的开发模式)
- 构建并运行 MCP 服务器:在工作区执行适配命令启动 MCP 服务(示例与项目集成的 stdio 传输场景)。
- 使用 MCP 客户端连接:在 Claude/.Cursor 等 LLM 客户端中配置 MCP 服务器的启动命令与参数,使其通过标准输入输出方式与 MCP 服务器通信。
- 远端/网络使用
- 可通过外部插件(如 zhi-ui-mcp-sse)在 HTTP 传输层暴露 MCP 服务,客户端通过 SSE 或 WebSocket 连接。
- 典型工作流程
- 客户端请求读取资源、注册工具、获取提示模板等,服务器按 MCP 协议响应 JSON-RPC 数据结构,客户端据此进行上下文协作。
- 本地使用(推荐的开发模式)