*MCP › Reference › Operations › Staff*

# List staff

> Returns the staff with the MINIMUM projection needed to plan: who exists, what type they are, whether they drive and whether they appear in the planner.

It does NOT include contact, identity, employment, banking or platform access data, and that is deliberate: to write to someone there is the `contacts` resource, with its own scope. Sorted by name.

TOOL `filmo_staff_list` · `staff:read` · 120/min · Server annotation: Read-only · Server annotation: Idempotent

## Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | integer | No | Page size (1-500). Defaults to 50. = `50` |
| `cursor` | string | No | Opaque cursor of the page to return. Pass the value of `pagination.nextCursor` from the previous response; treat it as opaque. |
| `q` | string | No | Free-text search on the name. |
| `sort` | string | No | Sort order: up to 3 comma-separated fields, each with a leading "-" for descending (e.g. "-updatedAt,name"). Sortable fields: createdAt, updatedAt, fullName, staffType. Defaults to "fullName". Ties are broken by id, so the order is stable across pages, and a cursor is bound to the sort it was issued with. |
| `staffType` | string | No | Filter by staff member type. `employee`, `freelancer`, `contractor` |
| `staffTypes` | string[] | No | Filter by staffType, as a list: repeat the parameter or separate the values with commas. Accepts up to 50 values and returns whatever matches any of them. `employee`, `freelancer`, `contractor` |
| `hasDrivingLicense` | boolean | No | Filter by driving licence, useful for assigning transport. |
| `includeTotal` | boolean | No | Set it to true to include `pagination.total`, the number of results that match the filters across all pages. Off by default. = `false` |
| `dateFilters` | object | No | Date filters by field. A bare day (YYYY-MM-DD) is read in the business timezone; an ISO 8601 instant with offset is applied as is by gte, lte, gt and lt, while on widens it to the whole business day that contains it. Fields: created, updated. |
| `dateFilters.created` | object | No |  |
| `dateFilters.created.gte` | string | No | From this day or instant, inclusive. |
| `dateFilters.created.lte` | string | No | Up to this day or instant, inclusive. |
| `dateFilters.created.gt` | string | No | Strictly after; a bare day means after the end of that day. |
| `dateFilters.created.lt` | string | No | Strictly before; a bare day means before the start of that day. |
| `dateFilters.created.on` | string | No | Exactly that day; an instant means the whole business day that contains it. |
| `dateFilters.updated` | object | No |  |
| `dateFilters.updated.gte` | string | No | From this day or instant, inclusive. |
| `dateFilters.updated.lte` | string | No | Up to this day or instant, inclusive. |
| `dateFilters.updated.gt` | string | No | Strictly after; a bare day means after the end of that day. |
| `dateFilters.updated.lt` | string | No | Strictly before; a bare day means before the start of that day. |
| `dateFilters.updated.on` | string | No | Exactly that day; an instant means the whole business day that contains it. |

## Result

On success the result carries `structuredContent` with `data` and `meta`. These are the attributes of `data`.

| Name | Type | Description |
| --- | --- | --- |
| `id` | string | Unique staff member identifier. |
| `fullName` | string | Full name. |
| `staffType` | string | Staff member type. `employee`, `freelancer`, `contractor` |
| `collectionId` | string | Identifier of the collection it belongs to; null if it is in none. |
| `collectionName` | string | Collection path it belongs to; null if not applicable. |
| `hasDrivingLicense` | boolean | true if they hold a driving licence. |
| `showInPlanner` | boolean | true if they appear in the planner of the account. |
| `externalRef` | string | External reference for matching with third-party systems; null if it has none. |
| `createdAt` | string<date-time> | Creation date in ISO 8601 UTC; null if not recorded. |
| `updatedAt` | string<date-time> | Last modification date in ISO 8601 UTC; null if not recorded. |

*Call · filmo_staff_list*

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_staff_list",
    "arguments": {
      "limit": 20
    }
  }
}
```

*Result (generated from the schema)*

```json
{
  "structuredContent": {
    "data": [
      {
        "id": "id_8f2a1c",
        "fullName": "Example",
        "staffType": "employee",
        "collectionId": "coll_8f2a1c",
        "collectionName": "Example",
        "hasDrivingLicense": true,
        "showInPlanner": true,
        "externalRef": "<externalRef>",
        "createdAt": "2026-09-01T08:00:00Z",
        "updatedAt": "2026-09-01T08:00:00Z"
      }
    ],
    "pagination": {
      "nextCursor": "eyJvIjo1MH0",
      "hasMore": true,
      "total": 1
    },
    "meta": {
      "rateLimit": {
        "limit": 120,
        "remaining": 119,
        "reset": 42
      }
    }
  }
}
```

## The same operation by REST

This tool runs [`GET /api/v1/staff`](https://docs.filmo.io/rest-api/endpoint-reference/staff/list-staff).

---

Canonical URL: https://docs.filmo.io/mcp/tools/staff/filmo-staff-list  
Last updated: 2026-10-25