RoadRaven

io.github.Shuffzord由 GitHub 账号 Shuffzord 发布v0.9.2更新于 Oct 29, 2026

Create and update roadmap tree nodes and statuses in the RoadRaven desktop app (must be running).

已验证STDIO仅桌面效率与工作流开发者工具

概览

AI 生成的概览

把助手连接到 RoadRaven 桌面应用,可读取、创建、编辑、移动和删除路线图树节点,并实时更新节点状态。

可以做什么
  • 读取已打开的路线图:完整树、单个节点及其祖先链、按条件筛选节点、状态与类型配置、当前文件信息、事件 API 状态
  • 创建与编辑节点:新增子节点、重命名、修改类型、设置备注(覆盖或追加)、浅合并元数据、一次原子提交最多 100 条更新
  • 调整树结构:重新挂载父节点并阻止成环,删除叶子节点或级联删除
  • 管理文件:新建未命名路线图、保存、另存为、按路径打开路线图
  • 向人展示进度:缩放视图以容纳全部节点,选中并居中某节点并把应用窗口置前
  • 推送状态更新,使其出现在应用的事件日志中
适用场景
适合在 RoadRaven 桌面应用中用树状结构规划并跟踪项目工作时使用,让助手在干活的同时保持节点状态、备注和结构最新,包括分阶段编排和逐任务记录进展。
运行要求
需先安装并运行 RoadRaven 桌面应用,且已加载路线图;工具通过 127.0.0.1 上的本地 WebSocket 与其通信。用 npx 本地安装需要 Node.js 24 或更高版本,并将包版本固定为与已安装应用匹配的版本。未声明需要账号、API 密钥或环境变量。
安装前请注意
工具会写入已打开的路线图:可创建、重命名、移动、删除节点(可连同子节点级联删除)并保存到磁盘,批量更新为全有或全无。打开与保存文件受允许路径列表限制。服务器会读取应用用户数据目录中的 event-api.json,仅连接本地应用,不收集遥测。运行 init 命令时可能在询问后修改 CLAUDE.md 文件。

安装

在 SourceWeft 中

  1. 打开 控制台中的 RoadRaven,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

@roadraven/mcp — RoadRaven for Claude Code

The MCP server and Claude Code plugin for RoadRaven, a local desktop app that shows your project's plan as a tree and updates it live as the work happens. The server gives an agent 21 tools to read the open roadmap, create, edit, move and delete nodes, and set their status. The plugin adds two skills that tell Claude how to use those tools to plan and run real work.

Source-available, FSL-1.1-MIT.

The app must be running

Every tool talks to the RoadRaven desktop app over a local connection on 127.0.0.1. With the app closed, tools return app_not_running; with no roadmap open, no_file_loaded. The app only opens or saves files where you already work, so a request for another path returns path_not_permitted. Install the app first: see Install.

What it does on your machine

  • Downloads and runs @roadraven/mcp from npm through npx, pinned to the plugin's exact version, as a local stdio MCP server.
  • Reads one file: event-api.json in RoadRaven's user-data folder (~/.config/RoadRaven on Linux, %LOCALAPPDATA%\RoadRaven on Windows), which the desktop app writes with its local port.
  • Connects only to the RoadRaven desktop app, over a WebSocket on 127.0.0.1, to read and edit the open roadmap. It sends nothing anywhere else and collects no telemetry.
  • Writes files only when you run npx @roadraven/mcp init yourself: it offers to add a short RoadRaven section to a CLAUDE.md, and asks first.
  • The skills are instructions for Claude; they run nothing on their own.

Install

Three ways, easiest first.

Setup Wizard. Launch RoadRaven. The first-run Setup Wizard detects Claude Code and OpenCode and registers this server with one click. Re-open it from the ⚙ button in the top bar. If the Claude Code plugin below is already installed, the wizard defers to it.

Claude Code plugin. Requires Node.js >= 24. From inside Claude Code:

