AI 에이전트로 JHipster 구동: jhipster‑mcp(v0.0.4) 출시

발행: (2026년 5월 27일 AM 08:08 GMT+9)
10 분 소요
원문: Dev.to

Source: Dev.to

TL;DRjhipster-mcp는 AI 에이전트가 JHipster 애플리케이션을 생성하고 진화시킬 수 있게 해주는 오픈‑소스 Model Context Protocol(MCP) 서버입니다.
원하는 것을 자연어로 설명하면 에이전트가 JDL을 작성하고 JHipster CLI를 구동합니다. npm에 배포되어 있어 MCP 호스트를 한 줄로 지정하면 됩니다. v0.0.4가 첫 공개 릴리스입니다.

  • 📦 npm:
  • 🧑‍💻 GitHub:

The idea

JHipster는 언제나 속도에 초점을 맞춰 왔습니다: 몇 분 안에 프로덕션 급 Spring Boot + 모던 프론트엔드 앱을 스캐폴딩하고, JDL(JHipster Domain Language)로 도메인을 모델링한 뒤, 생성기가 보일러플레이트 코드를 작성하도록 하는 것이죠.

AI 코딩 에이전트는 의도에 강합니다: 원하는 것을 말하면 에이전트가 단계들을 스스로 파악합니다.

jhipster-mcp는 이 둘을 연결합니다. JHipster를 에이전트가 호출할 수 있는 MCP 도구 집합으로 노출합니다. JDL 문법이나 CLI 플래그를 외우는 대신 이렇게 말하면 됩니다:

/tmp/shop에 PostgreSQL과 Angular 프론트엔드를 사용하는 JHipster 모놀리스를 만들고, Product 엔티티(name, price)와 Category 엔티티를 추가해 CategoryProduct와 일대다 관계를 갖게 해줘. 모든 리스트를 페이지네이션해줘.”

…그리고 에이전트는 유효한 JDL을 조합하고, 생성기를 실행하며, 결과를 스트리밍합니다.


Goals

  • JHipster를 대화형으로 만든다. 자연어 의도 → 올바른 JDL → 실제 생성된 코드.
  • 안전하고 예측 가능하게 유지한다. 비대화형, 쉘 사용 금지, 입력 검증, 뜻밖의 파일 쓰기 방지.
  • 머신 친화적으로 만든다. 로그가 아니라 에이전트가 논리적으로 활용할 수 있는 구조화된 결과를 반환한다.
  • JHipster에 의존하고 재발명하지 않는다. JHipster CLI를 그대로 실행하고, 생성기가 진실의 원천으로 남는다.

Who it’s for

  • JHipster 개발자: AI 에디터를 통해 앱을 더 빠르게 스캐폴딩하고 진화시키고 싶은 사람.
  • : JHipster를 표준으로 사용하면서 생성기 호출에 대한 가드레일을 원하는 팀.
  • AI / MCP 실험가: 실제 상태를 가진 개발자 CLI를 MCP 도구로 감싸는 방법에 관심 있는 사람.

Claude Code, Claude Desktop, Cursor, 혹은 MCP‑호환 호스트를 사용한다면 오늘 바로 연결할 수 있습니다.


What you can do with it

서버는 9개의 도구를 제공하며, 모두 JDL‑우선입니다:

ToolWhat it does
create_app_from_jdl전체 JDL 블록으로부터 새 애플리케이션을 스캐폴딩합니다.
import_jdl기존 프로젝트에 JDL(엔티티, 관계, 옵션)을 적용합니다.
add_entity필드, 검증, 엔티티별 옵션을 포함한 하나의 엔티티를 추가합니다.
add_relationship두 엔티티 사이에 타입이 지정된 관계를 추가합니다.
set_optionJDL 옵션(paginate, dto, service, search 등)을 토글합니다.
validate_jdl프로젝트를 변경하지 않고 JDL 오류를 검사합니다.
generate_ci_cdCI/CD 파이프라인(GitHub, GitLab, Jenkins 등)을 스캐폴딩합니다.
info프로젝트 버전, 설정, 엔티티 정보를 조회합니다.
run_jhipster허용된 서브커맨드를 안전하게 실행할 수 있는 비상 탈출구입니다.

