İçeriğe geç

API ve MCP

LetDraw’ın REST API’si ve MCP sunucusu, dış araçların ve yapay zeka istemcilerinin (Claude, Cursor) senin diyagramlarınla çalışmasını sağlar: listele, oku, oluştur, güncelle, koddan diyagram üret, koda geri çevir, paylaş ve prompt’tan üret.

API ve MCP Pro ve Enterprise kullanıcılarına açıktır. Kendinde barındırılan (self-hosted) kurulumlarda giriş yapan her üye kullanabilir. Ücretsiz ve misafir kullanıcılar token oluşturamaz.

  1. LetDraw’a Pro/Enterprise bir hesapla giriş yap.
  2. Ayarlar → Geliştirici’ye git.
  3. Token oluştur: bir ad ver, kapsamları seç (aşağıya bak) ve istersen tek bir çalışma alanına sınırla.
  4. Oluşturulan ld_live_... token’ı yalnızca bir kez gösterilir. Güvenli bir yere kaydet. Sızarsa aynı sayfadan iptal et.
Kapsamİzin
diagrams:readÇalışma alanı, klasör ve diyagramları okuma
diagrams:writeDiyagram oluşturma, güncelleme, silme, paylaşma
exportDiyagramı Mermaid/D2 koduna dışa aktarma
ai:generatePrompt’tan diyagram üretme (AI)

Token’ı her isteğe Authorization başlığında Bearer olarak gönder:

Authorization: Bearer ld_live_...

Ek bir apikey başlığı gerekmez.

Taban adres: https://api.letdraw.com/api-v1

Tüm yanıtlar JSON’dur. Hatalar standart gövdeyle döner: { "error": { "code", "message" } }.

MetotYolAçıklamaKapsam
GET/API bilgisi (kapsamlar, uçlar)herhangi
GET/workspacesÇalışma alanların (rol dahil)read
GET/folders?workspace=<id>Bir çalışma alanının klasörleriread
GET/documents?workspace=<id>Çalışma alanındaki diyagramlar (sayfalı)read
GET/documents?folder=<id>Klasördeki diyagramlar (sayfalı)read
POST/documentsDiyagram oluşturwrite
GET/documents/:idDiyagram + sahne (elements)read
PATCH/documents/:idAd ve/veya elements güncellewrite
DELETE/documents/:idDiyagram silwrite
POST/documents/from-codeKoddan diyagram üretwrite
POST/documents/generatePrompt’tan diyagram üret (AI)ai:generate
GET/documents/:id/export?format=mermaid|d2Diyagramı koda dışa aktarexport
POST/documents/:id/sharePublic salt-okunur link oluşturwrite
DELETE/documents/:id/sharePublic linki kaldırwrite

Liste uçları ?limit= (1-100, varsayılan 50) ve ?cursor= alır. Yanıt bir nextCursor döndürür; sonraki sayfa için onu cursor olarak gönder.

Token başına dakikada 120 istek. Aşılırsa 429 rate_limited döner.

Terminal window
# Çalışma alanlarını listele
curl -H "Authorization: Bearer ld_live_..." \
https://api.letdraw.com/api-v1/workspaces
# Bir docker-compose'dan diyagram üret
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
# Diyagramı Mermaid'e dışa aktar
curl -H "Authorization: Bearer ld_live_..." \
"https://api.letdraw.com/api-v1/documents/<id>/export?format=mermaid"

Model Context Protocol (MCP) istemcileri (Claude, Cursor) LetDraw’a bağlanıp diyagramlarınla araçlar üzerinden çalışabilir.

  • URL: https://api.letdraw.com/mcp
  • Taşıma: Streamable HTTP (durumsuz JSON-RPC 2.0)
  • Kimlik doğrulama: Authorization: Bearer ld_live_...
AraçAçıklama
list_workspacesErişilebilir çalışma alanları
list_diagramsBir çalışma alanı/klasördeki diyagramlar
get_diagramDiyagram + sahne
create_diagramElements dizisiyle diyagram oluştur (LetDraw veya Excalidraw formatı, otomatik algılanır)
update_diagramAd/elements güncelle
delete_diagramDiyagram sil
diagram_from_codecompose, kubernetes, dot, plantuml, terraform, helm, sql → diyagram
export_to_codeDiyagram → Mermaid/D2
share_diagramPublic link oluştur
unshare_diagramPublic linki kaldır
generate_from_promptDoğal dilden diyagram (AI)

Config bloklarını Ayarlar → Geliştirici sayfasında kendi token’ınla hazır kopyalayabilirsin. Aşağıdaki ld_live_... yerine kendi token’ını yaz.

~/.cursor/mcp.json (global) veya proje kökünde .cursor/mcp.json:

{
"mcpServers": {
"letdraw": {
"url": "https://api.letdraw.com/mcp",
"headers": { "Authorization": "Bearer ld_live_..." }
}
}
}

Claude Desktop uzak HTTP sunucusuna mcp-remote köprüsüyle bağlanır (Node.js gerekir). Config dosyası:

  • 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_..."
]
}
}
}

Kaydettikten sonra istemciyi yeniden başlat. Örnek istemler:

  • “LetDraw çalışma alanlarımı listele.”
  • “Şu docker-compose’u LetDraw’da diyagrama çevir: …”
  • “Diyagram ‘yi Mermaid olarak ver.”
  • “Bir OAuth login akışı diyagramı üret.”
  • “Şu cloud mimarisini LetDraw’da çiz: …” (serbest kompozisyon)

create_diagram ve update_diagram, elements dizisini iki formatta kabul eder: LetDraw’ın kendi eleman şeması veya Excalidraw formatı. Format otomatik algılanır ve Excalidraw elemanları sunucu tarafında LetDraw elemanlarına çevrilir (renkli iç içe konteynerler, şekle bağlı etiketler, binding’li oklar, metinler, frame’ler dahil).

Bunun anlamı: ChatGPT, Gemini veya Claude’a “bu mimariyi LetDraw’da çiz” dediğinde model, eğitim verisinden zaten çok iyi bildiği Excalidraw JSON’unu üretir ve MCP üzerinden gönderir; LetDraw tarafında birebir karşılığı çizilir. Modelin yerleşim kalitesi neyse LetDraw’daki sonuç da odur.

Public paylaşılan bir diyagramı README/Notion gibi yerlere SVG olarak gömebilirsin. Önce share_diagram (veya REST .../share) ile bir paylaşım token’ı al, sonra:

https://api.letdraw.com/render-svg?token=<paylaşım-token'ı>

Bu uç image/svg+xml döndürür ve API token’ı gerektirmez (yalnızca paylaşılan diyagramlar render edilir), böylece doğrudan <img src="..."> içinde kullanılır.