Skip to content

Deploy a server-rendered Astro site from your AI agent, over MCP

Your Astro site renders some pages on demand. Connected to while over MCP, your AI agent deploys it in France with the Node adapter, without a Dockerfile, and you choose who can open it.

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

View as Markdown

Prerequisites

  • An Astro site that renders pages on demand: your agent adds the Node adapter if it’s missing.
  • 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 site’s folder, and paste these instructions into it:

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

Without an account, your agent deploys your site as a trial, in one request. To keep it, open the link it gives you and create your account.

With your account, 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 your app, or “A new app”, then click Authorize.

Step 2: Open your site

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

What your agent does

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

while.yaml
apiVersion: while/v1
project: mon-site
services:
  - name: web
    port: 4321
    health:
      path: /
    env:
      HOST: 0.0.0.0

Your site is built, then started by Astro’s standalone server, which reads HOST and the port it receives in PORT1. Your agent also checks that the start script in your package.json runs node ./dist/server/entry.mjs, and not the development server.

Restrict your site to your colleagues

You, to your agent: Restrict the site 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.

Share with a customer, protected by a password

You, to your agent: Open the site to our customer, with a password.

Your agent makes the app private, then, on the app’s page in while, you create a link valid for 1, 7 or 30 days, with a password your agent will never see.

Move to your own domain

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

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

See a new version before you deploy it

You, to your agent: Show me the new version before you deploy it.

Your agent opens a preview, at its own address, with its own data. You look at it, then your agent puts it into production.

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: Internal access, Custom domain, Previews and Versions and rollback.

Next steps

Sources

  1. Astro, the Node adapter (standalone mode, HOST and PORT), accessed November 2, 2026

Questions

Do I need to write a Dockerfile?

No. Astro with its Node adapter is recognized, built and started by its standalone server.

What about a fully static Astro site?

It deploys like a static site: its dist folder is served with an HTTP cache.

Where is my site 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