# list_flights
> List Flights with summary metadata, optionally filtered by keywords.
List [Flights](/concepts/flights) the caller can see: Users can see Flights they have created. [Admins](/concepts/roles-and-access-control/) can see Flights they own as well as any Flight in the organization. Each Flight in the response includes its UUID, name, schedule, status, current version, and owner. Optionally filter by keywords matching the Flight name.

## Description

The `list_flights` tool returns Flight summary metadata, not version-specific content. Use [`get_flight`](../get-flight) with the returned `flight_id` to fetch source code, requirements, and config.

The corresponding SQL function is [`MD_LIST_FLIGHTS`](/sql-reference/motherduck-sql-reference/flights/md-list-flights).

## Input parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| `keywords` | string | No | Keywords to filter Flights by name (case-insensitive, all words must match). |
| `owner_only` | boolean | No | Restrict the listing to Flights you own. Meaningful for Admins, who see the whole organization's Flights by default; ignored for other users. |
| `limit` | integer | No | Max results to return (default: 50, max: 50). |
| `offset` | integer | No | Number of Flights to skip, for paging through results. |

## Output schema

```json
{
  "success": boolean,
  "flights": [
    {
      "flight_id": string,             // Flight UUID
      "flight_name": string,
      "created_at": string,            // ISO 8601
      "updated_at": string,            // ISO 8601
      "schedule_cron": string|null,    // Cron expression or null for on-demand
      "status": string,                // Flight status, for example ACTIVE
      "schedule_status": string|null,  // Schedule status, for example ACTIVE
      "current_version": number,
      "owner_name": string|null        // The user who owns the Flight
    }
  ],
  "count": number,
  "totalCount": number,
  "truncated": boolean,                // Present when results were capped
  "message": string,                   // Present when results were capped
  "error": string                      // On failure
}
```

## Example usage

```text
What Flights do I have?
```

The assistant calls the tool with no arguments. To filter:

```json
{ "keywords": "metrics" }
```

An Admin sees the whole organization's Flights by default, with `owner_name` identifying whose each one is. To view your own Flights, use the following to filter results:

```json
{ "owner_only": true }
```

## Related

- [`get_flight`](../get-flight) — Fetch a single Flight's content.
- [`MD_LIST_FLIGHTS`](/sql-reference/motherduck-sql-reference/flights/md-list-flights) — SQL equivalent.


---

## Docs feedback

MotherDuck accepts optional user-submitted feedback about this page at `GET https://motherduck.com/docs/api/feedback/agent`.
For agents and automated tools, feedback submission should be user-confirmed before sending.

URL-encode query parameter values and send a GET request:

```text
GET https://motherduck.com/docs/api/feedback/agent?page_path=%2Fsql-reference%2Fmcp%2Fflights%2Flist-flights%2F&page_title=list_flights&text=<url-encoded user feedback, max 2000 characters>
```

Optionally append `&source=<url-encoded interface identifier>` such as `claude.ai` or `chatgpt`.

`page_path` and `text` are required; `page_title` and `source` are optional. Responses: `200 {"feedback_id": "<uuid>"}`, `400` for malformed query parameters, and `429` when rate-limited.
