Excalidraw MCP 服务器与 CLI
为 AI 编码代理提供实时 Excalidraw 画布工作台,支持创建、编辑、导出图表。
证据显示:默认绑定127.0.0.1,有EXCALIDRAW_NO_AUTOSTART等环境变量控制自动启动,导出目录可配置,快照和回滚功能存在。扣分:clear命令需要--yes确认,但其他破坏性操作(如delete、update)没有明确确认机制;数据流透明度部分,README说明了数据流向,但未详细说明所有网络请求;敏感数据处理方面,share功能声称加密上传,但未提供实现细节;依赖安全方面,未提供依赖审计或漏洞扫描证据;外部影响方面,有网络服务启动和文件写入,但默认本地绑定,有安全提示;回滚方面,有快照功能,但未说明回滚的完整流程;来源归属方面,作者信息在package.json中,但发布者未验证。
证据显示:README、CLI参考、MCP工具列表等内部一致,版本号一致;依赖在package.json中列出,有CI和Docker构建,但未提供依赖可用性测试;失败消息方面,CLI有退出码和stderr诊断,但未提供具体错误消息示例。扣分:依赖可用性未充分验证,失败消息未提供具体示例。
证据显示:明确面向编码代理(Claude Code、Codex等),提供多种使用场景(CLI、MCP、REST);能力边界清晰,区分了本地绘制和可选分享;触发精度方面,CLI命令和MCP工具定义明确;环境适配方面,支持Node>=20、Docker、多种客户端配置。扣分:未提供详细的错误处理或边界情况说明。
证据显示:README结构清晰,有目录;安装说明详细,包括npx、Docker、源码;命名稳定,CLI和MCP工具命名一致;提供了示例和FAQ;已知限制在README中有提及;MIT许可证明确;版本和变更日志在README中;维护责任方面,有作者信息但未明确维护承诺。扣分:维护责任未明确,发布者未验证。
证据显示:输出可用性高,支持多种导出格式和截图;边际价值明显,提供官方MCP没有的功能;成本效益方面,本地运行无需API密钥,但需要Node和浏览器。扣分:未提供性能或资源消耗数据。
证据显示:README中的声明与代码和配置一致,如Node版本、MCP协议版本;有CI和测试脚本,但未提供测试结果;事实和推断分离方面,README区分了功能描述和设计意图。扣分:跨来源验证不足,未提供独立测试或第三方验证。
- 发布者身份未验证,安装前应检查来源。
- share功能声称加密上传,但未提供实现细节,使用前应谨慎。
- 依赖安全未提供审计证据,建议运行npm audit。
- 破坏性操作(如delete、update)缺乏用户确认机制,可能误操作。
- 内存存储,重启丢失数据,需定期导出或快照。
这个 Agent 能做什么,适合哪些场景?
mcp-excalidraw-server 是一个本地画布服务器,为 AI 代理提供可编程的 Excalidraw 画布。它提供三种驱动方式:CLI(推荐用于编码代理)、MCP 服务器(26 个工具)和 REST API。核心绘图完全在本地运行,无需 API 密钥,仅需要 Node.js ≥ 18。代理可以创建元素、查询元素、获取截图、迭代调整布局,并将图表导出为 .excalidraw 文件,作为仓库中的代码工件。画布服务器支持实时同步和服务器端快照。它区别于官方 Excalidraw MCP:专注于编码代理的持久画布工作台,而非一次性聊天组件。
该工具在本地启动一个 Excalidraw 画布服务器(默认端口 3000),提供 REST API 和 WebSocket 实时同步。代理可以使用 CLI 命令(如 add、query、describe、screenshot、export、import、mermaid、snapshot、arrange)或 MCP 工具(如 create_element、query_elements、get_canvas_screenshot、export_scene)操作画布。它可以创建具有文本和箭头的矩形等元素,查询元素,通过截图查看画布,对齐、分布、分组或锁定元素,导出为 .excalidraw 或 .excalidraw.md 文件(Obsidian 兼容),从 Mermaid 创建图表,并保存命名快照。服务器将元素保存在内存中,因此重启后需导出或使用快照持久化。它还支持通过 share 命令上传加密场景到 excalidraw.com。
- 软件架构师使用 Claude Code 从文本描述生成架构图,并自动布局。
- 开发者在代码更改后更新文档中的架构图,通过重新导入和编辑 .excalidraw 文件。
- 使用 Obsidian 的用户将图表导出为 .excalidraw.md 文件,直接映射到笔记中。
- CI 管道在无人值守环境中通过 CLI 生成图表,作为构建工件。
- 使用 Cursor 或 Codex CLI 的代理在编码会话中创建流程图,并直接迭代修改。
这个 Agent 有哪些优点和局限?
- 提供元素级 CRUD 和布局工具(对齐、分布、分组、锁定),远超官方 MCP 的能力。
- 支持截图和结构化文本描述,让代理能自查并修复布局问题。
- 本地运行,无需 API 密钥,核心功能完全免费,MIT 许可。
- 提供 CLI、MCP 和 REST 三种接口,适用于多种代理和框架。
- 画布状态存储在内存中,服务器重启后丢失,需要显式导出或快照。
- 截图、图像导出和 Mermaid 转换需要浏览器打开画布页面,非无头模式。
- 使用 Docker 时需要进行网络配置(如 host.docker.internal),且 Docker 镜像可能无法自动启动画布。
如何安装或部署这个 Agent?
前提:Node.js ≥ 18。无需克隆或配置 MCP 服务器,直接使用 npx。对于 MCP 客户端,请按 README 中的说明添加配置。对于编码代理,推荐运行:npx -y mcp-excalidraw-server install-skill --dir <skills-root>。
如何使用这个 Agent?
1) 启动画布:npx -y mcp-excalidraw-server start,然后在浏览器打开 http://127.0.0.1:3000 以启用截图和 Mermaid 功能。2) 添加元素:echo '[{"id":"api","type":"rectangle",...}]' | npx -y mcp-excalidraw-server add。3) 查看画布:npx -y mcp-excalidraw-server describe 和 screenshot。4) 导出:npx -y mcp-excalidraw-server export --out docs/architecture.excalidraw。使用 CLI 时,命令会自动启动服务器。
这个 Agent 与同类方案有什么区别?
与官方 Excalidraw MCP 相比,本项目提供持久画布和细粒度控制(如元素 CRUD、布局工具、截图反馈),而官方 MCP 是一次性聊天组件,仅支持两个工具。