{"slug": "let-your-ai-agent-scaffold-apps-with-seed4j-mcp", "title": "Let Your AI Agent Scaffold Apps With seed4j-mcp", "summary": "Seed4j-mcp is a new open-source Model Context Protocol (MCP) server that allows AI agents like Claude Code and Cursor to control the seed4j application generator, enabling them to scaffold Spring Boot and Vue projects automatically. The tool acts as a thin translator between MCP tool calls and seed4j's REST API, allowing developers to describe their desired project in natural language while the AI agent handles the orchestration of modules, dependencies, and configuration. Currently in alpha, seed4j-mcp is available as an npm package and requires a running seed4j server on localhost.", "body_md": "If you've ever bootstrapped a Spring Boot + Vue project by hand, you know the routine: pick a build tool, glue in a frontend, add JPA, choose a database driver, wire Liquibase, remember the Maven wrapper, look up that one annotation for the seventh time this year. By the time you reach `initial commit`\n\n, half your motivation is gone.\n\n[seed4j](https://github.com/seed4j) already solves most of that. It's an open source application generator that applies *modules* to a project folder — click click click, project done.\n\nBut seed4j is still a tool **a human drives**. You read the docs, you pick the module slugs, you remember whether the property is `packageName`\n\nor `basePackage`\n\nthis release. Fine, but not exactly thrilling.\n\n[ seed4j-mcp](https://github.com/avdev4j/seed4j-mcp) is a\n\n[Model Context Protocol](https://modelcontextprotocol.io)server that hands seed4j to your AI agent instead. Plug it into Claude Code, Claude Desktop, or Cursor, and the agent can:\n\n- browse the seed4j catalog,\n- pick a coherent stack,\n- validate properties before applying anything,\n- and scaffold a project end to end.\n\nYou stay in the conversation. The agent does the orchestration.\n\nHeads up — this is an alpha.`seed4j-mcp`\n\nis a fresh first release. The tool surface, defaults, and behavior may change as feedback comes in. It's stable enough to play with, but don't wire it into anything critical yet. Bug reports and suggestions are very welcome.\n\n## How the pieces fit together\n\n`seed4j-mcp`\n\nis intentionally thin. Three components:\n\n-\n**A running seed4j instance**— the actual generator, reachable over HTTP (default`http://localhost:1339`\n\n). -\n— a Node.js MCP server that translates MCP tool calls into seed4j REST calls.`seed4j-mcp`\n\n-\n**Your MCP client**— Claude Code, Claude Desktop, Cursor, etc., speaking MCP over STDIO to`seed4j-mcp`\n\n.\n\n```\n[Claude Code] ⇄ STDIO ⇄ [seed4j-mcp] ⇄ HTTP ⇄ [seed4j server]\n```\n\nThat separation matters: `seed4j-mcp`\n\ndoes not embed seed4j as a library. It's a translator. seed4j can evolve on its own and the MCP server keeps doing its job — no version-pinning gymnastics.\n\nOne implementation detail worth knowing: `seed4j-mcp`\n\nspeaks MCP over **STDIO**. The MCP framing lives on stdout, which means anything else writing to stdout will corrupt the stream and your MCP client will hang. The server routes its startup errors to stderr for that reason. If you fork the project and add logging, use `console.error`\n\nor write to a file — never `console.log`\n\n.\n\n## Tutorial\n\n### Prerequisites\n\nThree things on your machine:\n\n-\n**Node.js 20+**—`seed4j-mcp`\n\nships as an npm package and runs under Node (yes, even if you're a Java person). -\n**A running seed4j instance**— see the[seed4j docs](https://github.com/seed4j)for how to start one. Default URL:`http://localhost:1339`\n\n. -\n**An MCP-aware client**— I'll use[Claude Code](https://claude.com/claude-code), but Claude Desktop and Cursor work the same way.\n\nQuick sanity checks:\n\n```\nnode --version            # v20.x or newer\ncurl http://localhost:1339/api/modules | head -c 200\n```\n\nIf the curl call returns JSON, you're ready.\n\n### Getting started\n\nYou don't need to install `seed4j-mcp`\n\nglobally. The package is published on npm and the recommended pattern is to let your MCP client launch it on demand via `npx`\n\n. First run pulls it down, later runs use the cache.\n\nIf you'd rather install it globally:\n\n```\nnpm install -g seed4j-mcp\n```\n\nOr build from source if you want to contribute:\n\n```\ngit clone https://github.com/avdev4j/seed4j-mcp.git\ncd seed4j-mcp\nnpm install\nnpm run build\n```\n\n### Run it with Claude Code\n\nClaude Code has an `mcp`\n\nsubcommand built for exactly this. Pick a scope based on how widely you want the server available:\n\n```\n# Local: just you, this project (default scope)\nclaude mcp add seed4j -- npx -y seed4j-mcp\n\n# Project: committed to .mcp.json, shared with collaborators\nclaude mcp add seed4j --scope project -- npx -y seed4j-mcp\n\n# User: available across all your projects on this machine\nclaude mcp add seed4j --scope user -- npx -y seed4j-mcp\n```\n\nRunning seed4j on a non-default URL? Pass it as an env var:\n\n```\nclaude mcp add seed4j --env SEED4J_BASE_URL=http://localhost:7471 -- npx -y seed4j-mcp\n```\n\nVerify the server is wired up:\n\n```\nclaude mcp list\n```\n\nRestart Claude Code and the tools become available to the agent automatically.\n\n### Run it with Claude Desktop or Cursor\n\nBoth clients read a JSON config. Add an entry pointing at the npx entrypoint:\n\n```\n{\n  \"mcpServers\": {\n    \"seed4j\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"seed4j-mcp\"],\n      \"env\": {\n        \"SEED4J_BASE_URL\": \"http://localhost:1339\"\n      }\n    }\n  }\n}\n```\n\nRestart the client and you're done.\n\n## Example usages\n\nThe real test is what the agent does once the tools are available. A few prompts that exercise different flows.\n\n### 1. \"Scaffold a Spring Boot + Vue webapp\"\n\nThe **curated stack** path. You name the vibe, the agent picks a preset. Under the hood it will:\n\n- Call\n`list_presets`\n\nto see what's on offer. - Pick the one that matches (e.g.\n*\"Webapp: Vue + Spring Boot\"*). - Call\n`get_preset_details`\n\nfor the ordered module list. - Call\n`create_project`\n\nto initialize the folder. - Call\n`apply_preset`\n\nto apply every module in order with a shared property map.\n\nYour prompt is one line:\n\nScaffold a new project at\n\n`/tmp/my-webapp`\n\nusing a Vue + Spring Boot preset. Use`com.example.webapp`\n\nas the Java package and`mywebapp`\n\nas the base name.\n\n### 2. \"I want a custom stack, not a preset\"\n\nThe **custom stack** path. The agent will:\n\n-\n`search_modules`\n\nto find candidates matching your description. -\n`get_module_dependencies`\n\nto learn the prerequisite ordering and any feature choices (yes, you have to pick a datasource flavor — the agent won't guess for you). -\n`validate_properties`\n\nto dry-run the property map before touching the filesystem. -\n`apply_modules`\n\nto apply the full ordered list in one batch, stopping at the first failure.\n\nExample prompt:\n\nCreate a Java library project at\n\n`/tmp/my-lib`\n\nwith Maven, Jacoco, and SonarQube wired up. Package`com.example.lib`\n\n.\n\n### 3. \"What's already in this project?\"\n\nWhen the folder exists, `get_project_status`\n\ntells the agent which modules have been applied and what properties are in play — so it suggests sensible next steps instead of stomping over existing state:\n\nLook at\n\n`/tmp/my-webapp`\n\nand tell me what's wired up. What would you suggest adding next?\n\n### 4. \"Show me the catalog\"\n\nYou can also use the agent as a guided browser. It will reach for `search_modules`\n\nand `get_module_details`\n\nand summarize the catalog:\n\nWhat persistence modules does seed4j support? Compare Postgres, MySQL, and MongoDB options.\n\n## Available tools\n\nThe agent gets a small but expressive toolbox covering module discovery, preset lookup, property validation, and project application. Rather than reproducing the full list here (and watching it drift the next time a tool is added), check the up-to-date catalog directly in the repo:\n\nThe README lists every tool with the description the agent actually sees.\n\n## See it in action\n\nIf you'd like to see what a project scaffolded through `seed4j-mcp`\n\nactually looks like, here's one I generated:\n\nIt's the output of a real agent session — useful as a reference for the kind of structure, files, and module combination you can expect when you hand the wheel to your AI agent.\n\n## Wrapping up\n\nApplication generators have always traded flexibility for speed: faster than handcrafting, less flexible than writing it yourself. Putting an LLM in front of one tips the balance — the agent handles orchestration, and you stay at the level of *\"build me a Java library with Jacoco and SonarQube\"*. No memorizing slugs, no fighting property names.\n\nAnd the scaffolded project isn't a dead drop. seed4j writes a `documentation/`\n\nfolder alongside the code with the conventions, code style, and recommendations specific to the modules you applied. That folder is a goldmine for the *next* step: pointing your AI agent at it while you write the business code keeps the generated structure and the hand-written code coherent — same package layout, same patterns, same style — instead of the usual drift between bootstrapped scaffolding and the features you add on top.\n\n`seed4j-mcp`\n\nis Apache 2.0. Source at [github.com/avdev4j/seed4j-mcp](https://github.com/avdev4j/seed4j-mcp), published on npm as [ seed4j-mcp](https://www.npmjs.com/package/seed4j-mcp). Issues, PRs, and creative stack requests welcome.\n\nIf you ship something with it, I'd love to see it.", "url": "https://wpnews.pro/news/let-your-ai-agent-scaffold-apps-with-seed4j-mcp", "canonical_source": "https://dev.to/avdev4j/let-your-ai-agent-scaffold-apps-with-seed4j-mcp-344l", "published_at": "2026-05-18 20:51:07+00:00", "updated_at": "2026-05-18 21:33:47.534088+00:00", "lang": "en", "topics": ["developer-tools", "open-source", "artificial-intelligence"], "entities": ["seed4j", "seed4j-mcp", "Claude Code", "Claude Desktop", "Cursor", "Node.js", "npm", "Maven"], "alternates": {"html": "https://wpnews.pro/news/let-your-ai-agent-scaffold-apps-with-seed4j-mcp", "markdown": "https://wpnews.pro/news/let-your-ai-agent-scaffold-apps-with-seed4j-mcp.md", "text": "https://wpnews.pro/news/let-your-ai-agent-scaffold-apps-with-seed4j-mcp.txt", "jsonld": "https://wpnews.pro/news/let-your-ai-agent-scaffold-apps-with-seed4j-mcp.jsonld"}}