Preskoči na vsebino

Uvod

@dineug/erd-editor-mcp je strežnik MCP, ki agentu za kodiranje omogoča urejanje diagramov erd-editor. Claude Code, Codex in vsak drug odjemalec protokola Model Context Protocol dobijo po eno orodje za vsako operacijo na dokumentu: dodajanje tabele, preimenovanje stolpca, povezovanje dveh tabel z relacijo, uvoz izpisa DDL, branje sheme nazaj v obliki kode SQL.

Ko je dokument odprt v urejevalniku ERD Editor v VS Code, aplikaciji Obsidian ali razvojnem okolju JetBrains, se agent pridruži urejevalniku kot sodelavec. Vsaka sprememba se na platnu prikaže takoj, ko se zgodi, razveljavitev agenta pa razveljavi samo njegove lastne spremembe. VS Code pusti spremembe agenta neshranjene, dokler jih ne shrani agent ali jih ne shranite vi, aplikacija Obsidian in razvojno okolje JetBrains pa jih shranjujeta tako, kot shranjujeta vaše. Če dokumenta ne streže noben urejevalnik, ista orodja urejajo neposredno datoteko.

Agent za kodiranje, ki dodaja tabele in relacije v diagram, odprt v VS Code

Kaj zmore agent​

  • V pogovoru zgradi ali spremeni shemo: tabele, stolpce in vse možnosti stolpcev, relacije z njihovo kardinalnostjo in njihovimi dejanji ON DELETE in ON UPDATE, indekse, beležke, barve in položaje na platnu. Glejte razdelek Relacije.
  • Združi tabele v skupine tabel: doda skupino okoli tabel, ki jih navede, ali čez območje platna, nato jo preimenuje, pobarva, premakne skupaj z njenimi tabelami, ji spremeni velikost, vanjo doda tabele ali jih iz nje vzame ali pa jo odstrani, pri čemer njene tabele ostanejo tam, kjer so. Glejte razdelek Skupine tabel.
  • Zamenja dokument s shemo, razčlenjeno iz SQL DDL, GraphQL SDL, DBML ali AML, ali z drugim dokumentom .erd.json. Ali pa to shemo ali dokument doda pod diagram in ohrani vse, kar je že v njem, tako kot ukaz Import and Add urejevalnika. TableGroup iz DBML v obeh primerih postane skupina tabel. Glejte razdelek Uvoz.
  • Diagram prebere nazaj kot seznam identifikatorjev, kot cele entitete, kot besedilo .erd.json, ki ga zapiše shranjevanje, ali kot DDL za katero koli od osmih zbirk podatkov, z možnostma Statements in Header zavihka Shema SQL. Pri shemi s tisoči tabel naenkrat prebere eno stran, nekaj tabel ali tabele nekaj skupin tabel. Glejte razdelek Branje dokumenta.
  • Nastavi zbirko podatkov, ime zbirke podatkov in skripte, ki se v Shemi SQL zapišejo pred tabelami in za njimi, na primer CREATE EXTENSION pred njimi ali GRANT za njimi. Orodje erd_read vrne skripte same ali znotraj DDL celotnega dokumenta. Glejte razdelek Nastavitve.
  • Več sprememb izvede kot eno, vse ali nič, ena razveljavitev pa jih razveljavi skupaj. Glejte razdelek erd_batch.
  • Razveljavi in znova uveljavi svoje lastne spremembe, nikoli vaših.

