Routa MCP Server
使用说明(Markdown 格式)
- 项目简介
- Routa 是一个面向 IntelliJ 插件的多智能体编排系统,同时实现了 MCP(Model Context Protocol)服务器端组件,用于向 LLM 客户端提供上下文数据、工具调用能力以及 Prompt/模板渲染等功能。通过 MCP,LLM 客户端可以以标准化的 JSON-RPC 形式读取资源、执行工具以及获取和渲染 Prompts。Routa 的 MCP 服务端核心组件包括 RoutaMcpServer、 RoutaMcpToolManager,以及与 MCP 客户端通信的路由与工具注册逻辑,支持多种传输方式(如 SSE、WebSocket、STDIO 框架的集成),并实现了基于 ACP 的协作管控能力。
- 主要功能点
- MCP 服务端核心:基于 @modelcontextprotocol/sdk 的 MCP 服务器实现,注册并暴露多项工具,接收并响应 JSON-RPC 请求,向客户端发送结构化通知。
- 工具注册与执行映射:将 Routa 的 12 大类工具映射为 MCP 工具,覆盖创建任务、查询任务、代理分发、跨代理通信、事件订阅等能力。
- ACP 与 MCP 集成:内置的 ACP 处理流程可通过 MCP 与多代理(ROUTA/CRAFTER/GATE)协同工作,并支持通过 MCP 触发进程化委派与任务唤醒。
- 会话与事件流:具备会话管理、订阅/订阅取消、事件流(包括工具调用的状态、任务进度、会话通知)的能力。
- MCP 配置生成与工具支持:提供生成 Routa MCP 服务端配置 JSON 的工具,支持多种提供商的 MCP 集成( Claude Code、Codex、OpenCode、Gemini、Auggie、Kimi、Copilot 等),并对外暴露说明性 API。
- 服务端路由与示例:在 app 的 API 路由中实现了 /api/mcp(MCP 的 SSE/POST 端口)、/api/mcp/tools(工具定义与执行入口)、以及相关的 MCP 配置工具。
- 安装与运行
- 仓库是一个多模块仓,MCP 服务端核心与路由实现集中在 routa-js 模块中,需在本地构建并启动相应的服务端环境(常规 Node.js + Next.js/Ant Design 风格的路由)。
- 一般流程:
- 安装依赖:在 routa-js/ 及相关子包中执行依赖安装。
- 构建/启动:按照项目提供的构建脚本(通常包含对 Next.js API 路由的打包与启动)启动服务端。
- MCP 客户端接入:使用客户端工具(Claude Code、Codex、Gemini、OpenCode 等)通过 JSON-RPC/HTTP 或 MCP Inspector 连接到 /api/mcp,使用示例配置进行连接(见下方“服务器配置”)。
- MCP 客户端配置说明(仅供参考,具体请以你的 MCP 客户端实现为准):
该配置用于 MCP 客户端连接 Routa 的 MCP 服务端。配置以 JSON 表达,包含服务端名称、连接端点及工作区标识等信息,示例如下(以文本形式描述,不作为代码块呈现):
- serverName: routa-coordination
- transport: http
- url: http://localhost:3000/api/mcp
- env: { ROUTA_WORKSPACE_ID: "default" }
- 说明:Routa 提供的 MCP 服务默认工作区为 default,可以通过 ROUTA_WORKSPACE_ID 指定工作区。客户端通常仅需要知道 serverName 和 url(以及可选环境变量),不需要直接执行服务端的启动命令与参数;启动命令由服务器端执行并托管。
- 服务器配置(供 MCP 客户端使用的连接信息,按 MCP 客户端需要的形式提供)
这是用于 MCP 客户端连接 Routa MCP 服务端的 JSON 配置示例(请不要直接在服务器端写死为代码块;下方文本已给出可直接使用的 JSON 结构):
{
"serverName": "routa-coordination",
"type": "http",
"url": "http://localhost:3000/api/mcp",
"env": {
"ROUTA_WORKSPACE_ID": "default"
}
}
备注:
- serverName 对应 MCP 服务端的服务器标识名称,type 表示传输类型(此处为 http),url 指向 Routa 的 /api/mcp 端点,env 用于传递工作区等运行时参数。
- 若你的客户端需要在启动时注入额外参数,可将其放入该对象的其他字段中(如工作区、provider 选择等),但核心连接信息为 url 与工作区标识。
- 基本使用方法
- 客户端准备并连接到 Routa 的 MCP 服务端,建立 JSON-RPC 通道。
- 通过 JSON-RPC 请求读取资源、调用工具、获取 Prompt 模板等。服务端返回的响应和通知将通过 JSON-RPC 格式和流式通知提供给客户端。
- 如需在多代理协作中进行任务分派,Routa 的 MCP 服务端会通过工具映射实现任务创建、分派、跟踪与结果汇总等工作流。
- 如需要使用监控与调试工具,可以通过 MCP Inspector 等工具对 /api/mcp 端口进行连接和调试。