Pyrite MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • Pyrite 的 MCP 服务器是一个面向大语言模型的后端服务,按照 MCP 规范向客户端提供资源数据、可调用的工具以及可渲染的提示模板,确保以结构化、可验证的方式向 AI 客户端暴露上下文信息与功能。
  • 主要功能点

    • 资源管理(Resources):托管、读取与更新知识库中的结构化资源,提供数据访问能力。
    • 工具注册与执行(Tools):注册可被 LLM 调用的工具,并执行外部功能或服务。
    • 提示模板(Prompts):定义与渲染用于与 LLM 交互的提示模板,支持定制化交互模式。
    • JSON-RPC 通信:服务器通过遵循 MCP 的 JSON-RPC 形式接收请求并返回规范化响应。
    • 会话与能力声明:会话上下文维护、能力(Tier)声明,支持基于权限的工具访问控制。
    • 多传输协议支持:如 Stdio、Server-Sent Events (SSE)、WebSocket 等,提供灵活的传输方案。
    • 插件协议与扩展点:插件可以扩展资源、工具、验证逻辑与生命周期钩子,提升可扩展性。
    • 安全性与可扩展性:基于三层权限、密钥鉴权、以及模块化设计,便于在生产环境中部署。
  • 安装步骤

      1. 安装 Python 环境(推荐 Python 3.10+)。
      1. 安装核心及扩展组件:pip install pyrite 或者 pip install "pyrite[all]",其中 “[all]” 包含 MCP 服务及相关依赖。
      1. 根据需要安装插件扩展(如软件 kb、zettelkasten 等扩展包)。
      1. 运行 MCP 服务器示例命令(客户端需配置连接信息,服务器端启动示例在具体实现中提供):
      • 常用启动方式:pyrite mcp --tier read
      • 也可通过 python 模块直接启动(取决于实现的 CLI/入口):python -m pyrite.server.mcp_server --tier read
      1. 在客户端创建 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 服务器实现而非单纯示例。

服务器信息