---
title: "Deploy Streamlit over MCP with while.sh"
url: https://while.sh/en/guides/deploy-streamlit/
author: "Aloïs Oddon, co-founder of Nextmap"
updated: 2026-11-02
---

# Deploy a Streamlit app from your AI agent, over MCP

Your Streamlit dashboard runs on your laptop. Connected to while over MCP, your AI agent deploys it in France, and your colleagues open it with the company account.

## Prerequisites

- A Streamlit app, with its requirements.txt.
- 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:

```text titre="Instructions"
Connect to while with my account (while.sh/agents), then deploy my app.
```

Without an account, your agent deploys your app 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 app

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

## What your agent does

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

```yaml titre="while.yaml"
apiVersion: while/v1
project: mon-tableau
services:
  - name: web
    port: 8501
    health:
      path: /_stcore/health
```

Your app is installed from requirements.txt, where Streamlit is detected, then started with `streamlit run`, on `streamlit_app.py` or `app.py`, on its usual port, 8501 (source 1). There is no Dockerfile and no command to write. The connection with your browser stays open: if it drops, Streamlit reopens it in less than a second, and your session carries on.

## 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:

```yaml titre="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.

## Read another app's database

> You, to your agent: Connect the dashboard to our app's database, read-only.

Your agent gives your Streamlit app read-only access to the database of another of your apps: the dashboard reads, and can never write.

## Prepare the data every night

> You, to your agent: Prepare the dashboard numbers every night at 3 am.

Your agent declares a scheduled job that computes the numbers and stores them in a PostgreSQL database. Your Streamlit app displays them right away, with no long computation in the page.

## Move to your own domain

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

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

## 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.

## Next steps

- [Restrict an internal tool to company accounts](/en/guides/internal-tool-company-sign-in/)
- [Run a scheduled job](/en/guides/run-cron-job/)
- [Compare Python API hosting](/en/comparisons/python-api-hosting/)

## Sources

1. [Streamlit, server configuration (port, address)](https://docs.streamlit.io/develop/api-reference/configuration/config.toml), 2026-11-02

## Questions

### Do I need to write a Dockerfile?

No. Streamlit is detected in your requirements.txt, and your app starts with streamlit run, with no command to write.

### Does my session hold if I leave the page open?

Yes. The connection with your browser reopens on its own, in less than a second, without losing anything from your session.

### Does a very long computation work?

A computation that takes more than 5 minutes runs separately, at night or in the background, and the app displays the result.

### Do my colleagues need to create an account?

No, on the Pro plan: they sign in with their Google Workspace or Microsoft 365 account.

### Where is my app hosted?

In France, by Nextmap, a French company.
