# list_notifications (/docs/reference/mcp-tools/list_notifications)



{/* Generated by apps/docs/scripts/generate-mcp-pages.mjs — do not edit by hand. */}

List the inbox (unread / all / snoozed / archived), keyset paginated.

|                     |                      |
| ------------------- | -------------------- |
| Required permission | `work:read`          |
| Capability ID       | `notifications.list` |
| Destructive         | No                   |

## Parameters [#parameters]

| Parameter | Type                                         | Required | Notes |
| --------- | -------------------------------------------- | -------- | ----- |
| `state`   | `unread` \| `all` \| `snoozed` \| `archived` | no       |       |
| `cursor`  | string                                       | no       |       |
| `limit`   | integer                                      | no       |       |

## Input schema (JSON Schema) [#input-schema-json-schema]

```json
{
  "type": "object",
  "properties": {
    "state": {
      "type": "string",
      "enum": [
        "unread",
        "all",
        "snoozed",
        "archived"
      ],
      "default": "unread"
    },
    "cursor": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 0,
      "maximum": 200,
      "default": 50
    }
  },
  "additionalProperties": false
}
```

## Access control [#access-control]

A call succeeds only when the personal access token's scopes **and** the holder's role both allow `work:read` (effective permission = scope ∩ role, default-deny). The tool runs inside the token owner's organization — tenancy is never a parameter.
