KaiBoard MCP

io.github.ChasenKai由 GitHub 帳號 ChasenKai 發布v0.4.2更新於 Oct 25, 2026

Let AI agents draw on your local-first KaiBoard whiteboards (relay or local folder).

已驗證STDIO僅桌面效率與工作流檔案與儲存

概覽

AI 產生的概覽

一個本機 MCP 伺服器,讓 AI 助理透過本機中繼或本機資料夾讀取和編輯你自己的 KaiBoard 白板。

可以做什麼
列出白板、資料夾和回收筒,讀取白板元素,並把白板轉成 PNG 供檢視(中繼模式)。建立、重新命名、取代和軟刪除白板,以及建立、重新命名和刪除資料夾。在目錄樹中移動、排序和還原白板或資料夾。新增、修改和刪除白板上的個別元素。由 Mermaid 圖產生可編輯元素,並寫入狀態、版本、歷程、留言等白板中繼資料。
適用情境
當你用本機優先的 KaiBoard 應用程式保存白板,並希望助理幫你畫草圖、畫圖表或整理白板時使用。中繼模式適合操作你正在檢視的白板;資料夾模式適合由助理獨立打理的離線工作區。
執行需求
需要 Node.js 18 或更新版本,透過 npx 或全域 npm 安裝以 stdio 在本機執行。中繼模式需要同一台機器上開啟 KaiBoard 應用程式並啟用 Agent co-draw,還需在 KAIBOARD_TOKEN 環境變數中提供中繼權杖,並會在 127.0.0.1:8787 啟動本機中繼。資料夾模式只需一個可寫入的目錄路徑。
安裝前請注意
中繼模式需要 KAIBOARD_TOKEN 密鑰,它可存取你的即時白板,請勿放入共用設定。多個工具被標示為破壞性操作:取代白板內容、刪除白板或資料夾、刪除元素。刪除白板為軟刪除,可在應用程式中還原,取代白板會自動建立快照,但刪除元素和刪除資料夾可能難以復原。API 尚未到 1.0,次要版本之間可能變動。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 KaiBoard MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

KaiBoard MCP Server

English | 简体中文 · Protocol · Changelog

Let MCP-capable AI agents draw on your own KaiBoard whiteboards.

KaiBoard is a free, open-source, local-first whiteboard: your boards live on your own device, never in the cloud. This repo is the bridge that lets an agent read and edit those boards — the agent runs wherever your MCP client runs, and the canvas stays on your machine.

[Request flow: an MCP client sends kbfs_* tool calls over stdio JSON-RPC to kaiboard-mcp; from there it reaches KaiBoard either through the built-in local relay on 127.0.0.1 (driving the page you have open) or by reading and writing a local folder you choose. No account, no sign-in, and board data is never uploaded to a server.]

It contains two independently usable packages:

PackageRole
@kaibuddy/kaiboard-mcpMCP server (stdio JSON-RPC 2.0) exposing the kbfs_* tools
@kaibuddy/kaiboard-coreStorage-agnostic command core (executor, element model, snapshots, Mermaid conversion)

What it does

@kaibuddy/kaiboard-mcp is a single package that serves two combinable modes through the same set of kbfs_* tools:

--relay mode (recommended)--dir mode
BackendA running KaiBoard pageA local folder you choose
App must be open?Yes (with "Agent co-draw" enabled in the app)No
Typical useThe agent works on the user's live board, changes visible immediatelyA workspace the agent owns offline
Data locationThe user's own KaiBoard library<folder>/kaiboard-data/

Both can be enabled at once:

bash
kaiboard-mcp --relay --dir /path/to/workspace

Install

bash
npm install -g @kaibuddy/kaiboard-mcp# or run without installingnpx -y @kaibuddy/kaiboard-mcp

Requires Node.js >= 18.

Connect your MCP client

Recommended: --relay mode — drives the board you're looking at, with changes visible immediately. It needs a relay token, obtained from KaiBoard's "Agent co-draw" panel:

