ralph-starter MCP 服务端
使用说明
- 项目简介
- 该仓库实现了一个 MCP 服务器,遵循 Model Context Protocol(MCP)规范,通过 JSON-RPC 与客户端通信,向 LLM 客户端提供资源管理、工具注册与执行、以及 Prompts 的定义与渲染等能力,便于在 Claude Desktop 等 MCP 客户端中接入上下文服务。
- 主要功能点
- 资源管理:通过 MCP 读取并托管项目中的资源(如实现计划、规范、代理配置等)。
- 工具注册与执行:注册并执行 Ralph 开发工作流中的工具(如 ralph_init、ralph_plan、ralph_run、ralph_status、ralph_validate)。
- Prompt 定义与渲染:提供并渲染用于与 LLM 交互的 Prompt 模板(PROMPT_build.md、PROMPT_plan.md 等)。
- JSON-RPC 通信:服务器与 MCP 客户端基于 JSON-RPC 进行请求与响应,支持 ListTools、CallTool、ListResources、ReadResource、ListPrompts、GetPrompt 等请求。
- 会话与能力声明:在启动时声明服务器能力,管理会话状态,确保多轮交互的上下文一致性。
- 多传输协议支持:通过 MCP 的传输层在不同通道(如 Stdio、WebSocket、SSE 等)承载交互。
- 安装与运行
- 需要 Node.js 版本:18+。
- 安装依赖后,运行 MCP 服务器命令:ralph-starter mcp
- 启动后,MCP 客户端(如 Claude Desktop)可按文档示例将服务器配置为一个 MCP 服务器条目,建立连接。
- 服务器配置(供 MCP 客户端使用的配置说明)
- MCP 客户端通常需要的连接信息为一个简单的 JSON 配置,包含服务器名称、启动命令以及参数。示例配置(注释以中文描述,方便理解;实际客户端使用时不需要包含注释):
- {
- "serverName": "ralph-starter-mcp",
- "command": "ralph-starter",
- "args": ["mcp"],
- "description": "Ralph MCP 服务端,提供资源、工具与 Prompts 的 MCP 功能",
- "transport": "stdio" // 可能的传输方式,客户端可按需选择(如 stdio/SSE/WebSocket)
- }
- 注:上述信息应与仓库实际启动方式保持一致。使用 Claude Desktop 或其他 MCP 客户端时,请在客户端配置中引用相同的 serverName,并将 command/args 指向启动 MCP 服务的实际命令与参数,确保客户端能够通过 MCP 协议与服务器建立连接。
- 基本使用方法
- 启动与连接
- 在支持 MCP 客户端的环境中执行:ralph-starter mcp
- 在 MCP 客户端中添加 MCP 服务器条目,指向上述 serverName,确保客户端能够通过指定的 command 和参数启动并连接到 MCP 服务器。
- 交互模式
- 客户端发送 MCP 请求(如读取资源、调用工具、获取 Prompt)后,服务器返回相应的 JSON-RPC 响应或通知。
- 运行与调试
- 服务器实现包含资源、工具、提示模板的暴露与执行逻辑,开发者可通过 MCP 客户端进行测试与调试。
- 启动与连接