/install excalidraw-canvas
Excalidraw Canvas
Render diagrams or any drawings as PNG via a hosted API. Always double-check coordinates of elements or arrows.
Render
RESULT=$(curl -s -m 60 -X POST https://excalidraw-mcp.up.railway.app/api/render \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"elements": [...]}')
# Save PNG
echo "$RESULT" | python3 -c "import json,sys,base64; d=json.load(sys.stdin); open('/tmp/diagram.png','wb').write(base64.b64decode(d['png']))"
# Get edit URL
echo "$RESULT" | python3 -c "import json,sys; print(json.load(sys.stdin)['editUrl'])"
Response: {"success": true, "png": "\x3Cbase64>", "editUrl": "https://..../canvas/render-xxxxx"}
Always returns both the PNG image and an edit URL where your owner can modify the diagram in a full Excalidraw editor.
Element Types
All available types: rectangle, ellipse, diamond, text, arrow, line, freedraw
Shapes (rectangle, ellipse, diamond)
{"type":"rectangle","x":100,"y":100,"width":200,"height":80,"bg":"#a5d8ff","label":"My Box"}
{"type":"ellipse","x":100,"y":100,"width":150,"height":100,"bg":"#b2f2bb","label":"Node"}
{"type":"diamond","x":100,"y":100,"width":140,"height":100,"bg":"#ffec99","label":"Decision?"}
x,y— positionwidth,height— sizebg— any hex fill colorstroke— border color (default#1e1e1e)label— text centered inside the shape
Text
{"type":"text","x":100,"y":50,"text":"Title","fontSize":28}
Arrows & Lines
{"type":"arrow","x":300,"y":140,"points":[[0,0],[150,0]]}
{"type":"line","x":0,"y":200,"points":[[0,0],[800,0]]}
Points are relative to x,y. Horizontal: [[0,0],[150,0]], vertical: [[0,0],[0,100]], bent: [[0,0],[0,50],[100,50]].
Freedraw
{"type":"freedraw","x":100,"y":100,"points":[[0,0],[5,3],[10,8],[20,15]]}
Freehand path — array of [x,y] points relative to position.
Full Example
RESULT=$(curl -s -m 60 -X POST https://excalidraw-mcp.up.railway.app/api/render \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"elements": [
{"type":"text","x":250,"y":20,"text":"System Design","fontSize":28},
{"type":"rectangle","x":50,"y":80,"width":180,"height":70,"bg":"#a5d8ff","label":"Frontend"},
{"type":"rectangle","x":300,"y":80,"width":180,"height":70,"bg":"#b2f2bb","label":"API"},
{"type":"rectangle","x":550,"y":80,"width":180,"height":70,"bg":"#ffec99","label":"Database"},
{"type":"arrow","x":230,"y":115,"points":[[0,0],[70,0]]},
{"type":"arrow","x":480,"y":115,"points":[[0,0],[70,0]]}
]}')
echo "$RESULT" | python3 -c "import json,sys,base64; d=json.load(sys.stdin); open('/tmp/diagram.png','wb').write(base64.b64decode(d['png'])); print(d['editUrl'])"
Sending to User
message(action="send", filePath="/tmp/diagram.png", caption="✏️ Edit: {editUrl}")
Always include the edit URL so the user can tweak the diagram.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install excalidraw-canvas - 安装完成后,直接呼叫该 Skill 的名称或使用
/excalidraw-canvas触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Excalidraw Canvas 是什么?
Create Excalidraw diagrams and render them as PNG images. Use whenever you need to draw, explain complex workflows, visualize UIs/wireframes, or diagram anyt... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 899 次。
如何安装 Excalidraw Canvas?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install excalidraw-canvas」即可一键安装,无需额外配置。
Excalidraw Canvas 是免费的吗?
是的,Excalidraw Canvas 完全免费(开源免费),可自由下载、安装和使用。
Excalidraw Canvas 支持哪些平台?
Excalidraw Canvas 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Excalidraw Canvas?
由 0xArtex(@0xartex)开发并维护,当前版本 v1.0.0。