What is MotherDuck Flights?
Flights is MotherDuck's built-in Python runtime for data pipelines. You write Python code, it runs inside MotherDuck on a schedule, and the output lands directly in your databases. It works with AI agents through the MCP server — you describe the pipeline you want, and an agent like Claude or Cursor writes and deploys it. Any pip-installable package works in a Flight: DLT, pandas, API clients, whatever you need.
Three ways to create a Flight
MCP server — this is the primary interface. Point Claude, Cursor, or any MCP-compatible agent at the MotherDuck MCP server and describe what you want. The agent writes the Python, creates the Flight, and schedules it.
SQL table functions — call md_run_flight() from any SQL interface to trigger a Flight directly. Useful for chaining Flights together or triggering them from dbt and other SQL-based orchestrators.
MotherDuck UI — a lightweight interface for creating and monitoring Flights without touching code.
From prompt to scheduled pipeline
The webinar demo shows the full path in one session: Doo types a prompt asking for an ingest pipeline from a public API, the agent writes the Python using DLT, creates the Flight, and schedules it on a recurring cadence. The data lands in MotherDuck, and a Dive dashboard gets built on top of it — all without leaving the chat.
The cookbook has ready-to-use prompts for common ingest patterns you can replicate with your own sources.
What else can you do with Flights?
Beyond ingestion, Flights handles a few other categories of work:
- Enrichment — call an LLM mid-pipeline to classify, tag, or summarize records
- Orchestration — use
md_run_flight()in SQL to build DAGs that chain multiple Flights - Automation — send Slack notifications, write to external systems, trigger any process that has a Python library
- AI workloads — the demo included image processing via Modal, showing that Flights can coordinate with GPU-backed infrastructure through pip-installable SDKs
Availability
Flights is on Business and Enterprise plans and available to anyone on a trial. Static IP support for firewall whitelisting is not yet available. Private Python libraries can be included by referencing them in your requirements file or packaging them alongside your scripts.



