API y MCP
La API REST y el servidor MCP de LetDraw permiten que herramientas externas y clientes de IA (Claude, Cursor) trabajen con tus diagramas: listar, leer, crear, actualizar, generar un diagrama a partir de código, convertirlo de nuevo a código, compartir y generar a partir de un prompt.
Quién puede usarlo
Sección titulada «Quién puede usarlo»La API y MCP están disponibles para usuarios Pro y Enterprise. En instalaciones autoalojadas, cualquier miembro con sesión iniciada puede usarlos. Los usuarios gratuitos e invitados no pueden crear tokens.
1. Crear un token
Sección titulada «1. Crear un token»- Inicia sesión en LetDraw con una cuenta Pro/Enterprise.
- Ve a Settings -> Developer.
- Crea un token: dale un nombre, elige los scopes (ver más abajo) y, opcionalmente, restríngelo a un único workspace.
- El token
ld_live_...generado se muestra una sola vez. Guárdalo en un lugar seguro. Si se filtra, revócalo desde la misma página.
| Scope | Permiso |
|---|---|
diagrams:read | Leer workspaces, carpetas y diagramas |
diagrams:write | Crear, actualizar, eliminar y compartir diagramas |
export | Exportar un diagrama a código Mermaid/D2 |
ai:generate | Generar un diagrama a partir de un prompt (IA) |
2. Autenticación
Sección titulada «2. Autenticación»Envía el token como valor Bearer en la cabecera Authorization en cada petición:
Authorization: Bearer ld_live_...No se necesita ninguna cabecera apikey adicional.
API REST
Sección titulada «API REST»URL base: https://api.letdraw.com/api-v1
Todas las respuestas son JSON. Los errores se devuelven con un cuerpo estándar: { "error": { "code", "message" } }.
| Método | Ruta | Descripción | Scope |
|---|---|---|---|
| GET | / | Información de la API (scopes, endpoints) | cualquiera |
| GET | /workspaces | Tus workspaces (con rol) | read |
| GET | /folders?workspace=<id> | Carpetas de un workspace | read |
| GET | /documents?workspace=<id> | Diagramas de un workspace (paginado) | read |
| GET | /documents?folder=<id> | Diagramas de una carpeta (paginado) | read |
| POST | /documents | Crear un diagrama | write |
| GET | /documents/:id | Diagrama + escena (elementos) | read |
| PATCH | /documents/:id | Actualizar nombre y/o elementos | write |
| DELETE | /documents/:id | Eliminar un diagrama | write |
| POST | /documents/from-code | Generar un diagrama a partir de código | write |
| POST | /documents/generate | Generar un diagrama a partir de un prompt (IA) | ai:generate |
| GET | /documents/:id/export?format=mermaid|d2 | Exportar un diagrama a código | export |
| POST | /documents/:id/share | Crear un enlace público de solo lectura | write |
| DELETE | /documents/:id/share | Eliminar el enlace público | write |
Paginación
Sección titulada «Paginación»Los endpoints de listado aceptan ?limit= (1-100, por defecto 50) y ?cursor=.
La respuesta devuelve un nextCursor; pásalo como cursor para obtener la
siguiente página.
Límite de peticiones
Sección titulada «Límite de peticiones»120 peticiones por minuto por token. Superarlo devuelve 429 rate_limited.
Ejemplos
Sección titulada «Ejemplos»# List workspacescurl -H "Authorization: Bearer ld_live_..." \ https://api.letdraw.com/api-v1/workspaces
# Generate a diagram from a docker-composecurl -X POST -H "Authorization: Bearer ld_live_..." -H "Content-Type: application/json" \ -d '{"workspaceId":"<id>","code":"services:\n web:\n image: nginx\n depends_on: [db]\n db:\n image: postgres\n"}' \ https://api.letdraw.com/api-v1/documents/from-code
# Export a diagram to Mermaidcurl -H "Authorization: Bearer ld_live_..." \ "https://api.letdraw.com/api-v1/documents/<id>/export?format=mermaid"Servidor MCP
Sección titulada «Servidor MCP»Los clientes del Model Context Protocol (MCP) (Claude, Cursor) pueden conectarse a LetDraw y trabajar con tus diagramas a través de herramientas.
- URL:
https://api.letdraw.com/mcp - Transporte: Streamable HTTP (JSON-RPC 2.0 sin estado)
- Auth:
Authorization: Bearer ld_live_...
Herramientas
Sección titulada «Herramientas»| Herramienta | Descripción |
|---|---|
list_workspaces | Workspaces accesibles |
list_diagrams | Diagramas de un workspace/carpeta |
get_diagram | Diagrama + escena |
create_diagram | Crear un diagrama a partir de un array de elementos (formato LetDraw o Excalidraw, detectado automáticamente) |
update_diagram | Actualizar nombre/elementos |
delete_diagram | Eliminar un diagrama |
diagram_from_code | compose, kubernetes, dot, plantuml, terraform, helm, sql -> diagrama |
export_to_code | Diagrama -> Mermaid/D2 |
share_diagram | Crear un enlace público |
unshare_diagram | Eliminar el enlace público |
generate_from_prompt | Diagrama a partir de lenguaje natural (IA) |
Configuración del cliente
Sección titulada «Configuración del cliente»Puedes copiar bloques de configuración listos para usar con tu propio token desde
la página Settings -> Developer. Sustituye ld_live_... más abajo por tu
propio token.
~/.cursor/mcp.json (global) o .cursor/mcp.json en la raíz del proyecto:
{ "mcpServers": { "letdraw": { "url": "https://api.letdraw.com/mcp", "headers": { "Authorization": "Bearer ld_live_..." } } }}Claude Desktop
Sección titulada «Claude Desktop»Claude Desktop se conecta al servidor HTTP remoto a través del puente
mcp-remote (requiere Node.js). Archivo de configuración:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{ "mcpServers": { "letdraw": { "command": "npx", "args": [ "-y", "mcp-remote", "https://api.letdraw.com/mcp", "--header", "Authorization:Bearer ld_live_..." ] } }}Reinicia el cliente después de guardar. Prompts de ejemplo:
- “List my LetDraw workspaces.”
- “Turn this docker-compose into a diagram in letdraw: …”
- “Export diagram
as Mermaid.” - “Generate an OAuth login flow diagram.”
- “Draw this cloud architecture in letdraw: …” (composición de forma libre)
Pedirle a la IA que lo “dibuje en LetDraw”
Sección titulada «Pedirle a la IA que lo “dibuje en LetDraw”»create_diagram y update_diagram aceptan el array de elementos en dos
formatos: el esquema de elementos propio de LetDraw o el formato Excalidraw.
El formato se detecta automáticamente y los elementos de Excalidraw se convierten
en elementos de LetDraw en el lado del servidor (incluyendo contenedores anidados
con color, etiquetas ligadas a formas, flechas con vínculos, texto y marcos).
Qué significa esto: cuando le pides a ChatGPT, Gemini o Claude que “dibuje esta arquitectura en LetDraw”, el modelo produce el JSON de Excalidraw que ya conoce muy bien de sus datos de entrenamiento y lo envía por MCP; LetDraw dibuja el equivalente exacto. Sea cual sea la calidad de disposición del modelo, eso es lo que obtienes en LetDraw.
Incrustar un diagrama (render.svg)
Sección titulada «Incrustar un diagrama (render.svg)»Puedes incrustar un diagrama compartido públicamente como SVG en lugares como un
README o Notion. Primero obtén un token de compartición con share_diagram (o
REST .../share), luego:
https://api.letdraw.com/render-svg?token=<share-token>Este endpoint devuelve image/svg+xml y no requiere ningún token de API (solo se
renderizan los diagramas compartidos), así que puedes usarlo directamente dentro
de <img src="...">.