Excalidraw MCP 服务器:用于 LLM 集成的强大绘图 API
全面的模型上下文协议 (MCP) 服务器,可实现与 Excalidraw 图表和绘图的无缝交互。该服务器通过结构化、开发人员友好的 API,为 LLM(大型语言模型)提供创建、修改、查询和操作 Excalidraw 绘图的功能。
特征
- 完整的 Excalidraw 元素控制
创建、更新、删除和查询任何 Excalidraw 元素(矩形、椭圆、菱形、文本、箭头等),包括支持:- 位置(
x
,y
) - 尺寸(
width
,height
) - 样式(
backgroundColor
、strokeColor
、strokeWidth
、roughness
、opacity
) - 文本(
text
,fontSize
,fontFamily
) - 线几何(
points
) - 锁定(
locked
标志)
- 位置(
- 高级元素操作
对元素进行分组、取消分组、对齐、分布、锁定和解锁。 - 场景和应用状态管理
- 跟踪和修改场景级状态:
theme
、viewBackgroundColor
、viewport
(滚动和缩放)、selectedElements
、groups
。 - 检索所有元素或单个场景属性的库。
- 跟踪和修改场景级状态:
- 保存场景
将当前场景(元素 + appState)导出到磁盘上的.excalidraw
文件。 - 资源管理
访问和修改场景信息、元素库、主题和原始元素数据。 - 轻松集成
与 Claude Desktop、Cursor 以及任何其他支持 MCP 的 LLM 平台兼容。 - Docker 支持
简单的容器化部署,实现零依赖安装。
API 工具参考
元素创建和修改
create_element
创建一个新的 Excalidraw 元素。
- 输入Copy
- 输出Copy
update_element
更新现有元素的属性。
- 输入Copy
- 输出Copy
delete_element
从场景中移除一个元素。
- 输入Copy
- 输出Copy
query_elements
列出与可选过滤器匹配的元素。
- 输入Copy
- 输出Copy
资源管理
get_resource
检索场景或库信息。
- 输入Copy
- 输出
- 场景→
{ theme, viewport: {x,y,zoom}, selectedElements: […] }
- 库/元素→
{ elements: [ … ] }
- 主题→
{ theme: "light"|"dark" }
- 场景→
元素组织
group_elements
/ ungroup_elements
对元素集合进行分组或取消分组。
- 输入Copy
- 输出Copy
align_elements
将多个元素对齐到指定的边缘或中心。
- 输入Copy
- 输出
{ aligned: true, elementIds: […], alignment: "<alignment>" }
distribute_elements
水平或垂直均匀分布元素。
- 输入Copy
- 输出
{ distributed: true, elementIds: […], direction: "<direction>" }
lock_elements
/ unlock_elements
防止或允许编辑元素。
- 输入Copy
- 输出
{ locked: true|false, elementIds: […] }
场景管理
save_scene
将当前场景(元素 + appState)导出到.excalidraw
文件。
- 输入Copy
- 输出
Scene saved successfully to <filename>
或出现错误消息。
集成示例
克劳德桌面
Copy
光标
创建.cursor/mcp.json
:
Copy
Docker
Copy
或者在 MCP 配置中:
Copy
安装指南
Copy
Docker
Copy
配置选项
通过.env
或容器中的环境变量设置:
LOG_LEVEL
— 日志级别(默认值:"info"
)DEBUG
— 调试模式("true"
/"false"
,默认值:"false"
)DEFAULT_THEME
— 默认 UI 主题 ("light"
/"dark"
,默认值:"light"
)
使用示例
创建并锁定矩形
Copy
将场景保存到文件
Copy
This server cannot be installed
模型上下文协议服务器使 LLM 能够通过结构化 API 创建、修改和操作 Excalidraw 图表,支持元素创建、样式、组织和场景管理。