json
{  "kaiboard": {    "command": "npx",    "args": ["-y", "@kaibuddy/kaiboard-mcp", "--relay"],    "env": { "KAIBOARD_TOKEN": "<your-token>" }  }}

--relay starts a built-in local relay on 127.0.0.1:8787 that talks to the KaiBoard page. The relay and the page must therefore be on the same machine, and the page has to stay open while the agent works.

--dir mode can also be used on its own (no app required — the agent works in a local folder):

json
{  "kaiboard-mcp": {    "command": "npx",    "args": ["-y", "@kaibuddy/kaiboard-mcp", "--dir", "/path/to/your/workspace"]  }}

Or combine them: "args": ["-y", "@kaibuddy/kaiboard-mcp", "--relay", "--dir", "/path/to/your/workspace"]

Restart your MCP client after changing the config so it picks up the new server.

Tools

tools/list returns 20 tools: 19 commands plus one capability declaration. ⚠️ marks a destructiveHint tool (may make hard-to-undo changes); the tools in the read-only group are readOnlyHint: true.

ToolPurpose
Discovery — read-only
kbfs_list_capabilitiesRuntime capabilities: available commands, storage modes, snapshot limit, server info
kbfs_list_boardsList boards and folders
kbfs_list_trashList soft-deleted boards / folders (trash)
kbfs_get_boardRead a board's elements
kbfs_get_screenshotRender a board to PNG so the agent can look at it (--relay; degrades gracefully under --dir)
Boards
kbfs_create_boardCreate a board
kbfs_replace_board ⚠️Replace a board's contents (auto-snapshot)
kbfs_rename_boardRename a board
kbfs_delete_board ⚠️Delete a board (soft delete, restorable in the app)
Folders
kbfs_create_folderCreate a folder
kbfs_rename_folderRename a folder
kbfs_delete_folder ⚠️Delete a folder
Tree
kbfs_move_nodeMove a board or folder into another folder
kbfs_reorder_nodeChange ordering within a folder
kbfs_restore_nodeRestore a board or folder from the trash
Elements
kbfs_add_elementAdd elements
kbfs_patch_elementPatch element properties by id
kbfs_delete_element ⚠️Delete elements by id
Content & metadata
kbfs_from_mermaidBuild native editable elements from a Mermaid diagram
kbfs_set_metadataWrite board metadata (status / version / history / comments)

CLI details, envelope format and error codes: see docs/PROTOCOL.md.

Elements and fill colors

Elements use the Excalidraw element format. fill is accepted as a shorthand for backgroundColor, and stroke for strokeColor:

json
{  "type": "rectangle",  "id": "r1",  "x": 40, "y": 40, "width": 160, "height": 90,  "fill": "#ffec99",  "stroke": "#e8590c"}

Data and privacy

  • Board data is never uploaded to any server. In --relay mode the relay listens on 127.0.0.1 only, for same-machine communication; in --dir mode the server reads and writes the local folder you specify.
  • No account, no sign-in.
  • On-disk layout (--dir mode): kaiboard-data/boards/<id>.json plus kaiboard-data/tree.json — a format KaiBoard can open directly.

Development

bash
npm installnpm run typecheck   # type checknpm run build       # build both packages into their dist/npm run e2e         # end-to-end (core + fs adapter / real stdio server)npm run smoke       # real MCP client smoke test (initialize -> tools/call)

Third-party notices

Third-party components are referenced as optional peer dependencies (the license text ships inside each package):

ComponentLicenseRole
@excalidraw/excalidrawMITelement types / canvas rendering (provided by the host)
@excalidraw/mermaid-to-excalidrawMITMermaid → element conversion (optional)

Build-time only: typescript (Apache-2.0), @types/node (MIT).

No upstream source code is vendored — every component is used as an ordinary npm dependency.

Versioning

Currently 0.4.x — the API may still change between minor versions. 1.0.0 will mark the stability commitment. See CHANGELOG.md for the current release.

License

MIT

來源:README.md,提交 0d8f940

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

3
  1. v0.4.2最新Sep 28, 2026
  2. v0.2.0Sep 18, 2026
  3. v0.1.0Sep 17, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分