Skip to content

Deploy a Spring Boot app from your AI agent, over MCP

Your Spring Boot app runs locally. Connected to while over MCP, your AI agent deploys it in France, with its PostgreSQL database backed up every day, and a ready-made Java Dockerfile, for Maven or Gradle.

By Aloïs Oddon, co-founder of Nextmap. Facts checked on November 2, 2026.

View as Markdown

Prerequisites

  • A Spring Boot app, built with Maven or Gradle.
  • An AI agent that works in a terminal: Claude Code, Codex, Cursor or Gemini CLI.

Step 1: Give your agent these instructions

Open your agent in your app’s folder, and paste these instructions into it:

Instructions
Connect to while with my account (while.sh/agents), then deploy my app.

Your agent adds while’s MCP server itself. If it asks you to, restart it. On the first call to while, a page opens in your browser. In Claude Code, if it doesn’t open, type /mcp, choose while, then Authenticate. On that page, choose “A new app”, then click Authorize.

Step 2: Open your app

Your agent gives you your app’s address, for example https://mon-appli.while.cloud, over HTTPS.

What your agent does

It writes while.yaml at the root of your app:

while.yaml
apiVersion: while/v1
project: mon-appli
services:
  - name: web
    port: 8080
    health:
      path: /actuator/health
    resources:
      memory: 512Mi
databases:
  - name: main

Spring Boot is recognized by its pom.xml or its build.gradle, and your agent receives a Dockerfile ready to build: your project’s Java version, and the jar built by Maven or Gradle, started on while’s port. Your agent adds it to your app. Actuator’s /actuator/health route tells while that your app is ready1: your agent adds Actuator if it’s missing. It also connects Spring to the database: the address from DB_MAIN_URL, rewritten as jdbc:postgresql://, with the user and password received in DB_MAIN_USER and DB_MAIN_PASSWORD.

Read your database in SQL

You, to your agent: How many orders this week?

Your agent reads your database in SQL through while’s MCP server, with your permissions on the data, and it can’t write to it.

Run a job every night

You, to your agent: Run the data import every night at 3 am.

Your agent declares a scheduled job, which starts at the set time with the same code and the same variables. If it fails, your agent is notified.

Restrict your app to your colleagues

You, to your agent: Restrict the app to people in the company.

Your agent adds two lines to the service:

while.yaml
    access: internal
    email_domains: [acme.com]

Once your Google Workspace or Microsoft 365 is linked to while, on the Pro plan, your colleagues open it with their usual account, and your code receives their name and email address, with no sign-in page to write.

Move to your own domain

You, to your agent: Put the app on app.acme.com.

Your agent declares the domain, you add the DNS records it gives you, and the HTTPS certificate follows.

Fix a vulnerability in your dependencies

You, to your agent: Fix the vulnerabilities in our dependencies.

Your app’s dependencies are checked against known vulnerabilities on every deployment, then every day. Your agent is notified of a serious vulnerability, and updates the package involved.

Go back to the previous version

You, to your agent: Go back to the previous version.

In the 30 minutes after a deployment, the previous version comes back in a second. After that, it takes a few seconds. Once the previous version is back, your agent reads what broke in while’s logs, fixes it and deploys again.

In the docs: PostgreSQL databases, Scheduled jobs, Internal access, Custom domain, Versions and rollback and Dependency vulnerabilities.

Next steps

Sources

  1. Spring Boot, Actuator endpoints (health), accessed November 2, 2026

Questions

Do I need to write a Dockerfile?

No. Spring Boot is recognized, and your agent receives a Dockerfile ready to build, with Maven or Gradle. If your project already has its own, that one is used to build the image.

Which version of Java?

Your project’s, rounded up to the next long-term support version: 17, 21 or 25.

Does it need more memory?

Yes, 512 MiB for a Spring Boot app, which your agent declares in while.yaml. Apps are billed by what they use.

Where is my app hosted?

In France, by Nextmap, a French company.

Connect your agent, it takes care of the rest

To paste into your agent

Read while.sh/agents, then deploy my app with while.

Copy the instructions

No account needed to try: your app is live right away. To keep it, sign in.

A project for your company? Talk to the team: hello@while.sh