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 分

    請在儲存庫或註冊中心條目中宣告授權條款。