Excalidraw图表渲染工具

Excalidraw图表渲染工具是一款本地运行的图表渲染服务,可将手绘图表转换为PNG或SVG格式,适用于开发者和技术文档编写者。

  • by bassimeledath
  • TypeScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 bassimeledath/excalidraw-render-mcp

使用说明

excalidraw渲染

无头Excalidraw图表渲染器 克劳德代码CLI 以及其他MCP客户端。将手绘图渲染为PNG或SVG——图在本地渲染,而不是在Excalidraw的服务器上。

使用无头铬(via 代理浏览器)在服务器端渲染图表。第一次渲染需要大约3秒(浏览器启动+CDN导入),后续渲染需要大约60毫秒。

运作原理

  1. 无头Chromium浏览器作为单例启动
  2. 浏览器导航到 esm.sh 并动态导入 @excalidraw/excalidraw
  3. 元素通过以下方式转换 convertToExcalidrawElements() 并通过以下方式渲染为SVG exportToSvg()
  4. 对于PNG:Playwright会截取SVG的元素级屏幕截图。对于SVG:标记直接序列化到文件。
  5. 浏览器在后续渲染中保持活动状态(每次渲染约60ms)

安装

一个命令(npm)

# Claude Code
claude mcp add --scope user --transport stdio excalidraw -- npx -y excalidraw-render

# Or with any MCP client
npx -y excalidraw-render

来源

git clone https://github.com/bassimeledath/excalidraw-render.git
cd excalidraw-render
npm install
npm run build

# Add to Claude Code
claude mcp add --scope user --transport stdio excalidraw -- node /absolute/path/to/excalidraw-render/dist/index.js

Claude Desktop/其他客户

添加到MCP配置中:

{
  "mcpServers": {
    "excalidraw": {
      "command": "npx",
      "args": ["-y", "excalidraw-render"]
    }
  }
}

工具

工具 说明
excalidraw_read_me 返回Excalidraw元素格式引用(调色板、元素类型、示例)。画画前打一次电话。
create_excalidraw_diagram 将Excalidraw元素JSON数组渲染为PNG或SVG文件。返回文件路径。

用法

安装后,让Claude绘制:

  • “绘制一个架构图,显示连接到Redis和Gemini的FastAPI服务器”
  • “创建git分支模型的Excalidraw图”
  • “绘制用户身份验证的流程图”

克劳德会打电话的 excalidraw_read_me 要学习元素格式,则 create_excalidraw_diagram 使用JSON元素。文件保存到磁盘并返回路径。

create_excalidraw_diagram 参数

参数 类型 必填 说明
elements string yes Excalidraw元素的JSON数组(请参阅 excalidraw_read_me)
outputPath string no 输出文件的绝对路径。默认为临时文件。
format string 否 "png" (默认)或 "svg".SVG输出矢量图形,可缩放到任何大小而不会损失质量。

隐私

图表在您计算机上的无头Chromium实例中本地呈现,而不是在Excalidraw的服务器上。唯一的网络请求是在启动时从esm.sh获取Excalidraw JavaScript库——没有图表内容发送到第三方服务器。

需求

  • Node.js 18+
  • Chromium是通过以下方式自动安装的 agent-browser install (作为安装后挂钩运行)

学分与灵感

这个项目的灵感来自 excalidraw mcp应用程序 Anton Pk,该公司使用MCP应用程序在Claude Desktop内渲染交互式Excalidraw图(ui:// 资源)。如果你使用带有浏览器界面的Claude Desktop,这是一个很好的工具。

excalidraw渲染 针对不同的用例采取不同的方法:

excalidraw mcp应用程序 excalidraw渲染
目标 克劳德桌面(浏览器) 克劳德代码CLI(终端)
渲染 客户端浏览器UI 服务器端无头Chromium
输出 聊天中的交互式SVG 磁盘上的PNG或SVG文件
依赖项 React,MCP Apps ext 代理浏览器,剧作家
隐私 在客户端应用程序中渲染 完全本地,无外部数据发送

建于 白板绘图 和 代理浏览器.

许可证

麻省理工学院