Cursors
Riipen’s MCP server uses the standard MCP cursor-based pagination model for list operations that may return large result sets.
A cursor is a string value that represents a position in a result set. When more results are available, Riipen includes a nextCursor value in the response. The client can then send that cursor back in the next request to retrieve the next page of results.
Clients should treat the cursor as an opaque token. This means the cursor should only be copied from the previous response into the next request. Clients should not attempt to parse, decode, modify, inspect, or generate cursor values.
Response format
When a paginated Riipen MCP operation has more results available, the response includes a nextCursor field.
Example response:
{"jsonrpc": "2.0", "id": "123", "result": { "tools": [ { "name": "riipen_example_tool", "description": "An example Riipen MCP tool." } ], "nextCursor": "eyJwYWdlIjogM30=" }}
In this example, the response includes the current page of results and a nextCursor value. The presence of nextCursor means the client can request another page.
The exact value of nextCursor is intentionally not meaningful to the client.
Request format
To retrieve the next page, send another request to the same MCP operation and include the cursor value in the request parameters.
Example request:
{"jsonrpc": "2.0", "id": "124", "method": "tools/list", "params": { "cursor": "eyJwYWdlIjogM30=" }}
Riipen will use the cursor to determine where to continue the result set.
End of results
Pagination is complete when the response does not include a nextCursor field.
Clients should treat a missing nextCursor as the end of the result set.
Example final response:
{"jsonrpc": "2.0", "id": "125", "result": { "tools": [ { "name": "riipen_final_example_tool", "description": "The final tool in this result set." } ] }}
Because this response does not include nextCursor, there are no more pages to request.
Empty string cursors
Clients should treat any provided cursor value as valid input for the next request, including an empty string.
Do not use truthiness checks such as “cursor is not empty” to determine whether pagination should continue. Instead, check whether the nextCursor field is present in the response.
Invalid cursors
If a client sends an invalid cursor, Riipen may return an MCP error indicating invalid request parameters.
When this happens, the client should restart pagination from the beginning of the list operation instead of trying to repair or reinterpret the cursor.
