Introducere
@dineug/erd-editor-mcp este un server MCP care permite unui agent de programare să editeze diagrame erd-editor.
Claude Code, Codex și orice alt client al Model Context Protocol primesc câte un instrument pentru fiecare operație asupra unui document: adăugarea unui tabel, redenumirea unei coloane, crearea unei relații între două tabele, importul unui dump DDL, citirea schemei sub formă de SQL.
Când documentul este deschis în ERD Editor din VS Code, Obsidian sau dintr-un IDE JetBrains, agentul se alătură editorului ca un colaborator. Fiecare modificare apare pe pânză în momentul în care se produce, iar anularea făcută de agent vizează doar propriile sale editări. VS Code păstrează modificările agentului nesalvate până la o salvare făcută de agent sau de dumneavoastră, în timp ce Obsidian și un IDE JetBrains le salvează așa cum le salvează pe ale dumneavoastră. Când niciun editor nu deține documentul, aceleași instrumente editează fișierul însuși.

Ce poate face un agent
- Construiește sau modifică o schemă prin conversație: tabele, coloane și toate opțiunile coloanelor, relații cu cardinalitatea lor și cu acțiunile ON DELETE și ON UPDATE, indexuri, note, culori și poziții pe pânză. Consultați Relații.
- Reunește tabele în grupuri de tabele: adaugă un grup în jurul tabelelor pe care le indică sau peste o zonă a pânzei, apoi îl redenumește, îl colorează, îl mută împreună cu tabelele sale, îl redimensionează, introduce tabele în el sau le scoate ori îl elimină, ceea ce lasă tabelele sale acolo unde se află. Consultați Grupuri de tabele.
- Înlocuiește documentul cu o schemă obținută prin parsarea codului SQL DDL, GraphQL SDL, DBML sau AML ori cu un alt document
.erd.json. Sau adaugă acea schemă ori acel document sub diagramă și păstrează tot ce există deja, așa cum face elementulImport and Addal editorului. Un blocTableGroupdin DBML devine un grup de tabele în ambele cazuri. Consultați Import. - Citește diagrama ca listă de ID-uri, ca entități întregi, ca textul
.erd.jsonpe care îl scrie o salvare sau ca DDL pentru oricare dintre cele opt sisteme de baze de date, cu opțiunileStatementsșiHeaderale filei Schemă SQL. La o schemă cu mii de tabele, citește pe rând câte o pagină, câteva tabele sau tabelele câtorva grupuri de tabele. Consultați Citirea unui document. - Setează baza de date, numele bazei de date și scripturile scrise înainte și după tabele în fila Schemă SQL, de exemplu
CREATE EXTENSIONînaintea lor sauGRANTdupă ele. Instrumentulerd_readreturnează scripturile separat sau în cadrul codului DDL al întregului document. Consultați Setări. - Rulează mai multe editări ca una singură, aplicate toate sau niciuna, iar o singură anulare le inversează pe toate. Consultați erd_batch.
- Anulează și reface propriile editări, niciodată pe ale dumneavoastră.
Ce nu face:
- Nu modifică zoomul, nu derulează și nu comută filele. Acestea țin de fiecare persoană care privește diagrama, așa că niciun instrument nu face acest lucru. Un import care înlocuiește documentul mută totuși vizualizarea, chiar și cu rândul
Viewportblocat, așa cum face elementulImportal editorului: înapoi la începutul pânzei, la 100%, sau, cu instrumentulerd_import_json, la vizualizarea documentului pe care îl încarcă și, în plus, la fila acestuia, cu excepția cazului în care acel document blochează rândulCanvas Type. Consultați Import. - Nu modifică
View Option, limbajul și stilurile de denumire ale generatorului de cod, tipul de delimitator sau opțiunileRelationship DataType Sync,Maximum comment widthșiColumn Orderdin fila Setări. Pe acestea le setați dumneavoastră în editor, iar agentul le citește așa cum le salvează fișierul. - Nu activează și nu dezactivează nicio blocare. Doar instrumentul
erd_import_json, când înlocuiește întregul document, schimbă blocările sau setările de mai sus cu cele ale documentului pe care îl încarcă. Un document fără câmpullockSettings, de exemplu un fișier salvat de extensia pentru VS Code înainte de versiunea4.0.0sau de pluginul pentru Obsidian ori JetBrains înainte de versiunea1.0.0, activează toate blocările. Anularea oricărui import care a înlocuit documentul readuce setările și blocările pe care documentul le avea înainte. - Nu remapează o relație pe alte coloane, așa cum face caseta de dialog
Map Columns. În schimb, agentul elimină relația, ceea ce lasă pe loc coloanele sale cheie străină, și leagă coloanele pe care le dorește cu instrumentulerd_link_columns, într-un singur apelerd_batch, pe care o singură anulare îl inversează. - Nu rulează generatorul de cod. Instrumentul
erd_readrăspunde cu DDL sau JSON, iar agentul scrie singur codul pe baza acestuia.
Cum funcționează
Serverul este un proces stdio pe care îl pornește clientul MCP. La fiecare apel, caută un editor care deține documentul: o fereastră VS Code, o fereastră a unui seif Obsidian sau un IDE JetBrains, fiecare cu extensia sau pluginul ERD Editor.
- În direct – un editor are documentul în spațiul său de lucru, în seiful său sau într-unul dintre proiectele sale deschise ori îl are deschis. Serverul se alătură sesiunii de editare a acelui editor, iar editarea ajunge în editor: nesalvată în VS Code și salvată așa cum sunt salvate editările dumneavoastră în Obsidian și într-un IDE JetBrains.
- Fără interfață – niciun editor. Serverul încarcă fișierul, aplică editarea și rescrie fișierul.
- Refuzat – un editor deține documentul, dar are hubul dezactivat. Serverul citește de pe disc, dar nu scrie nimic, deoarece editorul deschis ar putea suprascrie fișierul la următoarea salvare. Un IDE JetBrains cu hubul activat refuză, de asemenea, să modifice un document deținut doar de proiecte pe care nu le consideră de încredere, deși agentul îl poate citi în continuare. Când hubul editorului este activat, dar extensia sau pluginul său ERD Editor folosește alt protocol al hubului decât serverul, fiecare apel asupra documentului este refuzat, inclusiv citirile, cu codul
protocolMismatchși un mesaj care indică partea ce trebuie actualizată (consultați Actualizarea).
Pentru detalii, consultați În direct și fără interfață.
Cerințe
| Node.js | 22.12 sau o versiune ulterioară, pentru a rula serverul |
| Un client MCP | Claude Code, Codex sau orice client care poate porni un server stdio |
| VS Code, pentru editarea în direct | 1.101.0 sau o versiune ulterioară, cu extensia ERD Editor 4.0.0 sau o versiune ulterioară |
| Obsidian, pentru editarea în direct | Aplicația pentru desktop 1.5.7 sau o versiune ulterioară, cu pluginul ERD Editor 1.0.0 sau o versiune ulterioară |
| Un IDE JetBrains, pentru editarea în direct | Un IDE bazat pe IntelliJ 2025.2 sau o versiune ulterioară, cu pluginul ERD Editor 1.0.0 sau o versiune ulterioară |
Versiunea 1.0.0 a serverului și versiunile de mai sus folosesc protocolul 2 al hubului.
Versiunile anterioare care deservesc agenți folosesc protocolul 1: extensia pentru VS Code de la versiunea 3.0.0 până la versiunea 3.1.0, pluginul pentru Obsidian în versiunile 0.1.0 și 0.2.0 și pluginul pentru JetBrains în versiunile 0.9.0 și 0.10.0.
O astfel de versiune și versiunea 1.0.0 a serverului se refuză reciproc, la fel ca o versiune anterioară a serverului și versiunile de mai sus (consultați Actualizarea).
O extensie pentru VS Code anterioară versiunii 3.0.0 sau un plugin pentru JetBrains anterior versiunii 0.9.0 nu are hub, așa că serverul nu îl vede și editează fișierul pe disc, chiar și pe cel al unei diagrame deschise în acesta.
Pasul următor: Instalare.