Token导航 LogoToken导航

MCP Server · AI代理

MCP excalidraw

运行实时Excalidraw画布并通过AI代理控制,提供MCP服务器连接和便携式代理技能。

stdio官方级别未说明来源级核验工具 26
JavaScriptClaudeAI代理Claude DesktopCursor

快速开始

作者 / 组织
yctimlin
提供方
yctimlin
运行时
Docker

工具数量

26

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1,923

仓库热度

收录来源

3 个

MCP World

选型结论

MCP excalidraw 属于AI代理类 MCP Server,公开资料标注 26 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude、Cursor,有可以直接复制的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

docker run -d -p 3000:3000 --name mcp-excalidraw-canvas ghcr.io/yctimlin/mcp_excalidraw-canvas:latest

客户端配置示例

{
  "mcpServers": {
    "mcp-excalidraw": {
      "command": "docker",
      "args": [
        "run",
        "-d",
        "-p",
        "3000:3000",
        "--name",
        "mcp-excalidraw-canvas",
        "ghcr.io/yctimlin/mcp_excalidraw-canvas:latest"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 26 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

排除MCP服务器和代理技能

运行一个实时Excalidraw画布,并从AI代理控制它。此回购提供:

  • MCP服务器:通过模型上下文协议连接(Claude Desktop、Cursor、Codex CLI等)
  • 代理技能:Claude Code、Codex CLI和其他技能型代理的可移植技能

关键词:Excalidraw代理技能,ExcalidrawMCP服务器,AI绘图,Claude代码技能,Codex CLI技能,Claude桌面MCP,光标MCP,美人鱼到Exalidraw。

演示

*AI代理从单个提示(4倍速度)创建完整的架构图。 在YouTube上观看完整视频*

目录

- 克劳德桌面 - 克劳德代码 - 光标 - Codex CLI - 开源代码 - 反重力(谷歌)

它是什么

此仓库包含两个单独的流程:

  • Canvas服务器:web UI+REST API+WebSocket更新(默认 http://127.0.0.1:3000)
  • MCP服务器:通过stdio公开MCP工具;通过以下方式同步到画布 EXPRESS_SERVER_URL

我们与官方Excalidraw MCP有何不同

Excalidraw现在有一个 官方MCP --它非常适合在聊天中快速、快速地生成内联渲染的图表。我们解决了一个不同的问题。

官方豁免MCP本项目
方法提示输入,图表输出(一次)程序化元素级控制(26个工具)
状态无状态-每个调用都是独立的具有实时同步功能的持久实时画布
CRUD元素否每个元素完全创建/读取/更新/删除
AI看到画布没有describe_scene (结构化文本)+ get_canvas_screenshot (图片)
迭代优化否--重新生成整个图表绘制→ look → 调整→ 再看一遍,逐个元素
布局工具没有align_elements, distribute_elements, group / ungroup
文件I/O没有export_scene / import_scene (.excalidraw JSON)
快照和回滚没有snapshot_scene / restore_snapshot
美人鱼转换没有create_from_mermaid
可共享URL是是-- export_to_excalidraw_url
设计指南read_me 备忘单read_diagram_guide (颜色、尺寸、布局、反图案)
视口控制相机动画set_viewport (缩放以适应,以元素为中心,手动缩放)
实时画布用户界面在聊天中内联渲染通过WebSocket同步的独立Excalidraw应用程序
多代理单用户多个代理可以同时在同一画布上绘制
在没有MCP的情况下工作否是-通过代理技能进行REST API回退

太长,读不下去了 --官方MCP生成图表。我们为AI代理提供了一个完整的画布工具包,用于构建、检查和迭代改进图表,包括查看他们绘制的内容的能力。

新增功能

v2.0--画布工具包

  • 13个新的MCP工具(共26个): get_element, clear_canvas, export_scene, import_scene, export_to_image, duplicate_elements, snapshot_scene, restore_snapshot, describe_scene, get_canvas_screenshot, read_diagram_guide, export_to_excalidraw_url, set_viewport
  • 闭环反馈回路:AI现在可以检查画布(describe_scene)看看吧(get_canvas_screenshot 返回图像)--实现迭代细化
  • 设计指南: read_diagram_guide 返回最佳实践调色板、尺寸规则、布局模式和反模式——显著提高了AI生成的图表质量
  • 可共享URL: export_to_excalidraw_url 将场景加密并上传到excalidraw.com,返回任何人都可以打开的可共享链接
  • 视口控制: set_viewport 和 scrollToContent, scrollToElementId,或手动缩放/偏移--代理可以在创建后自动调整图表
  • 文件I/O:出口/进口已满 .excalidraw JSON文件
  • 快照:保存和恢复命名画布状态
  • 技能回退:代理技能自动检测MCP与REST API模式,在未配置MCP服务器时,正常地回退到HTTP端点
  • 修复了所有以前已知的问题: align_elements / distribute_elements 完全实现,点类型规范化,删除无效 label 类型,删除HTTP传输死代码, ungroup_elements 现在失败时出错

v1.x

  • 代理技能: skills/excalidraw-skill/ (可移植指令+用于导出/导入和可重复CRUD的辅助脚本)
  • 更好的测试循环:MCP Inspector CLI示例+浏览器屏幕截图检查(agent-browser)
  • Bug修复:批量创建现在保留元素id(修复批量后的更新/删除);前端入口点已固定(main.tsx)

快速入门(本地)

前提条件:节点>=18,npm

npm ci
npm run build

终端1:启动画布

PORT=3000 npm run canvas
安全说明: 服务器默认绑定到 127.0.0.1 只有。如果需要在网络接口(例如Docker、远程访问)上公开它,请设置 HOST=0.0.0.0 -但请确保您有适当的网络级访问控制,因为API没有内置身份验证。

打开 http://127.0.0.1:3000.

终端2:运行MCP服务器(stdio)

EXPRESS_SERVER_URL=http://127.0.0.1:3000 node dist/index.js

快速入门(Docker)

画布服务器:

docker run -d -p 3000:3000 --name mcp-excalidraw-canvas ghcr.io/yctimlin/mcp_excalidraw-canvas:latest

MCP服务器(stdio)通常由您的MCP客户端(Claude Desktop/Cursor等)启动。如果你想要一个本地容器,请使用图像 ghcr.io/yctimlin/mcp_excalidraw:latest 并设置 EXPRESS_SERVER_URL 指向画布。

配置MCP客户端

MCP服务器通过stdio运行,可以配置任何兼容MCP的客户端。以下是两者的配置 本地 (需要克隆和构建)以及 码头工人 (拉动并运行)设置。

环境变量

变量描述默认值
EXPRESS_SERVER_URL画布服务器的URLhttp://127.0.0.1:3000
ENABLE_CANVAS_SYNC启用实时画布同步true

______________________________________________________________________

克劳德桌面

配置位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

本地(节点)

{
  "mcpServers": {
    "excalidraw": {
      "command": "node",
      "args": ["/absolute/path/to/mcp_excalidraw/dist/index.js"],
      "env": {
        "EXPRESS_SERVER_URL": "http://127.0.0.1:3000",
        "ENABLE_CANVAS_SYNC": "true"
      }
    }
  }
}

码头工人

{
  "mcpServers": {
    "excalidraw": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "EXPRESS_SERVER_URL=http://host.docker.internal:3000",
        "-e", "ENABLE_CANVAS_SYNC=true",
        "ghcr.io/yctimlin/mcp_excalidraw:latest"
      ]
    }
  }
}

______________________________________________________________________

克劳德代码

使用 claude mcp add 注册MCP服务器的命令。

本地(节点) -用户级别(适用于所有项目):

claude mcp add excalidraw --scope user \
  -e EXPRESS_SERVER_URL=http://127.0.0.1:3000 \
  -e ENABLE_CANVAS_SYNC=true \
  -- node /absolute/path/to/mcp_excalidraw/dist/index.js

本地(节点) -项目级别(通过共享 .mcp.json):

claude mcp add excalidraw --scope project \
  -e EXPRESS_SERVER_URL=http://127.0.0.1:3000 \
  -e ENABLE_CANVAS_SYNC=true \
  -- node /absolute/path/to/mcp_excalidraw/dist/index.js

码头工人

claude mcp add excalidraw --scope user \
  -- docker run -i --rm \
  -e EXPRESS_SERVER_URL=http://host.docker.internal:3000 \
  -e ENABLE_CANVAS_SYNC=true \
  ghcr.io/yctimlin/mcp_excalidraw:latest

管理服务器:

claude mcp list              # List configured servers
claude mcp remove excalidraw # Remove a server

______________________________________________________________________

光标

配置位置: .cursor/mcp.json 在项目根目录中(或 ~/.cursor/mcp.json 全局配置)

本地(节点)

{
  "mcpServers": {
    "excalidraw": {
      "command": "node",
      "args": ["/absolute/path/to/mcp_excalidraw/dist/index.js"],
      "env": {
        "EXPRESS_SERVER_URL": "http://127.0.0.1:3000",
        "ENABLE_CANVAS_SYNC": "true"
      }
    }
  }
}

码头工人

{
  "mcpServers": {
    "excalidraw": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "EXPRESS_SERVER_URL=http://host.docker.internal:3000",
        "-e", "ENABLE_CANVAS_SYNC=true",
        "ghcr.io/yctimlin/mcp_excalidraw:latest"
      ]
    }
  }
}

______________________________________________________________________

Codex CLI

使用 codex mcp add 注册MCP服务器的命令。

本地(节点)

codex mcp add excalidraw \
  --env EXPRESS_SERVER_URL=http://127.0.0.1:3000 \
  --env ENABLE_CANVAS_SYNC=true \
  -- node /absolute/path/to/mcp_excalidraw/dist/index.js

码头工人

codex mcp add excalidraw \
  -- docker run -i --rm \
  -e EXPRESS_SERVER_URL=http://host.docker.internal:3000 \
  -e ENABLE_CANVAS_SYNC=true \
  ghcr.io/yctimlin/mcp_excalidraw:latest

管理服务器:

codex mcp list              # List configured servers
codex mcp remove excalidraw # Remove a server

______________________________________________________________________

开源代码

配置位置: ~/.config/opencode/opencode.json 或项目级别 opencode.json

本地(节点)

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "excalidraw": {
      "type": "local",
      "command": ["node", "/absolute/path/to/mcp_excalidraw/dist/index.js"],
      "enabled": true,
      "environment": {
        "EXPRESS_SERVER_URL": "http://127.0.0.1:3000",
        "ENABLE_CANVAS_SYNC": "true"
      }
    }
  }
}

