MCP tools/list repeating a cursor: Claude Code 2.1.295 and Sume
Claude Code 2.1.295 stops asking a server for the same tools page up to 20 times. Sume's tools/list returns one page with no nextCursor, so it never loops.

Claude Code 2.1.295 (Oct 8) no longer asks an MCP server for the same page up to 20 times when the server keeps repeating a pagination cursor. Sume's hosted tools/list is not paginated: it returns { tools: [...] } in one response with no nextCursor, so this bug cannot happen against https://mcp.sume.com/mcp.
What was the bug?
A paginated MCP list answers with a cursor for the next page. A server that returns the same cursor again sends a client into a loop. Per the changelog, Claude Code used to request the same page up to 20 times; 2.1.295 stops that.
| Version | Date | Change |
|---|---|---|
| 2.1.295 | Oct 8 2026 | Servers that repeat a pagination cursor are no longer asked for the same page up to 20 times |
Does Sume paginate tools?
No. In the server source, the tools/list handler returns the whole list in one response and sets no cursor. The initialize reply reports listChanged: false, so there is no push for a changed list either. The list you see depends on the session: OAuth mcp:read only shows read-only tools, while mcp:write or an API key shows the full hosted set.
What if your own MCP server paginates?
Check three things before you blame the client:
- Each page returns a new
nextCursor, or none on the last page. - Cursors do not depend on a clock or a random value that changes between identical requests.
- The last page omits the cursor rather than returning an empty string.
How do you check the Sume tool list?
Call tools_list through your client and count the tools against the live list in MCP tools and gates. The docs say not to assume parity with the HTTP API, so use tools_list and tools_schema as the contract.
Sources
Related posts
More in Developers
- Meta Marketing API: GenAI features vs an uploaded Sume file
Meta's Ad Creative Generative AI Terms cover GenAI features reached through the Marketing API. A script that only uploads a rendered file is a different step.
- Move an OpenRouter-style video client to Sume: the 400s to expect
Sume /v1/videos matches the OpenRouter video shape, but size, provider.options and seed return 400. The differences table and a Python asyncio polling client.
- MiniMax H3 disk space: 108 GB for SGLang, 19.5 GiB for INT8
How much disk does MiniMax H3 need? 108 GB for the SGLang route, 61.73 GiB BF16 safetensors, 19.53 GiB INT8. Why the numbers differ and what to budget.
- MiniMax H3 on SGLang: the FSDP corruption warning and what to use
MiniMax's H3 guide warns that FSDP inference has reported data corruption; use TP plus Ulysses. The serve flags, the cross-node rule, one service per variant.
Written by Sume