| name | excalidraw |
| description | Creates and edits hand-drawn diagrams in Cursor via the Excalidraw MCP (create_view, checkpoints, export). Use when the user mentions Excalidraw, hand-drawn diagrams, architecture sketches, sequence/flow visuals, or wants an animated inline diagram instead of Mermaid-only output. |
Excalidraw (MCP)
Server MCP: user-excalidraw (tools: read_me, create_view, export_to_excalidraw, save_checkpoint, read_checkpoint).
Workflow
- Primera vez en la conversaciĂłn:
CallMcpTool â read_me (formato, colores, cĂĄmaras). No volver a llamarlo en el mismo hilo.
- Dibujar:
create_view con elements = string JSON de un array compacto (sin comentarios ni trailing commas).
- Guardar
checkpointId de la respuesta para iterar.
- Iterar: prefijo
[{"type":"restoreCheckpoint","id":"<checkpointId>"}, ...nuevos...] (incluye ediciones del usuario en fullscreen).
- Exportar enlace pĂșblico (opcional):
export_to_excalidraw con JSON serializado completo.
- Checkpoints manuales:
save_checkpoint / read_checkpoint solo si el flujo lo exige.
Reglas crĂticas (resumen)
| Tema | Regla |
|---|
| Orden z | Fondo â forma â label â flechas â siguiente bloque (no agrupar todos los rects y luego todas las flechas) |
| CĂĄmara | Primer elemento: cameraUpdate con ratio 4:3 (400Ă300, 600Ă450, 800Ă600 default, 1200Ă900, 1600Ă1200). CĂĄmara antes del contenido que enmarca |
| Labels | Preferir label en rectangle/ellipse/diamond; texto suelto solo tĂtulos/anotaciones |
| Tamaño | fontSize â„ 16 cuerpo, â„ 20 tĂtulos; cajas â„ 120Ă60; gaps 20â30px |
| IDs | Ănicos; tras delete no reutilizar id |
| JSON | VĂĄlido, compacto, una sola lĂnea si ayuda al lĂmite de tokens |
| Emoji | No en textos (no renderizan) |
| Mermaid | Excalidraw â Mermaid; si piden âestilo pizarra animadoâ, usar MCP, no solo ```mermaid |
Patrones
Diagrama nuevo: cameraUpdate â zonas (opacity ~30) â nodos con label â arrow con startBinding/endBinding.
Secuencia UML: columnas actor + lifeline dashed; varias cameraUpdate que recorren el diagrama.
Editar: restoreCheckpoint + delete quirĂșrgico + elementos nuevos con ids frescos.
Modo oscuro: rect enorme #1e1e2e como primer elemento; texto #e5e5e5, nunca gris #555 sobre oscuro.
CuĂĄndo NO usar
- El usuario pide solo Mermaid en markdown del repo (MDD,
/formatear) â @theforge/shared-types/mermaid.
- MCP
user-excalidraw no estĂĄ habilitado â decirlo y ofrecer Mermaid o ASCII.
Errores frecuentes
elements invĂĄlido â validar JSON antes de create_view.
- CĂĄmara sin padding â bordes cortados.
- TĂtulo centrado mal:
x â cx - (text.length Ă fontSize Ă 0.5) / 2 para type: text.
- Flechas cortas con label largo â acortar label o alargar arrow.
Referencia extendida
Paleta, ejemplos photosynthesis/MCP sequence/snake animation: reference.md