码头工人

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "excalidraw": {
      "type": "local",
      "command": ["docker", "run", "-i", "--rm", "-e", "EXPRESS_SERVER_URL=http://host.docker.internal:3000", "-e", "ENABLE_CANVAS_SYNC=true", "ghcr.io/yctimlin/mcp_excalidraw:latest"],
      "enabled": true
    }
  }
}

______________________________________________________________________

反重力(谷歌)

配置位置: ~/.gemini/antigravity/mcp_config.json

本地(节点)

{
  "mcpServers": {
    "excalidraw": {
      "command": "node",
      "args": ["/absolute/path/to/mcp_excalidraw/dist/index.js"],
      "env": {
        "EXPRESS_SERVER_URL": "http://127.0.0.1:3000",
        "ENABLE_CANVAS_SYNC": "true"
      }
    }
  }
}

码头工人

{
  "mcpServers": {
    "excalidraw": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "EXPRESS_SERVER_URL=http://host.docker.internal:3000",
        "-e", "ENABLE_CANVAS_SYNC=true",
        "ghcr.io/yctimlin/mcp_excalidraw:latest"
      ]
    }
  }
}

______________________________________________________________________

备注

  • Docker网络:使用 host.docker.internal 访问主机上运行的canvas服务器。在Linux上,您可能需要 --add-host=host.docker.internal:host-gateway 或使用 172.17.0.1.
  • Canvas服务器:必须在MCP服务器连接之前运行。从以下内容开始 npm run canvas (本地)或 docker run -d -p 3000:3000 ghcr.io/yctimlin/mcp_excalidraw-canvas:latest (Docker)。
  • 绝对路径:使用本地节点设置时,请替换 /absolute/path/to/mcp_excalidraw 使用克隆和构建仓库的实际路径。
  • 内存存储:canvas服务器将元素存储在内存中。重新启动服务器将清除所有元素。如果需要持久性,请使用导出/导入脚本。

