zumen_about
About this tool
Call this once, first. Says what the tool is for, what it will not do, **which doors are closed** (so you do not try them), and what changed in each version.
无需输入参数。

io.github.meta-taro由 GitHub 账号 meta-taro 发布v0.7.0更新于 Nov 4, 2026
AI-editable diagrams as code: draw from YAML, propose diffs a human applies, export SVG/Mermaid.
Zumen 让助手用 YAML 编写专业图表,提出由人确认的修改,检查质量并导出 SVG、PNG、Mermaid 或 draw.io。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
The MCP server for zumen — AI-editable diagrams as code. An AI agent (Claude Code and others) draws from one YAML file; a human fixes the layout; the fix survives the next regeneration.
Other MCP clients: run npx -y @metataro/zumen-mcp as a stdio server.
What the agent gets: zumen_spec (read this first), zumen_examples (389 worked examples — floor plans, lighting plots, pallet patterns, rail maps…), zumen_propose (a diff a human applies — there is no tool that writes the source directly), zumen_inspect, zumen_export (SVG / PNG / Mermaid / draw.io), and a live link to the open desktop window.
This package exists so that the library package @metataro/zumen stays at three dependencies: only people who want the MCP server install the MCP SDK.
MIT.
来源:packages/zumen-mcp/README.md,提交 9645566
About this tool
Call this once, first. Says what the tool is for, what it will not do, **which doors are closed** (so you do not try them), and what changed in each version.
无需输入参数。
Diagram format
Returns the format, the type and appearance words you may use, and the rules to follow. Read this before writing a diagram. Writing without it is guesswork.
无需输入参数。
Find diagrams
Returns the paths of diagrams (*.zumen.yaml) underneath. **Look at what already exists first** — if the diagram is already there, edit it rather than creating a new one (changing ids detaches a person's edits). Only paths come back; read the contents with zumen_read.
dir必填Browse the bundled examples
**Returns the catalogue of the 189 examples bundled with this tool, and their sources.** **Look here first when deciding what to draw.** zumen_spec only tells you how to write a file — the value of zumen is not the syntax but how the drawings that professionals actually use are put together: a periodontal chart, a plywood cutting diagram, a stage lighting plot, a used-car appraisal chart, a timber joint, tactile paving. Each one-liner states **what that drawing must get right**, not its title. With no arguments you get the categories and counts. Narrow with query (Japanese or English). Pass name to get **that example’s YAML source**, so you can copy how it is written. You can also query by feature (views, hatch, chain, openings…) — the syntax is in zumen_spec, but a **working example** only exists here. **Do not churn out generic network diagrams and flowcharts** — adding what existing tools already do proves nothing.
namequeryRead a diagram
Returns the source (*.zumen.yaml) verbatim. **Always read before changing it** — rewriting without knowing the contents drops the pins a person added and any keys you do not recognise. Pass changes through zumen_propose; there is no tool that writes a file directly.
path必填What a person decided by hand
Returns the positions, sizes, labels and appearance a person set. Read only; there is no way to write here. Leave it alone and change the structure instead.
path必填Inspect a diagram
Returns readability, element counts, edge crossings, box overlaps, group escapes, size, and the autonomy figure. Always look at this after writing. tooTangled only means there are more crossings than edges, which is **not a defect in itself**: of the 333 examples, the 19 where it is true are keyline grids, a spider web, gear pitch circles and measuring graticules — in all 19 the crossing lines *are* the drawing. When it is true, judge for yourself whether the drawing is made of overlapping lines or merely knotted. Any edge id in hiddenLabels has a label that did not fit and is not drawn — shorten it or use fewer edges. **Always check kind**: for a placement drawing positionsInSource is true, meaning you write the positions yourself (nodes[].at as { x, y }) and the machine will not re-arrange them. You can also set sizes with nodes[].size ({ w, h }, which works for structure diagrams too) — without it every room comes out the same size. Never write pins — those belong to the person. If tooSmallToProject is true the text is too small to read when projected. **If tooSmallToPrint is false, the drawing is simply one to be printed rather than projected** (transit maps, appraisal charts, lighting plots and stowage plans land here — 36 of the 95 examples do). **Only when both are true is there really something to fix.** Do NOT fix it by enlarging the text (that grows the diagram and lowers the ratio further). **Try wrap: true first** — if the diagram is just one long row, wrapping brings it back (a chain of 8 goes from 13.9 to 2.2). If that is not enough, ask the person whether the diagram can be split. Any id in crowdedNames has a name that did not fit its box and had nowhere free outside it, so it is drawn overlapping something. Make the box bigger or shorten technology. It is NOT dropped — a room losing its name is worse than an overlap. Any id in adriftNames is a wide box whose name did not fit and is drawn outside it — in a table that leaves the row looking empty. Any
pathsourceCreate a new diagram
Creates a new diagram. Fails if the file already exists (this is not an overwrite path). Nothing is written unless it conforms to the format. To change an existing diagram, use zumen_propose.
path必填source必填Apply a proposal to the source of truth
Applies a proposal to an existing diagram. The pins in your proposal are not read, so hand edits survive. Anything that disagrees with a hand edit is not applied and comes back as a conflict. Conflicts are decided by a person, not by you.
path必填source必填Export
Exports to svg (to show), **png (to look at yourself)**, mermaid (readable tomorrow) or drawio (editable tomorrow). Each exporter states what it could not carry. **png comes back as the picture itself** — always look at one before calling a drawing done (the numeric checks only tell you whether it is readable). It needs Chrome, and says so when Chrome is missing.
kind必填paththemeintentsourceembedFontFilm the drawing growing
Writes one animated SVG plus numbered SVGs (all padded to the same paper) from a list of steps. No screen recording, so it works remotely. **No encoder is bundled** — the returned recipe shows how to make an mp4 with the tools you already have.
out必填holdpathsthemesourcesIs the app connected?
Reports whether the desktop app is on the other end of the live link and what it is showing. **Check this before using any zumen_live_* tool.** If nothing is connected, use zumen_propose (which writes the file) instead. screens = 0 means no human is looking at this screen.
无需输入参数。
Read what the screen is showing
**Reads the screen, not the disk.** Edits the person just made but has not saved live here; zumen_read would not see them. Read this before changing anything.
无需输入参数。
Put a proposal on the screen
Puts a proposal **on the screen only**. It does not enter the source of truth; nothing happens until the person presses "apply". **You have no way to press it.** With wait, this blocks until the person answers (applied = they took it / discarded = they rejected it / timeout = they have not looked yet / gone = the screen went away). **timeout does not mean rejected.** A proposal that fails validation is never shown.
notepathwaitsource必填Point at an element
Selects that element on screen. **Selecting only; the diagram does not change.** Use it instead of describing in words which thing you mean.
ids必填note已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
claude mcp add zumen -- npx -y @metataro/zumen-mcp