/plugin marketplace add Shuffzord/RoadRaven/plugin install roadraven@roadraven

Any other MCP host. Requires Node.js >= 24. Pin the version that matches your installed app (the app warns on a major.minor mismatch):

bash
claude mcp add -s user roadraven -- npx -y @roadraven/[email protected]

To add a short RoadRaven section to a CLAUDE.md (it asks whether to use the current project or ~/.claude/CLAUDE.md), run npx -y @roadraven/[email protected] init.

Skills

The skills ship with the Claude Code plugin install only. The Setup Wizard and npx paths give you the tools without them.

roadraven:orchestrate turns a request into a roadmap tree (goal, phases, tasks), writes a brief per phase, hands each phase to a sub-agent, re-runs your project's own checks to verify the result, and keeps node status current while you watch.

Plan the CSV export feature as a roadmap in RoadRaven and run it phase by phase.

roadraven:work-node is how one task gets done: claim a node, set it in progress, checkpoint into its notes, touch only the files the brief names, prove a fix with a failing test first, run the checks, report, set the final status.

Pick up the first not-started node in the open roadmap, do the work, and keep its status current.

Both skills find your project's test, lint and build commands from its README, package manifest or CI config, so they work in any language. If the app is not running they ask you once to start it, then fall back to a markdown worklog and say so.

More: MCP install guide, plugin authoring guide.

来源:plugins/claude-code/README.md,提交 bf061a7

工具

22

updateNodeStatus

Update RoadRaven node status

Push a status update to a node. Requires the desktop app to be running and a roadmap loaded. Routes through the agent dispatcher so the change appears in the event-log drawer (Ctrl+Shift+L).

输入参数metanodeId必填status必填expectedRevision

getEventApiStatus

Check RoadRaven Event API

Returns the current Event API URL, PID, and startedAt — or an error if the app is not running.

无需输入参数。

getRoadmap

Get the loaded RoadRaven roadmap

