Einführung
@dineug/erd-editor-mcp ist ein MCP-Server, mit dem ein Coding-Agent Diagramme von erd-editor bearbeiten kann.
Claude Code, Codex und jeder andere Client des Model Context Protocol erhalten ein Tool pro Vorgang an einem Dokument: eine Tabelle hinzufügen, eine Spalte umbenennen, zwei Tabellen in Beziehung setzen, einen DDL-Dump importieren, das Schema als SQL auslesen.
Ist das Dokument im ERD Editor von VS Code, Obsidian oder einer JetBrains-IDE geöffnet, tritt der Agent dem Editor wie ein Mitbearbeiter bei. Jede Änderung erscheint auf der Zeichenfläche, sobald sie geschieht, und das Rückgängigmachen des Agenten nimmt nur seine eigenen Änderungen zurück. VS Code lässt die Änderungen des Agenten ungespeichert, bis der Agent oder Sie speichern, während Obsidian und eine JetBrains-IDE sie so speichern, wie sie Ihre eigenen speichern. Hält kein Editor das Dokument, bearbeiten dieselben Tools die Datei selbst.

Was ein Agent tun kann
- Ein Schema im Gespräch aufbauen oder ändern: Tabellen, Spalten und sämtliche Spaltenoptionen, Beziehungen mit ihrer Kardinalität und ihren Aktionen für ON DELETE und ON UPDATE, Indizes, Notizen, Farben und Positionen auf der Zeichenfläche. Siehe Beziehungen.
- Tabellen in Tabellengruppen zusammenfassen: eine Gruppe um die angegebenen Tabellen oder über einem Bereich der Zeichenfläche hinzufügen, sie dann umbenennen, einfärben, mit ihren Tabellen verschieben, ihre Größe ändern, Tabellen aufnehmen oder herausnehmen oder die Gruppe entfernen, wobei ihre Tabellen bleiben, wo sie sind. Siehe Tabellengruppen.
- Das Dokument durch ein Schema ersetzen, das aus SQL DDL, GraphQL SDL, DBML oder AML eingelesen wird, oder durch ein anderes Dokument im Format
.erd.json. Oder dieses Schema oder Dokument unterhalb des Diagramms hinzufügen und alles behalten, was bereits vorhanden ist, so wieImport and Addim Editor. Ein BlockTableGroupaus DBML kommt in beiden Fällen als Tabellengruppe an. Siehe Import. - Das Diagramm als Liste von IDs, als vollständige Entitäten, als Text im Format
.erd.json, wie ihn ein Speichern schreibt, oder als DDL für eine beliebige der acht Datenbanken auslesen, mit den OptionenStatementsundHeaderder Registerkarte Schema SQL. Bei einem Schema mit Tausenden von Tabellen liest er jeweils eine Seite, einige Tabellen oder die Tabellen einiger Tabellengruppen. Siehe Dokument lesen. - Die Datenbank, den Datenbanknamen und die Skripte festlegen, die in Schema SQL vor und nach den Tabellen geschrieben werden, etwa
CREATE EXTENSIONdavor oderGRANTdanach.erd_readliefert die Skripte für sich allein oder innerhalb der DDL des ganzen Dokuments. Siehe Einstellungen. - Mehrere Änderungen ganz oder gar nicht als eine einzige ausführen, die ein einziges Rückgängigmachen zurücknimmt. Siehe erd_batch.
- Seine eigenen Änderungen rückgängig machen und wiederholen, nie Ihre.
Was er nicht tut:
- Zoomen, scrollen oder Registerkarten wechseln. Das ist Sache jedes einzelnen Betrachters, daher tut das kein Tool. Ein Import, der das Dokument ersetzt, verschiebt die Ansicht trotzdem, selbst wenn
Viewportgesperrt ist, wie esImportim Editor tut: zurück zum Anfang der Zeichenfläche bei 100 % oder miterd_import_jsonzur Ansicht des geladenen Dokuments und auch zu dessen Registerkarte, es sei denn, dieses Dokument sperrtCanvas Type. Siehe Import. View Option, die Sprache und die Schreibweisen des Codegenerators, den Begrenzertyp oderRelationship DataType Sync,Maximum comment widthundColumn Orderauf der Registerkarte Einstellungen ändern. Diese legen Sie im Editor fest, und der Agent liest sie so, wie die Datei sie speichert.- Eine Sperre ein- oder ausschalten. Nur
erd_import_jsonändert die Sperren oder die oben genannten Einstellungen, wenn es das ganze Dokument ersetzt, und zwar auf die des Dokuments, das es lädt. Ein Dokument ohne das FeldlockSettings, etwa eine Datei, die die Erweiterung für VS Code vor4.0.0oder das Plugin für Obsidian oder JetBrains vor1.0.0gespeichert hat, schaltet jede Sperre ein. Das Rückgängigmachen eines beliebigen Imports, der das Dokument ersetzt hat, stellt die Einstellungen und Sperren wieder her, die das Dokument vorher hatte. - Eine Beziehung anderen Spalten neu zuordnen, wie es
Map Columnstut. Stattdessen entfernt der Agent die Beziehung, wobei ihre Fremdschlüsselspalten erhalten bleiben, und verknüpft die gewünschten Spalten miterd_link_columns, und zwar in einem einzigenerd_batch, das ein einziges Rückgängigmachen zurücknimmt. - Den Codegenerator ausführen.
erd_readliefert DDL oder JSON, und der Agent schreibt daraus selbst Code.
Funktionsweise
Der Server ist ein stdio-Prozess, den Ihr MCP-Client startet. Bei jedem Aufruf sucht er nach einem Editor, der das Dokument hält: einem Fenster von VS Code, einem Vault-Fenster von Obsidian oder einer JetBrains-IDE, jeweils mit der Erweiterung oder dem Plugin ERD Editor.
- Live – ein Editor hat das Dokument in seinem Arbeitsbereich, seinem Vault oder einem seiner geöffneten Projekte oder hat es geöffnet. Der Server tritt der Bearbeitungssitzung dieses Editors bei, und die Änderung landet im Editor: in VS Code ungespeichert und in Obsidian und einer JetBrains-IDE so gespeichert wie Ihre eigenen Änderungen.
- Headless – kein Editor. Der Server lädt die Datei, wendet die Änderung an und schreibt die Datei zurück.
- Abgelehnt – ein Editor hält das Dokument, hat aber seinen Hub ausgeschaltet. Der Server liest vom Datenträger, schreibt aber nichts, da der geöffnete Editor die Datei bei seinem nächsten Speichern überschreiben könnte. Eine JetBrains-IDE mit eingeschaltetem Hub lehnt es außerdem ab, ein Dokument zu ändern, das nur in Projekten liegt, denen sie nicht vertraut, doch der Agent kann es weiterhin lesen. Ist der Hub des Editors eingeschaltet, spricht aber seine Erweiterung oder sein Plugin ERD Editor ein anderes Hub-Protokoll als der Server, wird jeder Aufruf für das Dokument abgelehnt, Lesevorgänge eingeschlossen, und zwar mit
protocolMismatchund einer Meldung, die die zu aktualisierende Seite nennt – siehe Aktualisieren.
Einzelheiten finden Sie unter Live und Headless.
Voraussetzungen
| Node.js | 22.12 oder neuer, um den Server auszuführen |
| Ein MCP-Client | Claude Code, Codex oder jeder Client, der einen stdio-Server starten kann |
| VS Code für die Live-Bearbeitung | 1.101.0 oder neuer, mit der Erweiterung ERD Editor 4.0.0 oder neuer |
| Obsidian für die Live-Bearbeitung | Die Desktop-App 1.5.7 oder neuer, mit dem Plugin ERD Editor 1.0.0 oder neuer |
| Eine JetBrains-IDE für die Live-Bearbeitung | Eine auf IntelliJ basierende IDE 2025.2 oder neuer, mit dem Plugin ERD Editor 1.0.0 oder neuer |
Der Server 1.0.0 und die oben genannten Versionen sprechen das Hub-Protokoll 2.
Die früheren Versionen, die Agenten bedienen, sprechen Protokoll 1: die Erweiterung für VS Code von 3.0.0 bis 3.1.0, das Plugin für Obsidian 0.1.0 und 0.2.0 sowie das Plugin für JetBrains 0.9.0 und 0.10.0.
Eine solche Version und der Server 1.0.0 lehnen einander ab, und ebenso ein älterer Server und die oben genannten Versionen – siehe Aktualisieren.
Eine Erweiterung für VS Code vor 3.0.0 oder ein Plugin für JetBrains vor 0.9.0 hat keinen Hub und ist daher für den Server unsichtbar, sodass er die Datei auf dem Datenträger bearbeitet, selbst ein darin geöffnetes Diagramm.
Weiter: Installation.