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 客户端进行测试与调试。

服务器信息