또한 MCP 리소스로 JDL 문법 치트시트를 제공하므로, 에이전트가 처음부터 올바른 JDL을 작성할 수 있습니다.


What’s in v0.0.4 — the highlights

🔄 Live progress streaming

전체 앱 생성은 30~90 초가 걸릴 수 있습니다. 서버는 생성기의 출력을 MCP 진행 알림으로 실시간 스트리밍해, 화면이 멈춘 듯 보이는 상황을 방지합니다.

✅ Validation + a true dry‑run

JDL을 검증하거나 프로젝트를 건드리지 않고 변경 사항을 미리 볼 수 있습니다.

JHipster 자체 --dry-run 플래그는 충돌만 출력하고 여전히 파일을 생성합니다.
jhipster-mcp진짜 미리보기를 수행합니다: 임시 디렉터리(프로젝트의 .yo-rc.json.jhipster/를 복사해 컨텍스트 제공)에서 생성하고, 결과를 파싱한 뒤 모두 삭제합니다. 프로젝트는 절대 수정되지 않습니다.

📦 Structured output

각 도구는 사람이 읽을 수 있는 텍스트와 함께 머신이 읽을 수 있는 JSON을 반환하므로, 에이전트가 로그를 스크래핑하지 않고도 데이터를 기반으로 논리 전개가 가능합니다:

{
  "command": "jhipster jdl changes.jdl --force --skip-git",
  "exitCode": 0,
  "success": true,
  "dryRun": false,
  "entities": ["Customer", "Order"],
  "filesChanged": [
    { "action": "create", "path": "src/main/java/..." }
  ],
  "warnings": []
}

Why it’s safe by design

  • 쉘 사용 금지. CLI는 shell: false와 인자 허용 목록으로 실행돼 명령어 주입 위험이 없습니다.
  • 검증된 JDL 빌더. 엔티티·필드·타입 이름은 엄격한 패턴으로 사전 검증됩니다.
  • 항상 비대화형. --force --skip-gitCI=true 옵션으로 실행돼 프롬프트에 멈추지 않습니다.
  • 범위 제한. 모든 도구는 명시적인 workingDirectory를 받아, 서버가 그 디렉터리 밖으로 행동하지 않게 합니다.

내부 구현은 공식 MCP SDK 위에 TypeScript로 작성됐으며, 70개의 테스트와 Node 22/24 환경에서 CI가 실행됩니다.


How to use it

1️⃣ Prerequisites

  • Node.js 20 이상
  • 전역에 설치된 JHipster CLI:
npm install -g generator-jhipster
jhipster --version

2️⃣ Add it to your MCP host

Claude Code

claude mcp add jhipster -- npx -y jhipster-mcp

Claude Desktop / Cursor / other hosts – MCP 설정에 추가:

{
  "mcpServers": {
    "jhipster": {
      "command": "npx",
      "args": ["-y", "jhipster-mcp"]
    }
  }
}

npx가 패키지를 자동으로 가져와 캐시해 주므로 별도 클론이나 빌드가 필요 없습니다.

3️⃣ Just ask

/Users/me/projects/shopCustomer 엔티티를 추가하고, firstName(필수, 2–50 자), lastName, email 필드를 만들고, CustomerOrder 사이에 일대다 관계를 설정해줘.”

에이전트가 JDL 문법을 읽고 스니펫을 만든 뒤 적용합니다 — 진행 상황을 스트리밍하면서 실행됩니다.

먼저 미리 보고 싶나요?
먼저 프리뷰를 요청하세요:

Tag 엔티티를 추가하면 어떤 파일이 바뀔지 보여줘—아직 파일은 만들지 말고.”

…그러면 동일한 도구를 dryRun: true 옵션으로 실행합니다.


What’s next

이번 릴리스는 “Tier 1” 경험(진행 스트리밍, 검증/드라이런, 구조화된 출력) 작업을 마무리했습니다. 앞으로의 로드맵:

  • 프로젝트‑상태 리소스 – 에이전트가 .yo-rc.json, 엔티티 목록, 내보낸 JDL 등을 직접 읽을 수 있게 함.
  • 가이드형 프롬프트
0 조회
Back to Blog

관련 글

더 보기 »