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 分