Pyrite MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- Pyrite 的 MCP 服务器是一个面向大语言模型的后端服务,按照 MCP 规范向客户端提供资源数据、可调用的工具以及可渲染的提示模板,确保以结构化、可验证的方式向 AI 客户端暴露上下文信息与功能。
-
主要功能点
- 资源管理(Resources):托管、读取与更新知识库中的结构化资源,提供数据访问能力。
- 工具注册与执行(Tools):注册可被 LLM 调用的工具,并执行外部功能或服务。
- 提示模板(Prompts):定义与渲染用于与 LLM 交互的提示模板,支持定制化交互模式。
- JSON-RPC 通信:服务器通过遵循 MCP 的 JSON-RPC 形式接收请求并返回规范化响应。
- 会话与能力声明:会话上下文维护、能力(Tier)声明,支持基于权限的工具访问控制。
- 多传输协议支持:如 Stdio、Server-Sent Events (SSE)、WebSocket 等,提供灵活的传输方案。
- 插件协议与扩展点:插件可以扩展资源、工具、验证逻辑与生命周期钩子,提升可扩展性。
- 安全性与可扩展性:基于三层权限、密钥鉴权、以及模块化设计,便于在生产环境中部署。
-
安装步骤
-
- 安装 Python 环境(推荐 Python 3.10+)。
-
- 安装核心及扩展组件:pip install pyrite 或者 pip install "pyrite[all]",其中 “[all]” 包含 MCP 服务及相关依赖。
-
- 根据需要安装插件扩展(如软件 kb、zettelkasten 等扩展包)。
-
- 运行 MCP 服务器示例命令(客户端需配置连接信息,服务器端启动示例在具体实现中提供):
- 常用启动方式:pyrite mcp --tier read
- 也可通过 python 模块直接启动(取决于实现的 CLI/入口):python -m pyrite.server.mcp_server --tier read
-
- 在客户端创建 MCP 连接配置(后续客户端连接MCP服务器需要的配置信息,请见下方“服务器配置”)。
-
-
服务器配置(MCP 客户端需要的最小连接信息) JSON 配置示例(客户端需要提供该信息以连接 MCP 服务器,非代码,仅供参考): { "mcpServers": { "pyrite": { "command": "pyrite", "args": ["mcp"] } } } 该配置指明服务器名称、启动命令与参数,客户端据此启动 MCP 服务并与服务器建立连接。
-
基本使用方法
- 启动并配置阶段
- 启动 MCP 服务器(选择合适权限 tier,如 read、write、admin)。
- 构建或加载所需的资源、工具与提示模板,确保 LLM 客户端可访问。
- 客户端接入阶段
- 使用上面的 JSON 配置将 MCP 服务器注册到客户端,客户端通过 JSON-RPC 发送资源读取、工具调用与提示获取等请求。
- 常见操作
- 读取资源:客户端请求读取某个资源的元数据或内容。
- 调用工具:LLM 调用已注册的工具实现外部功能,如检索、计算或调用外部服务。
- 获取与渲染 Prompt:LLM 端获取可用的 Prompt 模板并渲染输出。
- 维护与扩展
- 通过插件协议扩展类型、工具集与验证规则,确保系统可按需进化。
- 使用提供的会话管理和能力声明机制来控制不同代理的访问权限。
- 启动并配置阶段
-
运行与集成要点
- MCP 服务器以 JSON-RPC 的形式暴露能力,前后端或代理代理可以通过标准的 RPC 调用实现资源访问、工具执行与提示渲染。
- 支持多种传输协议,便于在本地开发(Stdio/STDIN-STDOUT)、浏览器前端(WebSocket/SSE)以及流式对话场景下部署。
- 安全性:搭配 API 密钥、Tier 权限、以及插件化的权限模型,确保对敏感资源的访问进行控制。
-
备注
- 本项目在仓库中提供了完整的 MCP 服务实现、工具/资源/提示管理、以及与前端/REST API 的集成测试与示例,属于可运行的 MCP 服务器实现而非单纯示例。