Shepherd MCP 后端服务器

使用说明

  • 项目简介

    • Shepherd 是一个面向 AI 编码任务的调度与执行系统,包含命令行、Web UI 和 MCP 服务等组件。其中的 MCP 服务用于与 Claude Desktop 等 MCP 客户端通过标准的 MCP 协议进行对接,提供资源、工具、以及提示模板等上下文能力。
  • 主要功能点

    • MCP 服务核心能力:实现 MCP 服务器端逻辑,响应 MCP 客户端的请求,提供资源读取、工具注册与调用、以及 Prompt/模板相关能力。
    • 资源与工具管理:托管项目所需的资源、定义并暴露可远程调用的工具,允许 LLM 调用外部功能。
    • Prompt 定义与渲染:支持定义并渲染面向任务的 Prompt 模板,便于 MCP 客户端在对话中调用。
    • 多传输协议支持:设计上考虑了 STDIO、SSE、WebSocket 等传输,确保 MCP 客户端在不同环境下都能连接。
    • 会话与权限管理:通过后端会话管理和能力声明,为 MCP 客户端提供安全、可扩展的上下文服务框架。
  • 安装步骤

    • 需要的环境:Go 1.21+,以及相关依赖(仓库内已给出构建与打包步骤)。
    • 构建与运行(简要步骤,不涉及具体命令行代码块)
      • 使用仓库提供的构建流程编译并打包,包括 MCP 相关组件。
      • 启动 MCP 服务:在命令行执行 Shepherd 的 MCP 子命令(如 mcp),以作为 MCP 服务器运行。
    • 运行前置准备
      • 可能需要进行身份认证配置、端口、以及跨域等设置,具体以仓库的配置项为准。
    • 与 MCP 客户端的对接
      • Claude Desktop 等 MCP 客户端需要在配置中提供服务器启动信息,以建立 JSON-RPC 连接。
  • 服务器配置(MCP 客户端所需信息,供客户端配置对接使用)

    • 服务器名称:shepherd
    • 启动命令与参数(客户端在配置中使用,用于启动 MCP 服务器进程)
    • 配置示例(JSON 结构,供 MCP 客户端在自己的配置中使用,确保字段含义清晰,描述如下)
    • 服务器配置(JSON): { "mcpServers": { "shepherd": { "command": "shepherd", "args": ["mcp"] } } } 说明:
    • mcpServers 为 MCP 客户端用来发现和连接的服务器集合。
    • shepherd 为服务器名称,对应仓库中的 MCP 服务实例。
    • command 是用于启动服务器的命令,默认应为可执行的 Shepherd 程序名。
    • args 是启动参数,此处使用 "mcp" 作为启动模式,使 Shepherd 进入 MCP 服务模式。
    • 该配置仅用于 MCP 客户端连接信息展示,实际认证与访问控制仍由服务器端完成,客户端不需要额外的实现细节。
  • 基本使用方法

    • 步骤概要
      1. 构建并启动 MCP 服务器(通过仓库提供的 mcp 子命令运行 Shepherd 进入 MCP 模式)。
      2. 在 Claude Desktop 等 MCP 客户端的配置中填入上述服务器信息,使用对应的启动命令和参数连接服务器。
      3. 使用 MCP 客户端向服务器发起任务、读取资源、调用工具、获取 Prompt 模板等。
    • 运行时注意点
      • 服务器与客户端通过 JSON-RPC 进行通信,请确保网络和 I/O 通道在运行环境中可用。
      • 根据需要选择传输协议(STDIO/SSE/WebSocket)以适配客户端环境。
      • 服务器应正确暴露资源、工具和 Prompt 的接口,确保 LLM 客户端能够进行读取、调用和渲染。

服务器信息