Patina MCP 服务端
使用说明(简明且与仓库事实对齐的中文描述,含关键操作要点)
-
项目简介
- Patina 专注于把开发过程中的 Patterns、决定与洞察打造成可复用的上下文知识库,提供多维嵌入、跨项目知识、工具调用和 Prompt 渲染等能力。MCP 部分作为服务器端实现,负责接收客户端请求、返回 JSON-RPC 响应,并管理会话、能力声明与资源/工具/Prompts 的托管。
-
主要功能点
- MCP 服务器核心:实现 MCP 协议的请求/响应处理,基于 JSON-RPC 的通信机制,向 LLM 客户端提供资源读取、工具调用、Prompt 获取等能力。
- 资源与工具管理:托管资源数据、注册可执行的 Tools、定义与渲染 Prompt 模板,支持可定制的 LLM 交互模式。
- 数据传输与扩展性:支持多种传输协议(如 Stdio、SSE、WebSocket),便于在容器、云端或本地环境部署。
- 会话与能力声明:服务器端维护会话状态与能力声明,确保上下文服务安全、可扩展。
- 与 Patina 生态协同:底层实现与 Patina 的数据与嵌入、检索、DevContainer等模块集成,形成端到端的上下文服务解决方案。
-
安装步骤
- 使用 Rust 构建并安装;常规做法是在仓库根目录执行:
- 构建安装(开发环境):cargo build --release
- 或直接将可执行文件安装到全局路径:cargo install --path .
- 运行服务器(本地开发/测试环境):
- patina serve
- 若在容器中部署,可通过环境变量和端口映射配置运行参数,例如将服务器绑定到 0.0.0.0,端口 50051,并确保对外暴露该端口。
- 使用 Rust 构建并安装;常规做法是在仓库根目录执行:
-
服务器配置(面向 MCP 客户端的配置信息)
- MCP 客户端需要从服务器获取必要信息并建立连接。以下配置示例可用于 MCP 客户端的启动配置(JSON 格式,客户端不需要此段代码,说明仅供参考):
- server_name: "patina-mcp-server"
- command: "patina"
- args: ["serve", "--host", "0.0.0.0", "--port", "50051"]
- 注释说明:
- server_name 表示 MCP 服务器的标识名称,便于管理与日志追踪。
- command 为启动服务器的命令名称,通常与本仓库生成的可执行文件名一致。
- args 为启动命令的参数,包含主机绑定与端口设置,便于客户端通过网络连接到 MCP 服务。
-
基本使用方法
- 启动服务器后,客户端通过 JSON-RPC 调用 MCP 的接口,例如读取资源、调用工具、获取 Prompt。
- 客户端在建立连接后即可按需要注册资源、工具、Prompts,并向服务器发起请求完成相应操作。
- 如需健康检查,可请求 health 端点或通过 MCP 客户端的心跳/能力探测流程确认服务状态。
-
运行与维护建议
- 将 Patina MCP 服务部署在受信任的网络环境,结合现有的 Patina 数据存储(如嵌入向量、事件日志等)实现一致性与可追溯性。
- 使用容器化部署以确保多实例可扩展,并通过端口映射/反向代理实现对外暴露。