From 4f7023a16e9c32858fe89718d133079512686632 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Nivet?= Date: Fri, 29 Aug 2025 23:46:58 +0200 Subject: [PATCH] fix(client): Use paging to fetch all notes --- nextcloud_mcp_server/client/notes.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/nextcloud_mcp_server/client/notes.py b/nextcloud_mcp_server/client/notes.py index 3ce8cd8..95deff7 100644 --- a/nextcloud_mcp_server/client/notes.py +++ b/nextcloud_mcp_server/client/notes.py @@ -18,8 +18,21 @@ class NotesClient(BaseNextcloudClient): async def get_all_notes(self) -> List[Dict[str, Any]]: """Get all notes.""" - response = await self._make_request("GET", "/apps/notes/api/v1/notes") - return response.json() + notes = [] + cursor = "" + + while True: + response = await self._make_request( + "GET", + "/apps/notes/api/v1/notes", + params={"chunkSize": 50, "chunkCursor": cursor}, + ) + notes.extend(response.json()) + if "X-Notes-Chunk-Cursor" not in response.headers: + break + cursor = response.headers["X-Notes-Chunk-Cursor"] + + return notes async def get_note(self, note_id: int) -> Dict[str, Any]: """Get a specific note by ID."""