Excalidraw绘图服务

一个基于Model Context Protocol (MCP)的Excalidraw绘图服务,支持创建、读取、更新和删除绘图,并可导出为SVG、PNG和JSON格式。

  • by andreswebs-public-images
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 andreswebs-public-images/excalidraw-mcp

使用说明

Excalidraw MCP 服务器

适用于Excalidraw的模型上下文协议(MCP)服务器。

特点/特性

  • 创建、读取、更新和删除Excalidraw绘图
  • 将图纸导出为SVG、PNG和JSON格式
  • 基于文件的简单存储系统
  • 仅支持 stdio

使用方法

在MCP配置中使用的命令是:

docker run --rm --interactive --volume "$(pwd)/.excalidraw:/app/storage" andreswebs/excalidraw-mcp

请注意 --volume 标志:the /app/storage 必须将容器中的目录挂载到本地,才能访问图纸。

GitHub Copilot / VSCode 的示例配置:

.vscode/mcp.json:

{
  "servers": {
    "excalidraw": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "--volume",
        "${workspaceFolder}/.excalidraw:/app/storage",
        "andreswebs/excalidraw-mcp"
      ]
    }
  }
}

工具

服务器提供以下工具:

图纸管理

  • create_drawing创建一个新的Excalidraw绘图
  • get_drawing通过ID获取Excalidraw绘图
  • update_drawing通过ID更新Excalidraw绘图
  • delete_drawing按ID删除一个Excalidraw绘图
  • list_drawings列出所有Excalidraw绘图

出口业务操作

  • export_to_svg将Excalidraw绘图导出为SVG格式
  • export_to_png将Excalidraw绘图导出为PNG格式
  • export_to_json将Excalidraw绘图导出为JSON格式

致谢

这个项目最初是从(某个项目)分叉出来的 i-tozer/excalidraw-mcp 翻译为中文可以是“i-tozer/麦卡锡版excalidraw”(注:这里的“mcp”通常指的是“McCarthy's Personal Project”或特定于某人的项目,但在此上下文中,为了保持原意且不产生歧义,我将其翻译为“麦卡锡版”,实际翻译可能需根据具体语境调整)。不过,更常见的可能是直接保留“mcp”作为项目或版本的标识,不进行具体翻译,即“i-tozer/excalidraw-mcp”。

它还从中汲取了灵感 yctimlin/mcp_excalidraw(这个表达在中文里可能不太直观,但直接翻译保持原样,因为这是一个特定的用户名或项目名,可能不需要具体含义,直接作为标识使用)。

作者

安德烈·席尔瓦 - @andreswebs(这个用户名或标签在中文中通常直接保留原样,不进行翻译,但如果需要解释其用途,可以是“@安德烈斯网络”或类似的表述,具体取决于上下文)

许可证

这个项目采用以下许可协议 无许可(或:公有领域许可).