AI speed for Java apps you control
Paste this into your coding agent. It sets up Vaadin's MCP server, skills and IDE plugin, then builds a test app to confirm everything works. It won't change your Java installation. Allow about ten minutes for the first run.
# Set up Vaadin Set up this computer for a developer who is new to Vaadin. When you finish: 1. A Vaadin starter app in `my-vaadin-app/`, inside the current folder, builds and runs. 2. You, the agent reading this, are connected to the Vaadin MCP servers (docs and add-on Directory) and have the Vaadin skills, if you support them. 3. Their IDE has the Vaadin plugin. The official docs are the source of truth: https://vaadin.com/docs/latest/getting-started/dev-environment and https://vaadin.com/docs/latest/building-apps/agentic-development. Start by telling the developer in two sentences what you'll do, that it takes a few minutes and may ask them to approve commands, and that nothing they have will be removed. Then work through the steps without stopping to ask, and finish with a report. ## Rules - **Configure only yourself.** Install plugins and MCP servers into the agent you are running inside. Other agents' CLIs and configuration on this machine (`claude`, `codex`, `~/.claude`, …) are not you: don't run their plugin or MCP commands, and don't read or change their configuration. - **Never install Java,** and never delete, downgrade or overwrite the developer's JDKs, Node, Maven settings, IDE settings or agent configuration. Ask before anything that needs `sudo` or an admin password. - **Change your configuration with your own CLI** where you have one. In a config file, add your entry and leave the rest as it is. - **Use your sandbox's escalation path.** This needs network access and writes to `~/.m2`, `~/.vaadin` and your configuration. - **Run long commands in the background,** logging to a file you poll. The first build downloads several hundred megabytes. - **Run twice, change once.** Leave what's already done; a second run must change nothing. - **Report only what you verified,** with the command that proved it. ## 1. Java Vaadin needs a full JDK 21 or newer. Check it as IDEs and agents see it, in a fresh login shell: `bash -lc 'java -version; javac -version; echo $JAVA_HOME'` (`zsh -lc` on zsh; on Windows, what a new PowerShell window sees). Java is ready when both report 21 or newer and `JAVA_HOME`, if set, points to that JDK. If it isn't, stop here and change nothing. Tell the developer what you found and give one way to install Eclipse Temurin for their OS: - **macOS with Homebrew:** `brew install --cask temurin@25` - **SDKMAN:** `sdk install java <version>-tem` (see `sdk list java`) - **Linux:** the distribution's package, such as `sudo apt install openjdk-21-jdk`; without admin rights, the archive from https://adoptium.net/temurin/releases/ unpacked into `~/.jdks`, with `JAVA_HOME` and `PATH` set at the top of both `~/.profile` and `~/.bashrc` (Ubuntu's `~/.bashrc` stops early for non-interactive shells) - **Otherwise:** the installer from https://adoptium.net/temurin/releases/; on Windows, tick "Set JAVA_HOME variable" Then ask them to open a new terminal, check `java -version` and `javac -version`, and paste this prompt again. ## 2. Vaadin MCP server and skills Add them at user level, so they work in every project. The server is `https://mcp.vaadin.com/docs` (streamable HTTP, no authentication). The `vaadin-skills` plugin adds the server and the skills together. If it's already installed, leave it. - **If you are Claude Code:** `claude plugin marketplace add vaadin/agent-marketplace`, then `claude plugin install vaadin-skills@vaadin-marketplace`. If `CLAUDE_CODE_EXECPATH` is set, use that binary as `claude`. Verify with `claude plugin list` and `claude mcp list`. - **If you are Codex:** `codex plugin marketplace add vaadin/agent-marketplace --ref main`, then `codex plugin add vaadin-skills@vaadin-marketplace`. Verify with `codex plugin list --marketplace vaadin-marketplace` and `codex mcp list`. - **Any other agent:** add the server your own documented way (see your docs, or https://vaadin.com/docs/latest/building-apps/agentic-development/mcp/supported-tools). - **If you support neither plugins nor MCP:** change nothing, and say so in the report. Also add the Vaadin Directory MCP server, which finds add-ons: `https://vaadin.com/directory/mcp` (streamable HTTP, no authentication), named `vaadin-directory` so it doesn't clash with `vaadin`. Claude Code: `claude mcp add --transport http vaadin-directory https://vaadin.com/directory/mcp --scope user`. Codex: `codex mcp add vaadin-directory --url https://vaadin.com/directory/mcp`. Other agents: the same way as the docs server. If it's already there, leave it. New tools load only after a restart, so report a new server as configured, not as working. ## 3. IDE For each installed IDE, add the Vaadin plugin if it's missing. IntelliJ IDEA: if it's closed, run its launcher with `installPlugins com.vaadin.intellij-plugin`; if it's open, ask the developer to install "Vaadin" from Settings → Plugins. VS Code: `code --install-extension vaadin.vaadin-vscode`, plus `vscjava.vscode-java-pack` if Java support is missing. Install no IDE; if there is none, recommend IntelliJ IDEA (the free edition is enough). ## 4. The app 1. If `my-vaadin-app/` doesn't exist yet, download `https://start.vaadin.com/skeleton?platformVersion=latest&javaVersion=<25 if the JDK is 25 or newer, otherwise 21>&groupId=com.example&artifactId=my-vaadin-app&frameworks=flow&aiTool=NONE` and unzip it in the current folder. It unpacks to `my-vaadin-app/`, already a Git repository. 2. In it, run `./mvnw -B spring-boot:run` (`.\mvnw.cmd` on Windows). If port 8080 is taken, set `SERVER_PORT` to a free port. When the log says `Started Application`, request the page and expect HTTP 200. Leave it running. If something fails, read the error, fix the cause within these rules, and try again. If a host is unreachable, tell the developer which one to ask their IT team about. ## Report A short table: JDK, Vaadin MCP server, Directory MCP server, Vaadin skills, IDE plugin and the app, each ✅, ⚠️ or ❌ with the command that proved it. Then the next steps, as a short numbered list in plain words, leaving out what doesn't apply: 1. Open the app at its address. 2. Restart you so the Vaadin tools load, saying exactly how for you. The app stops when you restart; run it again from the IDE (open `my-vaadin-app` and run `Application`) or ask you. 3. Try a first change, such as asking you to "add a priority field to the task form". `my-vaadin-app/` is theirs to keep or delete.
Full-stack Java changes the AI problem
AI for building and running enterprise apps
Build faster with AI, stay in the loop
Spec, generate, verify, refine, and keep your team in the loop. Your assistant works from current Vaadin APIs, not whatever it remembers, and browserless tests catch what it gets wrong (watch it in 7 minutes). In dev mode, Vaadin Copilot turns your browser edits into source.
Build AI into business workflows
Chat, charts, and grids that already talk to a model. You pick which model, and it writes the query without ever seeing what comes back.
Speed you can standardize on
A pilot only needs one team to be convinced. A standard needs the platform to be dependable for as long as you own the application, and the practice to be the same in every team. Vaadin backs the first with Enterprise Edition, the second with hands-on workshops.
- 15 years of maintenance per major release, from its announcement
- Security and accessibility review reports, company-level ISO certificates
- Enterprise application server support
- Restricted environments: Offline licensing and an air-gapped MCP server
- Building AI-powered applications: one day, adding LLM features to a Vaadin app with Spring AI and RAG
- From Figma to Vaadin: two days, turning designs into working UI with Figma MCP and Vaadin Copilot
- Ship faster with AI and Vaadin: one week, adopting an AI-assisted workflow in your own product and architecture
Pick the path that matches your team
However fast it gets written, your team still owns it