Zen MCP Server
使用说明(Markdown 格式)
-
项目简介
- Zen MCP Server 是一个按 MCP(Model Context Protocol)规范实现的服务端,目标是在与 LLM 客户端(如 Claude 等)交互时,以标准化方式提供上下文信息和功能。
- 服务器核心职能包括:管理资源(Resources)、注册与执行工具(Tools)、定义与渲染提示模板(Prompts),并通过 JSON-RPC 与客户端通信来读取资源、调用工具、获取提示等。
-
主要功能点
- MCP 核心能力:实现对 list_tools、call_tool、list_prompts、get_prompt 等 MCP 端点的处理与响应。
- 资源、工具、提示渲染:统一管理工具集合、提示模板与资源,支持基于环境变量的工具启用/禁用、以及模板化的提示输出。
- 模型提供者整合:对 Gemini、OpenAI、X.AI、DIAL、OpenRouter、Ollama(自定义 API)等提供方的模型进行注册与选择,并支持自动模式(auto)。
- 会话管理与上下文:在需要时构建对话历史、模型上下文、文件引用和跨工具的上下文传递,支持回放和续谈(continuation)。
- 安全与合规:日志记录、权限控制、模型切换的降级处理、对外部接口的访问控制等,提供回收清理钩子以便关停。
- 传输与扩展性:当前实现以 stdio 传输为主,面向 MCP 客户端的 JSON-RPC 通信,理论上支持扩展到 SSE/WebSocket 等传输方式(实现留出接口与日志支持)。
- 运行与测试:包含用于本地开发与测试的测试框架与工具,帮助验证工具链、跨工具对话、以及模板渲染等能力。
-
安装步骤(简要说明)
- 准备环境:确保使用 Python 3.8 及以上版本,推荐使用虚拟环境。
- 安装依赖:根据项目的依赖文件(如 requirements.txt/setup.py)安装所需第三方库。
- 获取代码:克隆仓库并进入项目目录。
- 运行服务器:在命令行执行服务器入口,默认通过标准输入/输出(stdio)与 MCP 客户端进行通信。
- 使用测试/示例客户端:可以通过提供的 MCP 客户端示例或测试脚本来向服务器发送 MCP 请求,以验证资源、工具及提示模板的读取与执行。
-
服务器配置(MCP 客户端需要的最小信息) 说明:MCP 客户端需要的配置信息以 JSON 形式提供,包含服务器名称、启动命令及参数等。以下为可用的配置示例字段说明,实际客户端按需读取使用。请注意,以下信息仅用于配置说明,不是需要直接在应用中执行的代码。
- server_name: zen
- command: python
- args: ["server.py"]
- transport: stdio
- description: Zen MCP Server 的启动配置,基于 stdio 传输进行 MCP 的 JSON-RPC 通信
- notes: MCP 客户端应在启动后向服务器发送初始化、工具列表查询、以及后续工具调用等请求
-
基本使用方法(操作步骤)
- 第一次使用
- 启动服务器进程(按配置启动命令运行 server.py)。
- MCP 客户端通过标准输入向服务器发送初始化请求,随后获取工具列表、 prompts 等能力信息。
- 运行与扩展
- 客户端通过 JSON-RPC 发送 list_tools、call_tool、list_prompts、get_prompt 等请求,服务器返回相应数据或执行结果。
- 如需跨工具对话,客户端可发起带 continuation_id 的请求,服务器将把历史上下文注入到当前工具调用中。
- 会话与安全
- 服务器在启动时会加载并应用环境变量中的配置(如 API 密钥启用的提供方、DISABLED_TOOLS 等)。
- 日志与错误信息会输出到日志文件,便于排错与审计。
- 第一次使用