Return the full schema tree from the desktop app, with live-event statuses merged in, plus the current `revision` (pass it as expectedRevision on writes to detect stale reads). Long roadmaps can exceed the tool-result limit, so trim the answer: for a long roadmap or for polling, pass omitNotes: true and hideCompleted: true; to read one phase, pass rootId (that node's id) and depth. A stub is one line { id, title, status, type, childCount } standing in for a node whose children are left out; read those children with rootId set to the stub's id. Notes can also be fetched with getNode/findNodes. Requires the app to be running and a file to be loaded.

输入参数depthrootIdomitNoteshideCompleted

getNode

Get a single RoadRaven node

Return a node by UUID, with its immediate parent ID, full ancestor chain (root-to-parent), and the current roadmap `revision`. Status reflects the live overlay if a recent event landed.

输入参数nodeId必填

findNodes

Find RoadRaven nodes by structured filter

Search nodes by AND-combined filter: titleContains (case-insensitive substring), status (one status, or a list of statuses to get e.g. all open work in one call), type, metaKey + metaValue, parentId. All fields optional. Set omitNotes for a short list without notes and timestamps. Returns matching nodes (without their children; use parentId or getNode for those) with their parent IDs.

输入参数typestatusmetaKeyparentIdmetaValueomitNotestitleContains

getStatusConfig

Get RoadRaven status configuration

Return the loaded roadmap's statusConfig array (display labels/colors for statuses). Agent mutations accept only core node statuses.

无需输入参数。

getTypeConfig

Get RoadRaven type configuration

Return the loaded roadmap's typeConfig array (the valid node-type IDs and their visual configuration).

无需输入参数。

getOpenFile

Get the currently open RoadRaven file

Return filePath (or null if untitled), isUntitled flag, document title, and total nodeCount. Works even when no file is loaded — returns null filePath and isUntitled=false.

无需输入参数。

createNode

Create a new RoadRaven node

Add a child node under parentId with the given title. Optional: id (UUID or slug — supply it when recovering/recreating a node so its identity stays stable and history/metadata continuity survives file churn; duplicate_id if it already exists), type, core status (defaults to not-started), notes (markdown), metadata. Returns the new node's id. Requires a loaded roadmap.

输入参数idtypenotestitle必填statusmetadataparentId必填expectedRevision

createRoadmap

Create a new RoadRaven roadmap

Initialize an in-memory untitled schema (mirrors File > New). Optional: title, statusConfig, typeConfig. The agent must call saveFileAs to persist the new roadmap to disk.

输入参数titletypeConfigstatusConfig

renameNode

Rename a RoadRaven node

Change a node's title.

输入参数title必填nodeId必填expectedRevision

updateNodeType

Update a RoadRaven node's type

Change a node's type string. Use getTypeConfig to discover valid types.

输入参数type必填nodeId必填expectedRevision

updateNodeNotes

Update a RoadRaven node's notes

Set a node's notes string (markdown). mode "replace" (default) overwrites the entire notes field — pass an empty string to clear. mode "append" adds a blank line then your text after the existing notes; recommended for agent progress lines.

输入参数modenotes必填nodeId必填expectedRevision

updateNodeMetadata

Patch a RoadRaven node's metadata (shallow merge)

Shallow-PATCH a node's metadata. Each key in `patch` overwrites the same key in node.metadata; null value deletes that key. Unlisted keys are preserved. Returns the final metadata object.

输入参数patch必填nodeId必填expectedRevision

updateNodes

Batch-update RoadRaven nodes atomically

Apply up to 100 node updates (status, notes, metadata patch) in ONE atomic call — the roadmap revision advances exactly once for the whole batch and the response returns the final `revision` so you can chain further writes without re-reading. All-or-nothing: every item is validated first (node exists, status id in statusConfig); any failure returns batch_validation_failed with per-item {index, nodeId, code} and NOTHING is applied. Ideal for replaying a set of changes after stale_write: call getRoadmap once, rebuild all updates against the fresh tree, and resend the whole batch with expectedRevision.

输入参数updates必填expectedRevision

moveNode

Move a RoadRaven node to a new parent

Re-parent a node to newParentId at optional position (0 = first child; omit = last child). Blocks cycles (cannot move into own subtree) and cross-$ref-boundary moves.

输入参数nodeId必填positionnewParentId必填expectedRevision

deleteNode

Delete a RoadRaven node

Delete a node. Leaf nodes delete immediately; non-leaf nodes require cascade:true (returns cascade_required with childCount otherwise). Cannot delete the last remaining root.

输入参数nodeId必填cascadeexpectedRevision

saveFile

Save the currently open RoadRaven file

Force-flush the autosave debouncer immediately. Returns ok or save_error. For untitled schemas, call saveFileAs first.

无需输入参数。

saveFileAs

Save the RoadRaven roadmap to a new path

Save the loaded roadmap to a new file path. Path must satisfy the same allowlist as user actions (within the loaded directory, or previously user-picked).

输入参数path必填

openFile

Open a RoadRaven file by path

Flush any pending autosave, then load a roadmap file by path. Path must satisfy the path-allowlist (same as user actions). The agent may need to ask the user to open the target directory first.

输入参数path必填

cameraFitView

Fit the entire RoadRaven tree into the viewport

Compute a zoom + pan that fits all nodes into the viewport with margin. No-op when no roadmap is loaded. Used by automated demos / recordings to pull-back the camera; safe for live agent use too.

无需输入参数。

revealNode

Show a node in RoadRaven

Select a node, centre the camera on it, open its side panel and bring the RoadRaven window to the front. Where the window manager refuses to raise the window, the node is still selected. Use it to show the human the node you are on.

输入参数nodeId必填

版本历史

5
  1. v0.9.2最新Oct 26, 2026
  2. v0.9.1Oct 19, 2026
  3. v0.9.0Oct 12, 2026
  4. v0.8.9Oct 10, 2026
  5. v0.8.7Sep 29, 2026

评分

已满足适用检查项的 80%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。