fastmcp/docs/python-sdk/fastmcp-utilities-pagination.mdx
Jeremiah Lowin 9b248a15b3
Update repository references for transfer to prefecthq (#3207)
* Update repository references from jlowin/fastmcp to prefecthq/fastmcp

* Retrigger CI after repo transfer

* chore: Update SDK documentation

* Only run deep triage on bug issues for jlowin

---------

Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-18 10:33:56 -05:00

66 lines
1.9 KiB
Text

---
title: pagination
sidebarTitle: pagination
---
# `fastmcp.utilities.pagination`
Pagination utilities for MCP list operations.
## Functions
### `paginate_sequence` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/utilities/pagination.py#L50" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
```python
paginate_sequence(items: Sequence[T], cursor: str | None, page_size: int) -> tuple[list[T], str | None]
```
Paginate a sequence of items.
**Args:**
- `items`: The full sequence to paginate.
- `cursor`: Optional cursor from a previous request. None for first page.
- `page_size`: Maximum number of items per page.
**Returns:**
- Tuple of (page_items, next_cursor). next_cursor is None if no more pages.
**Raises:**
- `ValueError`: If the cursor is invalid.
## Classes
### `CursorState` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/utilities/pagination.py#L16" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
Internal representation of pagination cursor state.
The cursor encodes the offset into the result set. This is opaque to clients
per the MCP spec - they should not parse or modify cursors.
**Methods:**
#### `encode` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/utilities/pagination.py#L25" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
```python
encode(self) -> str
```
Encode cursor state to an opaque string.
#### `decode` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/utilities/pagination.py#L31" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
```python
decode(cls, cursor: str) -> CursorState
```
Decode cursor from an opaque string.
**Raises:**
- `ValueError`: If the cursor is invalid or malformed.