Drive JHipster with your AI agent: introducing jhipster-mcp (v0.0.4) JHipster has released jhipster-mcp v0.0.4, an open-source Model Context Protocol server that enables AI agents to generate and modify JHipster applications using natural language commands. The server exposes nine tools that allow agents to create applications from JDL, add entities and relationships, validate configurations, and generate CI/CD pipelines without requiring users to remember JDL syntax or CLI flags. The release focuses on safety and transparency, with real-time progress notifications for long-running operations and a true preview mode that generates applications in temporary directories without modifying the user's project. TL;DRβ€” jhipster-mcp is an open-source Model Context Protocol server that lets an AI agent generate and evolve JHipster applications for you. You describe what you want in plain language; the agent writes JDL and drives the JHipster CLI. It's on npm β€” point your MCP host at it with one line.v0.0.4 is the first public release.πŸ“¦ npm: https://www.npmjs.com/package/jhipster-mcp πŸ§‘πŸ’» GitHub: https://github.com/avdev4j/jhipster-mcp JHipster has always been about speed : scaffold a production-grade Spring Boot + modern frontend app in minutes, model your domain with JDL JHipster Domain Language , and let the generator write the boilerplate. AI coding agents are great at intent : you tell them what you want, they figure out the steps. jhipster-mcp connects the two. It exposes JHipster as a set of MCP tools an agent can call. So instead of remembering JDL syntax and CLI flags, you say: "Create a JHipster monolith in /tmp/shop with PostgreSQL and an Angular frontend, plus a Product entity name, price and a Category with a one-to-many to products. Paginate everything." …and the agent composes valid JDL, runs the generator, and streams the result back. If you use Claude Code , Claude Desktop , Cursor , or any MCP-compatible host, you can plug it in today. The server ships 9 tools , JDL-first: | Tool | What it does | |---|---| create app from jdl | Scaffold a brand-new app from a full JDL block. | import jdl | Apply JDL entities, relationships, options to an existing project. | add entity | Add one entity with fields, validations, and per-entity options. | add relationship | Add a typed relationship between two entities. | set option | Toggle JDL options paginate , dto , service , search , … . | validate jdl | Check JDL for errors without modifying anything. | generate ci cd | Scaffold a CI/CD pipeline GitHub, GitLab, Jenkins, … . | info | Inspect project versions, config, and entities. | run jhipster | Escape hatch β€” run an allowlisted subcommand safely. | It also exposes a JDL grammar cheat-sheet as an MCP resource, so the agent writes valid JDL on the first try. This first release focuses on making every tool call trustworthy and legible to the agent: Full app generation can take 30–90 seconds. Instead of looking frozen, the server streams the generator's output as MCP progress notifications in real time. You can validate JDL or preview a change without touching your project. There's a fun gotcha here: JHipster's own --dry-run flag only prints conflicts β€” it still writes files I confirmed this against the real CLI . So a flag-based "preview" would silently modify your project. jhipster-mcp instead does a real preview : it generates in a throwaway temp directory copying your project's .yo-rc.json and .jhipster/ for context , parses what would be produced, and discards everything. Your project is never modified. Every tool returns machine-readable JSON alongside the human-readable text, so the agent reasons on data instead of scraping logs: { "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": } shell: false and an argument allowlist β€” no command injection. --force --skip-git and CI=true ; never hangs on a prompt. workingDirectory ; the server won't act outside it.Under the hood it's TypeScript on the official MCP SDK , with 70 tests and CI on Node 22/24. npm install -g generator-jhipster jhipster --version Claude Code: claude mcp add jhipster -- npx -y jhipster-mcp Claude Desktop / Cursor / others β€” add to your MCP config: { "mcpServers": { "jhipster": { "command": "npx", "args": "-y", "jhipster-mcp" } } } No clone, no build β€” npx fetches and caches the package for you. "In /Users/me/projects/shop , add a Customer entity with firstName required, 2–50 chars , lastName, and email, then a one-to-many from Customer to Order." The agent reads the JDL grammar, builds the snippet, and applies it β€” streaming progress as it goes. Want to look before you leap? Ask it to preview first: "Show me what adding a Tag entity would change β€” don't write anything yet." …and it runs the same tool with dryRun: true . This release completes the "Tier 1" experience work progress, validation/dry-run, structured output . On the roadmap: .yo-rc.json , the entity list, and exported JDL directly. npx -y jhipster-mcp@0.0.4 ⭐ Star it, break it, and tell me what's missing: https://github.com/avdev4j/jhipster-mcp https://github.com/avdev4j/jhipster-mcp Built with ❀️ for the JHipster community. jhipster ai mcp java springboot opensource