代理技能(可选)

此repo包括以下技能 skills/excalidraw-skill/ 它提供:

  • 工作流程手册 (SKILL.md):绘制、细化和导出图表的分步指南
  • 小抄 (references/cheatsheet.md):MCP工具和REST API参考
  • 辅助脚本 (scripts/*.cjs):导出、导入、清除、健康检查、CRUD操作

该技能通过为您的AI代理提供结构化的工作流程来补充MCP服务器。

安装技能(Codex CLI示例)

mkdir -p ~/.codex/skills
cp -R skills/excalidraw-skill ~/.codex/skills/excalidraw-skill

要更新现有安装,请先删除旧文件夹(rm -rf ~/.codex/skills/excalidraw-skill)然后重新复制。

安装技能(克劳德代码)

用户级别 (适用于您的所有项目):

mkdir -p ~/.claude/skills
cp -R skills/excalidraw-skill ~/.claude/skills/excalidraw-skill

项目级别 (适用于特定项目,可以提交到仓库):

mkdir -p /path/to/your/project/.claude/skills
cp -R skills/excalidraw-skill /path/to/your/project/.claude/skills/excalidraw-skill

然后调用Claude Code中的技能 /excalidraw-skill.

要更新现有安装,请先删除旧文件夹,然后重新复制。

使用技能脚本

所有脚本均受尊重 EXPRESS_SERVER_URL (默认值 http://127.0.0.1:3000)或接受 --url.

EXPRESS_SERVER_URL=http://127.0.0.1:3000 node skills/excalidraw-skill/scripts/healthcheck.cjs
EXPRESS_SERVER_URL=http://127.0.0.1:3000 node skills/excalidraw-skill/scripts/export-elements.cjs --out diagram.elements.json
EXPRESS_SERVER_URL=http://127.0.0.1:3000 node skills/excalidraw-skill/scripts/import-elements.cjs --in diagram.elements.json --mode batch

当技能有用时

  • 存储库工作流程:将元素导出为JSON,提交后重新导入。
  • 可靠的重构:清除+重新导入 sync 模式使画布与文件匹配。
  • 自动烟雾测试:创建/更新/删除已知元素以验证部署。
  • 可重复的图表:保留一个元素JSON片段库并导入它们。

看 skills/excalidraw-skill/SKILL.md 和 skills/excalidraw-skill/references/cheatsheet.md.

MCP工具(共26个)

类别工具
CRUD元素create_element, get_element, update_element, delete_element, query_elements, batch_create_elements, duplicate_elements
布局align_elements, distribute_elements, group_elements, ungroup_elements, lock_elements, unlock_elements
场景感知describe_scene, get_canvas_screenshot
文件I/Oexport_scene, import_scene, export_to_image, export_to_excalidraw_url, create_from_mermaid
状态管理clear_canvas, snapshot_scene, restore_snapshot
视口set_viewport
设计指南read_diagram_guide
资源get_resource

可以通过以下方式发现完整的架构 tools/list 或在 skills/excalidraw-skill/references/cheatsheet.md.

测试

画布烟雾测试(HTTP)

curl http://127.0.0.1:3000/health

本地绑定回归测试

npm run test:bind

MCP烟雾测试(MCP检查员)

列出工具:

npx @modelcontextprotocol/inspector --cli \
  -e EXPRESS_SERVER_URL=http://127.0.0.1:3000 \
  -e ENABLE_CANVAS_SYNC=true -- \
  node dist/index.js --method tools/list

创建矩形:

npx @modelcontextprotocol/inspector --cli \
  -e EXPRESS_SERVER_URL=http://127.0.0.1:3000 \
  -e ENABLE_CANVAS_SYNC=true -- \
  node dist/index.js --method tools/call --tool-name create_element \
  --tool-arg type=rectangle --tool-arg x=100 --tool-arg y=100 \
  --tool-arg width=300 --tool-arg height=200

前端截图(代理浏览器)

如果你使用 agent-browser 对于UI检查:

agent-browser install
agent-browser open http://127.0.0.1:3000
agent-browser wait --load networkidle
agent-browser screenshot /tmp/canvas.png

故障排除

  • 画布未更新:确认 EXPRESS_SERVER_URL 指向正在运行的canvas服务器。
  • 批创建后更新/删除失败:请确保您使用的版本包含批id保留修复程序(通过PR#34合并)。

已知问题/待办事项

之前列出的所有错误都已在v2.0中修复。剩余项目:

  • \[ \] 持久存储:元素存储在内存中——重新启动服务器会清除所有内容。使用 export_scene /快照作为一种解决方法。
  • \[ \] 图像导出需要浏览器: export_to_image 和 get_canvas_screenshot 依赖前端进行实际渲染。画布UI必须在浏览器中打开。

欢迎投稿!

发展

npm run type-check
npm run build

工具与能力

工具数量

26

资源数量

0

提示词数量

0

能力标签

AI绘图JavaScript本地部署实时协作MCP协议Excalidraw代理技能

支持客户端

Claude DesktopClaudeCursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 工具数量 26 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP excalidraw

MCP World · 本页

26stdio有3 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP excalidraw 怎么安装?

公开资料给出的安装命令是 docker run -d -p 3000:3000 --name mcp-excalidraw-canvas ghcr.io/yctimlin/mcp_excalidraw-ca…,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP excalidraw 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

MCP excalidraw 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP excalidraw 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

MCP excalidraw 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP