使用说明内容(Markdown格式)

使用说明

  • 项目简介

    • 该项目实现一个 MCP 服务器,用于以标准化的方式向 MCP 客户端提供 Agent SOPs(标准操作流程)作为可调用的提示。它支持内置 SOPs 与通过 external SOP 路径加载的外部 SOP,并实现“先外部后内置”的优先级,以实现外部自定义覆盖内置内容的能力。
    • 服务器核心通过 FastMCP 提供服务,支持将 SOP 作为可执行提示注册到客户端,并在运行时处理客户端的请求。
  • 主要功能点

    • 加载内置 SOP:从项目中的 sops 目录读取并注册为 MCP 提示。
    • 外部 SOP 加载:从用户指定的目录列表加载 .sop.md 文件,提取概述用于描述,内容作为提示文本。
    • 第一性胜(First-wins)策略:外部 SOP 如与内置同名,将覆盖内置实现;若多处外部路径有同名 SOP,按路径顺序先出现者优先。
    • 规范化注册与执行:将每个 SOP 注册为一个可触发的提示名,提供描述信息供 MCP 客户端显示。
    • 服务器运行与暴露:使用 FastMCP 启动服务器并在 run() 时进入事件循环,响应客户端的 PROMPT 请求。
    • 参数化与容错:对外部路径不存在、非目录、无 Overview、读取错误等情形给予日志记录并跳过,确保服务持续可用。
  • 安装步骤

    • 安装 Python 运行环境与依赖(如 Python 3.8 及以上)。
    • 安装本仓库提供的包,例如通过常见的包管理方式安装 strands-agents-sops(若有发行包)。
    • 安装依赖后,在项目根目录执行命令来启动 MCP 服务,例如使用内置的 CLI 入口:
      • strands-agents-sops mcp
      • strands-agents-sops mcp --sop-paths /path/to/external/sops
    • 外部 SOP 路径支持以冒号分隔的形式传入,如 ~/sops1:/absolute/path:/relative/path,路径会自动展开与解析。
  • 服务器配置(供 MCP 客户端配置参考,非服务器端代码) { "server_name": "agent-sop-prompt-server", "command": "strands-agents-sops", "args": ["mcp", "--sop-paths", "/path/to/external"] }

    • server_name: MCP 服务器在客户端使用的标识名称,应与实际部署名称保持一致。
    • command: 启动服务器的命令(不涉及具体实现细节,客户端只需要知道如何启动服务器)。
    • args: 启动参数数组,包含用于加载外部 SOP 的 mcp 子命令与路径等。
    • 注:MCP 客户端通常只需要知道服务器的启动信息与可访问性(如网络地址、端口和启动参数),无需修改服务器端实现。
  • 基本使用方法

    • 以 MCP 客户端接入:启动服务器后,客户端通过 JSON-RPC 请求获取、读取 SOP 作为上下文或功能工具调用,具体调用格式由 MCP 协议定义的 JSON-RPC 进行通信。
    • SOP 的注册与调用:内置 SOP 和外部 SOP 将以名称进行注册,客户端可以通过名称触发对应的 SOP 内容,服务器返回相应的提示或执行结果。
    • 冲突处理:若外部和内置存在同名 SOP,外部版本优先;若同一外部路径中存在同名 SOP,最先发现的 SOP 生效。
    • 监控与扩展:服务器实现考虑了日志记录和错误处理,便于运营时分析加载问题、路径配置等。

信息

分类

AI与计算