Introduktion
@dineug/erd-editor-mcp är en MCP-server som låter en kodagent redigera erd-editor-diagram.
Claude Code, Codex och alla andra klienter för Model Context Protocol får ett verktyg per operation på ett dokument: lägga till en tabell, byta namn på en kolumn, skapa en relation mellan två tabeller, importera en DDL-dump, läsa tillbaka schemat som SQL.
När dokumentet är öppet i ERD Editor i VS Code, Obsidian eller en JetBrains-IDE ansluter agenten till editorn som en medarbetare. Varje ändring syns på arbetsytan i samma stund som den görs, och agentens ångring återställer bara dess egna redigeringar. VS Code behåller agentens ändringar osparade tills agenten eller du sparar, medan Obsidian och en JetBrains-IDE sparar dem som de sparar dina egna. Utan någon editor för dokumentet redigerar samma verktyg själva filen.

Vad en agent kan göra
- Bygga eller ändra ett schema i en konversation: tabeller, kolumner och alla kolumnalternativ, relationer med sin kardinalitet och sina åtgärder för ON DELETE och ON UPDATE, index, anteckningar, färger och positioner på arbetsytan. Se Relationer.
- Samla tabeller i tabellgrupper: lägga till en grupp runt de tabeller som agenten anger eller över ett område på arbetsytan, och sedan byta namn på den, färglägga den, flytta den med dess tabeller, ändra dess storlek, lägga in tabeller i den, ta ut tabeller ur den eller ta bort den, vilket lämnar kvar dess tabeller där de är. Se Tabellgrupper.
- Ersätta dokumentet med ett schema som har tolkats från SQL DDL, GraphQL SDL, DBML eller AML, eller med ett annat
.erd.json-dokument. Eller lägga till det schemat eller dokumentet under diagrammet och behålla allt som redan finns där, som editornsImport and Addgör. EnTableGroupi DBML importeras som en tabellgrupp i båda fallen. Se Import. - Läsa tillbaka diagrammet som en lista med id:n, som hela entiteter, som den
.erd.json-text som skrivs när dokumentet sparas eller som DDL-kod för vilken som helst av de åtta databaserna, med valenStatementsochHeaderpå fliken Schema SQL. I ett schema med tusentals tabeller läser den en sida, några tabeller eller tabellerna i några tabellgrupper i taget. Se Läsa ett dokument. - Ange databasen, databasnamnet och de skript som skrivs före och efter tabellerna i Schema SQL, till exempel
CREATE EXTENSIONföre dem ellerGRANTefter dem.erd_readreturnerar skripten för sig eller i DDL-koden för hela dokumentet. Se Inställningar. - Köra flera redigeringar som en enda, allt eller inget, som ångras i ett steg. Se erd_batch.
- Ångra och göra om sina egna redigeringar, aldrig dina.
Det här gör den inte:
- Zooma, rulla eller byta flik. Det hör till varje enskild betraktare, så inget verktyg gör det. En import som ersätter dokumentet flyttar ändå vyn, även när
Viewportär låst, som editornsImportgör: tillbaka till början av arbetsytan vid 100 %, eller, mederd_import_json, till vyn i det dokument som läses in, och även till dess flik om inte det dokumentet låserCanvas Type. Se Import. - Ändra
View Option, kodgeneratorns språk och skiftlägen för namn, typen av citattecken ellerRelationship DataType Sync,Maximum comment widthochColumn Orderpå fliken Inställningar. Dem ställer du själv in i editorn, och agenten läser dem så som filen sparar dem. - Slå på eller av ett lås. Bara när
erd_import_jsonersätter hela dokumentet ändras låsen eller inställningarna ovan, till dem i det dokument som läses in. Ett dokument utan fältetlockSettings, till exempel en fil som har sparats av VS Code-tillägget före4.0.0eller av Obsidian- eller JetBrains-pluginet före1.0.0, slår på alla lås. Att ångra vilken import som helst som ersatte dokumentet återställer de inställningar och lås som dokumentet hade innan. - Mappa om en relation till andra kolumner, som
Map Columnsgör. I stället tar agenten bort relationen, vilket lämnar kvar dess sekundärnyckelkolumner, och länkar de önskade kolumnerna mederd_link_columns, i en endaerd_batchsom ångras i ett steg. - Köra kodgeneratorn.
erd_readsvarar med DDL eller JSON, och agenten skriver själv kod utifrån det.
Hur det fungerar
Servern är en stdio-process som din MCP-klient startar. Vid varje anrop letar den efter en editor som innehåller dokumentet: ett VS Code-fönster, ett valvfönster i Obsidian eller en JetBrains-IDE, var och en med tillägget eller pluginet ERD Editor.
- Live – en editor har dokumentet i sitt arbetsområde, sitt valv eller ett av sina öppna projekt, eller har det öppet. Servern ansluter till den editorns redigeringssession och redigeringen hamnar i editorn: osparad i VS Code och sparad på samma sätt som dina egna redigeringar i Obsidian och en JetBrains-IDE.
- Headless – ingen editor. Servern läser in filen, tillämpar redigeringen och skriver tillbaka filen.
- Nekad – en editor innehåller dokumentet men har hubben avstängd. Servern läser från disken men skriver ingenting, eftersom den öppna editorn kan skriva över filen nästa gång den sparar. En JetBrains-IDE med hubben på nekar också ändringar av ett dokument som bara finns i projekt som den inte litar på, men agenten kan fortfarande läsa det. När editorns hubb är på men dess tillägg eller plugin ERD Editor använder ett annat hubbprotokoll än servern nekas varje anrop som gäller dokumentet, även läsningar, med
protocolMismatchoch ett meddelande som anger vilken sida som ska uppdateras – se Uppdatera.
Se Live och headless för detaljerna.
Krav
| Node.js | 22.12 eller senare, för att köra servern |
| En MCP-klient | Claude Code, Codex eller vilken klient som helst som kan starta en stdio-server |
| VS Code, för live-redigering | 1.101.0 eller senare, med tillägget ERD Editor 4.0.0 eller senare |
| Obsidian, för live-redigering | Skrivbordsappen 1.5.7 eller senare, med pluginet ERD Editor 1.0.0 eller senare |
| En JetBrains-IDE, för live-redigering | En IntelliJ-baserad IDE 2025.2 eller senare, med pluginet ERD Editor 1.0.0 eller senare |
Servern i version 1.0.0 och versionerna ovan använder hubbprotokoll 2.
De tidigare versioner som betjänar agenter använder protokoll 1: VS Code-tillägget 3.0.0 till 3.1.0, Obsidian-pluginet 0.1.0 och 0.2.0 samt JetBrains-pluginet 0.9.0 och 0.10.0.
En sådan version och servern i version 1.0.0 nekar varandra, och det gör även en tidigare server och versionerna ovan – se Uppdatera.
Ett VS Code-tillägg före 3.0.0 eller ett JetBrains-plugin före 0.9.0 har ingen hubb, så servern ser det inte och redigerar filen på disken, även ett diagram som är öppet i det.
Nästa steg: Installera.