ArchGuard MCP 服务端实现

使用说明(Markdown 格式)

  • 项目简介

    • ArchGuard 提供一个基于 MCP(Model Context Protocol)的服务端实现,核心职责包括托管与管理资源(Resources)、注册与执行工具(Tools)、定义与渲染 Prompt 模板(Prompts),并通过 JSON-RPC 与 LLM 客户端进行通信,支持会话管理、能力声明以及多传输协议(如 STDIO、SSE、WebSocket)以实现安全、可扩展的上下文服务。
  • 主要功能点

    • 资源托管与数据访问:后端资源和查询结果的管理,供 LLM 客户端检索上下文信息。
    • 工具注册与执行:注册各种工具,LLM 可以通过 RPC 调用外部功能实现扩展能力。
    • Prompt 模板定义与渲染:支持可定制的 Prompt 模板,用于标准化的人机交互。
    • JSON-RPC 通信:服务器接收请求并返回标准化的 JSON-RPC 响应或通知。
    • 会话与能力管理:会话管理、能力声明,以及对不同传输协议的支持。
    • 多传输协议:包括 STDIO、SSE、WebSocket 等,适配不同应用场景。
    • 安全性与扩展性:具备安全管控、权限分离和可扩展的后端结构,便于接入多种 LLM 客户端。
  • 安装步骤

    • 安装依赖
      • 在项目根目录执行安装命令,安装所需的 Node.js 依赖。
    • 构建与部署
      • 根据仓库提供的构建指引进行打包,例如 npm run build。
    • 启动 MCP 服务器
      • 通过 ArchGuard 的 CLI 启动 MCP 服务,例如 archguard mcp,按需传入 arch-dir、scope 等参数。
    • 注意
      • MCP 客户端需要的不是服务器端代码,而是能够通过 JSON-RPC 与服务器通信的能力。因此,客户端配置会使用服务器的启动命令信息来连接。
  • 服务器配置(JSON 示例,适用于 MCP 客户端连接时的描述信息) { "serverName": "archguard-mcp", "command": "archguard", "args": ["mcp"], "description": "ArchGuard MCP 服务端(MCP 协议实现)", "notes": "MCP 客户端通过 JSON-RPC 与此服务器通信,基于 ArchGuard 的实现提供资源、工具和 Prompts 的上下文服务" }

  • 基本使用方法

    • 启动后,客户端通过 MCP 协议向服务器发送 JSON-RPC 请求,获取资源、调用工具、获取 Prompt 等信息。
    • 客户端可以注册工具、查询资源和执行分析工作流,服务器负责会话管理、能力声明以及跨传输协议的通信。
    • 如需扩展,开发者可以实现更多资源类型、工具或提示模板,并通过注册接口将其暴露给 LLM 客户端。
  • 运行要点

    • 确保 Node.js 版本与运行环境兼容。
    • MCP 服务器应在启动阶段声明支持的能力和传输协议,便于客户端正确连接与使用。
    • 生产环境可结合安全控件、鉴权和审计日志来保障服务安全性。
  • 参考与进一步阅读

    • 项目文档中的 MCP 使用指南、工具引用与工作流说明
    • Reserve 配置与传输协议实现细节、以及对 Prompts、Tools 的扩展方式
  • 备注

    • 本实现的目标是提供一个完善的 MCP 服务器端框架,方便 LLM 客户端通过标准化接口访问后端能力、资源与模板。

服务器信息