Roo Extensions MCP 服务器集成

使用说明(Markdown 格式)

  • 项目简介 Roo Extensions 提供一个基于 JSON-RPC 的 MCP 服务器生态,包含若干内部与外部资源访问服务(Resources)、工具注册与执行服务(Tools)以及提示模板与渲染(Prompts),支持会话管理、能力声明,并能通过多种传输协议进行通信。

  • 主要功能点

    • 资源管理与数据访问:托管与读取后端资源、跨机器同步等能力
    • 工具注册与调用:注册可被 LLM 调用的外部功能,支持参数校验与结果返回
    • Prompt 模板定义与渲染:提供可定制化的 Prompt 模板用于 LLM 交互
    • 会话与能力协商:会话管理、能力声明、跨模式协作
    • 传输协议支持:StdIO、SSE、WebSocket 等传输通道,便于不同前端/LLM 客户端接入
    • 结构化配置与扩展性:清晰的 MCP 服务组织(如 roo-state-manager、jinavigator、jupyter-mcp-server、quickfiles 等)及 RooSync 的多机器同步
    • 生态文档与示例:大量文档、指南、示例配置与用法
  • 安装步骤

    1. 克隆并初始化子模块 git clone https://github.com/jsboige/roo-extensions.git cd roo-extensions git submodule update --init --recursive
    2. 安装 MCP 相关组件 进入 mcps/internal/servers 相应模块,安装依赖并执行构建(如 npm install、npm run build)
    3. 启动 MCP 服务器 参考 mcps/README.md 的各自架构,逐个启动内部 MCP(如 roo-state-manager、jinavigator、jupyter-mcp-server 等),可通过配置文件指明 command、args、transportType 等
    4. 客户端接入配置 在 Roo 或任意需要接入 MCP 的客户端中,按示例 JSON 配置入口服务器信息:服务器名称、启动命令、参数、传输类型等
    5. 启动客户端与服务器 重新加载 Roo 配置,启动 MCP 服务交互,确保正确的 JSON-RPC 请求/响应格式交互
    6. 参考文档与示例 详见 mcps/README.md、roo-config、roo-modes、docs 等目录中的指南与示例
  • 服务器配置(注:以下为描述性信息,非代码块,便于理解客户端无需关心实现细节) { "serverName": "roo-state-manager", "command": "node", "args": ["./dist/index.js"], "transportType": "stdio", "enabled": true, "capabilities": { "resources": true, "tools": true, "prompts": true }, "endpoints": { "readResource": "/readResource", "callTool": "/callTool", "getPrompt": "/getPrompt" }, "session": { "active": true, "timeoutMs": 300000 }, "security": { "tls": false } } 注释说明:

    • serverName: MCP 服务器的唯一标识,仓库内存在多台服务器实例,示例包括 roo-state-manager、jinavigator、jupyter-mcp-server、quickfiles 等
    • command / args: 启动服务器的可执行命令及参数,客户端需要通过 JSON 配置来连接
    • transportType: 指定传输通道,如 stdio、SSE、WebSocket 等
    • capabilities: 声明该服务器提供的能力集合
    • session: 会话管理相关设置
    • security: 安全相关选项,是否启用 TLS 等 注意:实际配置请参考仓库中 mcps/README.md 的各服务器配置示例与 Roo 配置格式,确保描述字段与字段含义与实现一致
  • 基本使用方法

    1. 通过客户端向 MCP 服务器发起 JSON-RPC 请求,例如读取资源、调用工具、获取 Prompt
    2. 服务器返回标准的 JSON-RPC 响应,包含 result 或 error 字段
    3. 在客户端侧按需求实现会话管理、能力声明与错误处理
    4. 如需多传输协议,按服务器提供的 transportType 进行相应实现(如标准输入输出、SSE、WebSocket)
    5. 如需扩展新的资源、工具或 Prompts,参考 mcps 内的扩展目录,遵循 JSON-RPC 请求结构进行对接

服务器信息