Česa ne počne:

  • Spreminjanja povečave, pomikanja ali preklapljanja zavihkov. Ta dejanja pripadajo vsakemu gledalcu posebej, zato jih ne izvaja nobeno orodje. Uvoz, ki zamenja dokument, kljub temu premakne pogled, tudi ko je nastavitev Viewport zaklenjena, tako kot ukaz Import urejevalnika: nazaj na začetek platna pri 100 % ali pri orodju erd_import_json na pogled dokumenta, ki ga naloži, in tudi na njegov zavihek, razen če ima ta dokument vklopljen zaklep Canvas Type. Glejte razdelek Uvoz.
  • Spreminjanja stikal View Option, jezika in zapisa imen generatorja kode, vrste narekovajev ali možnosti Relationship DataType Sync, Maximum comment width in Column Order na zavihku Nastavitve. Te nastavitve so vaše in jih določite v urejevalniku, agent pa jih prebere tako, kot jih shrani datoteka.
  • Vklapljanja ali izklapljanja zaklepa. Zaklepe ali zgornje nastavitve spremeni samo orodje erd_import_json, ko zamenja celoten dokument, in sicer v tiste iz dokumenta, ki ga naloži. Dokument brez polja lockSettings, na primer datoteka, ki jo je shranila razširitev za VS Code pred različico 4.0.0 ali vtičnik za Obsidian ali JetBrains pred različico 1.0.0, vklopi vse zaklepe. Razveljavitev katerega koli uvoza, ki je zamenjal dokument, povrne nastavitve in zaklepe, ki jih je dokument imel prej.
  • Ponovne preslikave relacije na druge stolpce, kot to naredi okno Map Columns. Namesto tega agent odstrani relacijo, pri čemer njeni stolpci tujega ključa ostanejo na mestu, in z orodjem erd_link_columns poveže stolpce, ki jih želi, vse v enem klicu erd_batch, ki ga razveljavi ena razveljavitev.
  • Zaganjanja generatorja kode. Orodje erd_read vrne DDL ali JSON, agent pa iz tega sam napiše kodo.

Kako deluje​

Strežnik je proces stdio, ki ga zažene vaš odjemalec MCP. Ob vsakem klicu poišče urejevalnik, ki ima dokument: okno VS Code, okno trezorja v aplikaciji Obsidian ali razvojno okolje JetBrains, vsako z razširitvijo ali vtičnikom ERD Editor.

  • V živo – urejevalnik ima dokument v svojem delovnem prostoru, trezorju ali enem od svojih odprtih projektov ali pa ga ima odprtega. Strežnik se pridruži seji urejanja tega urejevalnika, sprememba pa se izvede v urejevalniku: v VS Code ostane neshranjena, v aplikaciji Obsidian in razvojnem okolju JetBrains pa se shrani tako, kot se shranijo vaše spremembe.
  • Brez vmesnika – ni urejevalnika. Strežnik naloži datoteko, izvede spremembo in datoteko zapiše nazaj.
  • Zavrnjeno – urejevalnik ima dokument, vendar ima izklopljeno središče. Strežnik bere z diska, ne zapiše pa ničesar, ker bi odprti urejevalnik lahko ob naslednjem shranjevanju prepisal datoteko. Razvojno okolje JetBrains z vklopljenim središčem prav tako zavrne spremembo dokumenta, ki ga vsebujejo samo projekti, ki jim ne zaupa, čeprav ga agent še vedno lahko bere. Ko je središče urejevalnika vklopljeno, njegova razširitev ali vtičnik ERD Editor pa uporablja drug protokol središča kot strežnik, se vsak klic za ta dokument zavrne, vključno z branjem, s kodo protocolMismatch in sporočilom, ki pove, katero stran je treba posodobiti – glejte razdelek Posodabljanje.

Za podrobnosti glejte stran V živo in brez vmesnika.

Zahteve​

Node.jsRazličica 22.12 ali novejša, za zagon strežnika
Odjemalec MCPClaude Code, Codex ali kateri koli odjemalec, ki lahko zažene strežnik stdio
VS Code, za urejanje v živoRazličica 1.101.0 ali novejša z razširitvijo ERD Editor različice 4.0.0 ali novejše
Obsidian, za urejanje v živoNamizna aplikacija različice 1.5.7 ali novejše z vtičnikom ERD Editor različice 1.0.0 ali novejše
Razvojno okolje JetBrains, za urejanje v živoRazvojno okolje, ki temelji na IntelliJ, različice 2025.2 ali novejše z vtičnikom ERD Editor različice 1.0.0 ali novejše

Strežnik različice 1.0.0 in zgornje izdaje uporabljajo protokol središča 2. Starejše izdaje, ki strežejo agentom, uporabljajo protokol 1: razširitev za VS Code od različice 3.0.0 do 3.1.0, vtičnik za Obsidian različic 0.1.0 in 0.2.0 ter vtičnik za JetBrains različic 0.9.0 in 0.10.0. Taka izdaja in strežnik različice 1.0.0 se med seboj zavračata, prav tako pa tudi starejši strežnik in zgornje izdaje – glejte razdelek Posodabljanje. Razširitev za VS Code pred različico 3.0.0 ali vtičnik za JetBrains pred različico 0.9.0 nima središča, zato strežnik takega urejevalnika ne vidi in ureja datoteko na disku, tudi diagram, ki je odprt v njem.

Naprej: Namestitev.