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 客户端连接信息展示,实际认证与访问控制仍由服务器端完成,客户端不需要额外的实现细节。
-
基本使用方法
- 步骤概要
- 构建并启动 MCP 服务器(通过仓库提供的 mcp 子命令运行 Shepherd 进入 MCP 模式)。
- 在 Claude Desktop 等 MCP 客户端的配置中填入上述服务器信息,使用对应的启动命令和参数连接服务器。
- 使用 MCP 客户端向服务器发起任务、读取资源、调用工具、获取 Prompt 模板等。
- 运行时注意点
- 服务器与客户端通过 JSON-RPC 进行通信,请确保网络和 I/O 通道在运行环境中可用。
- 根据需要选择传输协议(STDIO/SSE/WebSocket)以适配客户端环境。
- 服务器应正确暴露资源、工具和 Prompt 的接口,确保 LLM 客户端能够进行读取、调用和渲染。
- 步骤概要