Saltearse al contenido

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.

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. Inicia sesión en LetDraw con una cuenta Pro/Enterprise.
  2. Ve a Settings -> Developer.
  3. Crea un token: dale un nombre, elige los scopes (ver más abajo) y, opcionalmente, restríngelo a un único workspace.
  4. 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.
ScopePermiso
diagrams:readLeer workspaces, carpetas y diagramas
diagrams:writeCrear, actualizar, eliminar y compartir diagramas
exportExportar un diagrama a código Mermaid/D2
ai:generateGenerar un diagrama a partir de un prompt (IA)

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.

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étodoRutaDescripciónScope
GET/Información de la API (scopes, endpoints)cualquiera
GET/workspacesTus workspaces (con rol)read
GET/folders?workspace=<id>Carpetas de un workspaceread
GET/documents?workspace=<id>Diagramas de un workspace (paginado)read
GET/documents?folder=<id>Diagramas de una carpeta (paginado)read
POST/documentsCrear un diagramawrite
GET/documents/:idDiagrama + escena (elementos)read
PATCH/documents/:idActualizar nombre y/o elementoswrite
DELETE/documents/:idEliminar un diagramawrite
POST/documents/from-codeGenerar un diagrama a partir de códigowrite
POST/documents/generateGenerar un diagrama a partir de un prompt (IA)ai:generate
GET/documents/:id/export?format=mermaid|d2Exportar un diagrama a códigoexport
POST/documents/:id/shareCrear un enlace público de solo lecturawrite
DELETE/documents/:id/shareEliminar el enlace públicowrite

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.

120 peticiones por minuto por token. Superarlo devuelve 429 rate_limited.

Ventana de terminal
# List workspaces
curl -H "Authorization: Bearer ld_live_..." \
https://api.letdraw.com/api-v1/workspaces
# Generate a diagram from a docker-compose
curl -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 Mermaid
curl -H "Authorization: Bearer ld_live_..." \
"https://api.letdraw.com/api-v1/documents/<id>/export?format=mermaid"

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_...
HerramientaDescripción
list_workspacesWorkspaces accesibles
list_diagramsDiagramas de un workspace/carpeta
get_diagramDiagrama + escena
create_diagramCrear un diagrama a partir de un array de elementos (formato LetDraw o Excalidraw, detectado automáticamente)
update_diagramActualizar nombre/elementos
delete_diagramEliminar un diagrama
diagram_from_codecompose, kubernetes, dot, plantuml, terraform, helm, sql -> diagrama
export_to_codeDiagrama -> Mermaid/D2
share_diagramCrear un enlace público
unshare_diagramEliminar el enlace público
generate_from_promptDiagrama a partir de lenguaje natural (IA)

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 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.

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="...">.