Skip to main content

Serve a Notebook

Deploy interactive Marimo notebooks, Streamlit apps, or MCP servers to Runtime and access them in your browser.

Deploy and open

Use dlt runtime serve:

dlt runtime serve fruitshop_notebook.py

This:

  1. Syncs your code and configuration to Runtime
  2. Creates an interactive job for the script
  3. Starts the app and waits until it's ready
  4. Opens the app in your browser

The command stays running and streams status updates. Press Ctrl+C to detach (the app keeps running in the cloud).

Access a running app

From the Web UI

  • Notebooks appear on the Notebooks page as cards. Click a card to open the app.
  • MCP servers appear on the MCPs page.

Running apps show a pulsing status indicator on their card.

From the CLI

Run dlt runtime serve again for the same script -- if it's already running, it opens the existing app.

Supported app types

TypeDescription
MarimoInteractive Python notebooks with reactive execution
StreamlitData apps and dashboards
MCPModel Context Protocol servers for AI tool integration

Runtime auto-detects the app type from your script. All types use the same dlt runtime serve command.

View logs

dlt runtime logs fruitshop_notebook.py

See dlt runtime logs for options.

Stop a running app

dlt runtime cancel fruitshop_notebook.py

See dlt runtime cancel. You can also cancel from the Jobs page context menu.

Interactive vs batch profiles

Interactive apps use the access profile by default, which typically has read-only database credentials. Batch pipelines use the prod profile with read-write access. Configure profile-specific credentials in .dlt/secrets.access.toml and .dlt/secrets.prod.toml. See Manage Secrets.

Next steps