소개
@dineug/erd-editor-mcp는 코딩 에이전트가 erd-editor 다이어그램을 편집할 수 있게 해 주는 MCP 서버입니다.
Claude Code, Codex를 비롯한 모든 Model Context Protocol 클라이언트는 문서를 다루는 작업마다 도구를 하나씩 사용할 수 있습니다. 테이블 추가, 컬럼 이름 변경, 두 테이블 사이의 관계 생성, DDL 덤프 가져오기, 스키마를 SQL로 다시 읽기 같은 작업입니다.
문서가 VS Code 확장에서 열려 있으면 에이전트는 참여자처럼 에디터에 합류합니다. 모든 변경은 일어나는 즉시 캔버스에 나타나고 에이전트나 사용자가 저장할 때까지 저장되지 않은 상태로 남으며, 에이전트의 Undo는 에이전트 자신의 편집만 되돌립니다. 문서를 담고 있는 VS Code 창이 없으면 같은 도구가 파일 자체를 편집합니다.

에이전트가 할 수 있는 일
- 대화로 스키마를 만들거나 바꿉니다. 테이블, 컬럼과 모든 컬럼 옵션, 관계, 인덱스, 메모, 색상, 캔버스 위의 위치까지 다룹니다.
- SQL DDL, GraphQL SDL, DBML, AML에서 파싱한 스키마나 다른
.erd.json문서로 문서를 대체합니다. - 다이어그램을 id 목록, 엔티티 전체, 8가지 데이터베이스 중 어느 것의 DDL, 또는 원본 JSON으로 다시 읽습니다. 테이블이 수천 개인 스키마에서는 한 페이지나 테이블 몇 개씩 나눠 읽습니다. 문서 읽기 문서를 참고하세요.
- 문서에 저장되는 설정을 바꿉니다. 데이터베이스, Code Generator 언어와 Name Case, 괄호 타입, 그리고 테이블의 어떤 부분을 표시할지입니다.
- 여러 편집을 전부 적용하거나 전혀 적용하지 않는 하나의 편집으로 실행하며, Undo 한 번으로 되돌립니다. erd_batch 문서를 참고하세요.
- 자신의 편집을 Undo, Redo하며, 사용자의 편집은 절대 건드리지 않습니다.
하지 않는 일:
- 확대/축소, 스크롤, 탭 전환. 이것들은 문서가 아니라 보는 사람 각자에게 속하므로, 이를 바꾸는 도구는 없습니다.
- Code Generator 실행.
erd_read가 DDL이나 JSON을 돌려주면, 에이전트가 그것을 바탕으로 직접 코드를 작성합니다. - IntelliJ에서의 라이브 편집. IntelliJ 플러그인은 서버가 찾을 수 있는 잠금 파일을 남기지 않으므로, IntelliJ에서 열린 문서는 닫힌 것으로 간주되고 에이전트는 디스크의 파일을 편집합니다. 플러그인은 파일을 열 때만 읽고, 그 뒤 IntelliJ에서 편집하면 다이어그램 전체를 다시 써서 에이전트의 변경을 덮어쓰므로, 에이전트가 편집하는 동안에는 IntelliJ에서 다이어그램을 닫아 두세요.
동작 방식
서버는 MCP 클라이언트가 실행하는 stdio 프로세스입니다. 서버는 호출마다 문서를 담고 있는 VS Code 창을 찾습니다.
- 라이브 — 워크스페이스에 문서가 포함되어 있거나 문서를 열어 둔 창이 있습니다. 서버가 그 창의 편집 세션에 참여하고, 편집은 저장되지 않은 상태로 에디터에 반영됩니다.
- 헤드리스 — 창이 없습니다. 서버가 파일을 불러와 편집을 적용하고, 파일에 다시 씁니다.
- 거부 — 문서를 담고 있는 창이 있지만 허브가 꺼져 있습니다. 열려 있는 에디터가 다음 저장 때 파일을 덮어쓰므로, 서버는 디스크에서 읽기만 하고 아무것도 쓰지 않습니다.
자세한 내용은 라이브와 헤드리스 문서를 참고하세요.
요구 사항
| Node.js | 서버 실행에 22.12 이상 |
| MCP 클라이언트 | Claude Code, Codex, 또는 stdio 서버를 실행할 수 있는 모든 클라이언트 |
| 라이브 편집용 VS Code | 1.101.0 이상, ERD Editor 확장 3.0.0 이상 |
다음: 설치.